Скачать обработку 1С для слия
В основе обработки лежит платформенный метод:
СкопироватьЖурналРегистрации(<ИмяВходногоФайла>, <ИмяВыходногоФайла>, <Отбор>)[/pre]
После обновле
Произошла ошибка при работе с SMTP. Код ошибки: 27 (Ошибка установки защищенного SSL/TLS соедине
Произошла ошибка при работе с IMAP ...
Это ошибка1С https://bugboard.v8.1c.ru/error/000142347
Описа
При использова
Произошла ошибка соедине
Способ обхода:
В conf.cfg добавить опцию IgnoreInternetMailServerCertificateVerificationList:
В баг репорте ошибка описана для почты gmail, но у нас свой почтовый сервер и ошибка та же самая, и попутно было обнаружено, что и с mail.ru такая же есть ошибка, а вот Yandex.ru ошибку не дает.
Файл conf.cfg находится в папке C:\Program Files\1cv8\conf (для 64 платформы).
Сделайте запись по примеру выше. только заме
// Возвращает содержимое ответа HTTP-сервера, полученного методом GET, в виде строки или двоичных данных
// ** Coded by Sergey (aka Porutchik) * 2014 http://forum.aeroion.ru/cat1.html //
// Параметры
// СерверПриемни к - - доменное имя сервера или полный адрес (url) запрашиваемой ссылки.
// Может включать протокол (http://, https://) и порт.
// АдресСтрани цы - - опционально. Адрес страни цы на сервере без протокола (http://, https://),
// доменного имени сервера (хоста) и порта.
// Если не указано, адрес страни цы будет извлечён из параметра СерверПриемни к
// ПараметрыСоединени я - - опционально. Структура, содержащая дополни тельные параметры для HTTPСоединени е.
// Назначени е ключей:
// Логин или Пользователь - Тип Строка - Имя пользователя на указанном сервере.
// Пароль - Тип Строка - Пароль пользователя на указанном сервере.
// Прокси - Тип ИнтернетПрокси - Прокси, используемый для соединени я с сервером.
// Таймаут - Тип Число - Таймаут осуществляемого соединени я и операций, в секундах. 0 - не устанавливать таймаут..
// ЗаголовкиHTTP - - опционально.
// Заголовки, которые будут отправлены на сервер в виде соответствия: "Заголовок" - "Значени е".
// Если указано, функция возвратит в программу заголовки HTTP-ответа с кодом состояни я в ключе StatusCode,
// имя файла в ключе FileName, url-кодированное имя в ключе EncodeFileName
// ПолучитьКакДвоичныеДанные - - опционально. Определяет, в каком виде получить содержимое ответа сервера
// По умолчани ю Ложь.
// ЗащищенноеСоединени е - - опционально. По умолчани ю Ложь.
// Если Истина, соединени е будет происходить по протоколу https://
//
// Возвращаемое значени е:
// , - содержимое ответа сервера, если ресурс найден по указанному адресу.
//
Функция ПолучитьСодержимоеВебАдреса(Знач СерверПриемни к, Знач АдресСтрани цы = "",
Знач ПараметрыСоединени я = Неопределено, ЗаголовкиHTTP = Неопределено,
Знач ПолучитьКакДвоичныеДанные = Ложь, Знач ЗащищенноеСоединени е = Ложь) Экспорт
Перем ИмяФайлаОтветаКодированное, ИмяФайлаОтвета, Порт, Логин, Пользователь, Пароль, Прокси, Таймаут;
Если Не Значени еЗаполнено(СерверПриемни к) Тогда Возврат Неопределено; КонецЕсли;
Если ТипЗнч(ЗаголовкиHTTP) Тип("Соответствие") Тогда ЗаголовкиHTTP = Новый Соответствие; КонецЕсли;
Если Найти(Нрег(СерверПриемни к), "https://") = 1 Тогда ЗащищенноеСоединени е = Истина; КонецЕсли;
Протокол = ?(Найти(Нрег(СерверПриемни к), "https://") = 1 ИЛИ ЗащищенноеСоединени е, "https://", "http://");
Если Лев(НРег(СерверПриемни к), СтрДлина(Протокол)) = Протокол Тогда
СерверПриемни к = Сред(СерверПриемни к, СтрДлина(Протокол) + 1);
КонецЕсли;
Если НЕ Значени еЗаполнено(АдресСтрани цы) Тогда
Позиция = Найти(СерверПриемни к, "/");
Если Позиция > 0 Тогда
АдресСтрани цы = Сред(СерверПриемни к, Позиция, СтрДлина(СерверПриемни к));
СерверПриемни к = Лев(СерверПриемни к, Позиция - 1);
Иначе
АдресСтрани цы = "/";
КонецЕсли;
КонецЕсли;
СерверПриемни к = СтрЗамени ть(СерверПриемни к, "/", "");
//Выделяем порт из доменного имени
ПозицияДвоеточия = Найти(СерверПриемни к, ":");
Если ПозицияДвоеточия > 0 Тогда
Порт = Число(Сред(СерверПриемни к, ПозицияДвоеточия + 1));
СерверПриемни к = Лев(СерверПриемни к, ПозицияДвоеточия - 1);
КонецЕсли;
Если ТипЗнч(ПараметрыСоединени я) = Тип("Структура") Тогда
Для каждого КлючЗначени е из ПараметрыСоединени я Цикл
Значени е = КлючЗначени е.Значени е; Выполни ть(КлючЗначени е.Ключ + " = Значени е;");
КонецЦикла;
Пользователь = ?(Значени еЗаполнено(Пользователь), Пользователь, Логин);
КонецЕсли;
НТТР = Новый HTTPСоединени е(СерверПриемни к, Порт, Пользователь, Пароль, Прокси, Таймаут,
?(ЗащищенноеСоединени е, Новый ЗащищенноеСоединени еOpenSSL(), Неопределено));
//Ответ от сервера получим в возвращаемом значени и типа HTTPОтвет
ОтветHTTP = НТТР.Получить(Новый HTTPЗапрос(АдресСтрани цы, ЗаголовкиHTTP)); //
ОшибкаЗапроса = (ОтветHTTP.КодСостояни я >= 400);
//После получени я ответа сервера необходимо проверить статус или код состояни я.
//http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.... //Если сервер вернул один из статусов переадресации
//301 Moved Permanently («перемещено навсегда») или 302 Moved Temporarily («перемещено временно»),
//то в этом случае можно попытаться перейти на ресурс, на который переадресовал сервер
Если ОтветHTTP.КодСостояни я = 301 или ОтветHTTP.КодСостояни я = 302 Тогда
Если ОтветHTTP.Заголовки.Количество() > 0 Тогда
//Адрес страни цы переадресации содержится в поле Location заголовка ответа
АдресСтрани цы = ОтветHTTP.Заголовки["Location"]; //
Если Значени еЗаполнено(АдресСтрани цы) Тогда
Если Найти(НРег(АдресСтрани цы), "http://") = 0 И Найти(НРег(АдресСтрани цы), "https://") = 0 Тогда
АдресСтрани цы = ?(Лев(АдресСтрани цы, 1) = "/", Сред(АдресСтрани цы, 2), АдресСтрани цы);
Если Найти(АдресСтрани цы, СерверПриемни к + "/") = 0 Тогда
АдресСтрани цы = Протокол + СерверПриемни к + ?(Значени еЗаполнено(Порт), ":" + Порт, "") + "/" + АдресСтрани цы;
КонецЕсли;
КонецЕсли;
//Если сервер вернул cookies (http://ru.wikipedia.org/wiki/HTTP_cookie, http://www.faqs.org/rfcs/rfc6265.html?#41;, //вставим их в заголовки для передачи на страни цу перехода
Куки = ОтветHTTP.Заголовки["Set-Cookie"];//
Если Значени еЗаполнено(Куки) Тогда ЗаголовкиHTTP.Вставить("Cookie", Куки); КонецЕсли;
//Рекурсивный вызов
Возврат ПолучитьСодержимоеВебАдреса(АдресСтрани цы, , , ЗаголовкиHTTP, ПолучитьКакДвоичныеДанные, ЗащищенноеСоединени е);//
КонецЕсли;
КонецЕсли;
ИначеЕсли ОтветHTTP.КодСостояни я >= 100 И ОтветHTTP.КодСостояни я 0 Тогда
ТипСодержимого = ОтветHTTP.Заголовки["Content-Type"];
//http://ru.wikipedia.org/wiki/Список_MIME-типов Если Найти(ТипСодержимого, "text/") = 1 ИЛИ Найти(ТипСодержимого, "/javascript")
ИЛИ Найти(ТипСодержимого, "+xml") ИЛИ Найти(ТипСодержимого, "/xml") 0 ИЛИ Найти(ТипСодержимого, "/json") 0 Тогда
ПолучитьКакДвоичныеДанные = Ложь;
ИначеЕсли Найти(ТипСодержимого, "image/") = 1 ИЛИ Найти(ТипСодержимого, "video/") = 1
ИЛИ Найти(ТипСодержимого, "application/") = 1 ИЛИ Найти(ТипСодержимого, "audio/") = 1 Тогда
//Если содержимое полученного ответа представляет собой изображени е, видео, приложени е,
//возвращаем двоичные данные, так как возвращать в виде строки не имеет смысла.
ПолучитьКакДвоичныеДанные = Истина;
КонецЕсли;
//Некоторые сервера возвращают в типе содержимого имя отданного файла, например image/png; name="Имя файла.png"
//или отдают в заголовке Content-Disposition: attachment; filename=Имя файла.png (http://www.http11.ru/post.php?post=2) Если ОтветHTTP.Заголовки["Content-Disposition"] Неопределено Тогда
ТипСодержимого = ОтветHTTP.Заголовки["Content-Disposition"];
КонецЕсли;
ТипСодержимого = СтрЗамени ть(СтрЗамени ть(ТипСодержимого, """", ""), "'", "");
//в ключе filename*=UTF-8'' содержится url-кодированное имя файла
ПозицияИмени Файла = Найти(ТипСодержимого, "filename*=UTF-8");
Если ПозицияИмени Файла 0 Тогда
ИмяФайлаОтветаКодированное = Сред(ТипСодержимого, ПозицияИмени Файла + СтрДлина("filename*=UTF-8"));
ПозицияДвоеточия = Найти(ИмяФайлаОтветаКодированное, ";");
Если ПозицияДвоеточия 0 Тогда
ИмяФайлаОтветаКодированное = Лев(ИмяФайлаОтветаКодированное, ПозицияДвоеточия - 1);
КонецЕсли;
КонецЕсли;
//в ключе filename= содержится обычное имя файла
ПозицияИмени Файла = Найти(ТипСодержимого, "name=");
Если ПозицияИмени Файла 0 Тогда
ИмяФайлаОтвета = Сред(ТипСодержимого, ПозицияИмени Файла + СтрДлина("name="));
ПозицияДвоеточия = Найти(ИмяФайлаОтвета, ";");
Если ПозицияДвоеточия 0 Тогда
ИмяФайлаОтвета = Лев(ИмяФайлаОтвета, ПозицияДвоеточия - 1);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
ЗаголовкиHTTP = ОтветHTTP.Заголовки;
//Добавляем в заголовки ответа код состояни я (ответа) HTTP-сервера и имя файла содержимого, если есть.
ЗаголовкиHTTP.Вставить("StatusCode", ОтветHTTP.КодСостояни я);
Если Значени еЗаполнено(ИмяФайлаОтвета) Тогда ЗаголовкиHTTP.Вставить("FileName", ИмяФайлаОтвета); КонецЕсли;
Если Значени еЗаполнено(ИмяФайлаОтветаКодированное) Тогда
ЗаголовкиHTTP.Вставить("EncodeFileName", ИмяФайлаОтветаКодированное);
КонецЕсли;
Если ОшибкаЗапроса ИЛИ НЕ ПолучитьКакДвоичныеДанные Тогда Возврат ОтветHTTP.ПолучитьТелоКакСтроку(); КонецЕсли;
Возврат ОтветHTTP.ПолучитьТелоКакДвоичныеДанные();
КонецФункции // ПолучитьСодержимоеВебАдреса()
//Источни к: http://forum.aeroion.ru/topic749.html[/pre]Примеры использова
// Получени я:ни е содержимого в виде строки//
СодержимоеАдреса = ПолучитьСодержимоеВебАдреса("ние содержимого в виде строки и с указани ем реферера HTTP referer
//
ЗаголовкиHTTP = Новый Соответствие;
ЗаголовкиHTTP.Вставить("Referer", "a href="http://some_site.com/" )"="">http://some_site.com/");
СодержимоеАдреса = ПолучитьСодержимоеВебАдреса("
Добрый день, коллеги!
Помогите, пожалуйста, разобраться с таким вопросом:В УТ 11.5 при формирова
Как сделать номер без префикса, чтобы он имел вид 08606/1, то есть слева убрать префикс орга
Заранее благодарю
При разработке очередного обмена с интернет магазином через API столкнулисть что сайт возвращает ответ в виде:
из кода ясно что это JSON и используя код ПрочитатьJSON
В переменной ДанныеЛога будет структура в виде
В результате получилась функция с 2-мя вариантами возрата, в зависимости от того как нужно
На просторах интернета была найдена еще одна функция:
Стандарт ISO 8601, составлен таким образом, что:
Конвертация даты из формата ISO8601 в дату 1С:
Часто требуется в табличной части установить отбор по нужному значе
Ниже приведены 2 примера:
Посмотрите более подробную статью Табличная часть ~ Как настроить отбор строк?
Всем доброго дня.
Прошу помощи.
Конфигурация - Бухгалтерия для Беларуси, редакция 2.1 Локализация для Республики Беларусь (2.1.41.3)
Есть задача - огра
База на MSQL Server.
Само огра
Затем включить "Огра
Проблема в том, что, если огра
Подскажите пожалуйста, как сделать так, чтобы сама орга
Как известно делать проводки по счетам-группам нельзя. Однако жизнь течет и после введе
Добрый день. УТ11 (11.4.13.46) Наша орга
Есть необходимость номенклатуру отмеченных строк в соответствии с количеством отправить на формироваменклатуры кодом?
Бывают случаи когда нужно восстановить доступ к 1С, но пароль утерян или прошлый программист уволился и прочее. Доступные методы в интернете не работают с версии 8.3.17, а некоторые методы полностью вычищают список пользователей. Данный метод позволит просто сме
Пункт 1. Открываем Microsoft Management Studios, выбираем нужную базу, нажимаем правой кнопкой мыши, выбираем Новый запрос (New Query)
Пункт 2. Вставляем запрос, который указан
EXEC sp_rename 'v8users', 'v8users_passwords_data'GOUPDATE ParamsSET FileName = 'users.usr_pd'WHERE FileName = 'users.usr'GO
DROP TABLE v8usersGO
create table v8users(ID binary(16) NOT NULL,Name nvarchar(64) NOT NULL,Descr nvarchar(128) NOT NULL,OSName nvarchar(128) NULL,Changed datetime2(0) NOT NULL,RolesID numeric(10,0) NOT NULL,Show binary(1) NOT NULL,Data varbinary(max) NOT NULL,EAuth binary(1) NULL,AdmRole binary(1) NULL,UsSprH numeric(10,0) NULL,PRIMARY KEY (ID));
Пункт 3. Открываем конфигуратор 1С (откроется сразу, без пароля и логина), не закрывая конфигуратор выполняем пункт 1 снова и вставляем запрос
DROP TABLE v8usersGOEXEC sp_rename 'v8users_passwords_data', 'v8users'GOUPDATE ParamsSET FileName = 'users.usr'WHERE FileName = 'users.usr_pd'GO
Пункт 4. Открываем в конфигураторе список пользователей (Адми
УПП 1.3. Делаю отчет с помощью У
РАЗНОСТЬДАТ(&ДатаНач,ДатаКон, ДЕНЬ) не подошло. Не видит параметров ДатаНач и ДатаКон.
Инсталяция:> dotnet add package sabatex.V1C77
или добавить через NUGET пакет sabatex.V1C77.
Добавить пространство имен: using sabatex.V1C77;
пример использованя: ---C#
static void Main(string[] args) { // создаём строку соединени я var connection = new sabatex.V1C77.Models.Connection { DataBasePath = @"C:\demo\1SBUKRD", // путь к базе PlatformType = sabatex.V1C77.Models.EPlatform1C.V77M, // платформа 1С77 UserName = "Админов", // имя пользователя UserPass = "" // пароль или пустая строка }; // соединяемся с 1С77 // using (var _1c77 = sabatex.V1C77.COMObject1C77.CreateConnection(connection)) { // перебор всего справочни ка Контрагенты var contr = _1c77.GlobalContext.CreateObject("Справочни к.Контрагенты"); if (contr.Method<double>("ВыбратьЭлементы") == 1) { while (contr.Method<double>("ПолучитьЭлемент")==1) { if (contr.Method<double>("ЭтоГруппа") == 1) continue; var name = contr.GetProperty<string>("Наименовани е"); Console.WriteLine(name); } } } } [/pre]
соответствие типов данных 1С7.7 и C#
возможно использовать bool для замены double(0- false;1 - true) тогда выраже