// Возвращает содержимое ответа 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 = Новый Соответствие;
ЗаголовкиHTTP.Вставить("Referer", "a href="http://some_site.com/" )"="">http://some_site.com/");
СодержимоеАдреса = ПолучитьСодержимоеВебАдреса("
При разработке очередного обмена с интернет магазином через API столкнулисть что сайт возвращает ответ в виде:
из кода ясно что это JSON и используя код ПрочитатьJSON
В переменной ДанныеЛога
В результате получилась функция с 2-мя вариантами возрата, в зависимости от того как нужно
На просторах интернета была найдена еще одна функция:
Всем доброго дня.
Прошу помощи.
Конфигурация - Бухгалтерия для Беларуси, редакция 2.1 Локализация для Республики Беларусь (2.1.41.3)
Есть задача - ограничить доступ пользователей в 1С к определённым организациям. То есть чтобы определённые пользователи не видели определённые организации и документы этих организация (реализация, поступление и все остальные).
База на MSQL Server.
Само ограничение не работает просто если включить "Ограничить доступ на уровне записей". Сначала нужно включить Константу "Использовать группы пользователей", добавить создать нового пользователя в отдельной группе, присвоить ему права.
Затем включить "Ограничить доступ на уровне записей" и настроить ограничения через "Группы доступа".
Проблема в том, что, если ограничить для пользователя какую-либо организацию - он всё равно
Подскажите пожалуйста, как сделать так, чтобы сама организация тоже не была видна.
Всем известно, для большей гарантии восстановления важных данных, необходимо копировать архивы в несколько мест хранения. Отдельный диск может помочь в случае порчи основного, но в случае если устройство
На сегодня облачные хранилища часто заменяют физические носители информации. Как правило, облачные хранилища предоставляют бесплатно от 2 до 15 ГБ дискового пространства, кому-то этого
ПО Effector Saver позволяет настроить периодичное резервное копирование информационной базы 1С в облако. И задать количество хранения файлов резервной копии, отдельно для каждого хранилища.
Таким образом, вы можете установить удобное время для бэкапа и управлять количеством копий базы данных.
Далее в статье рассмотрим как с помощью Effector Saver настроить бэкап информационной базы 1С:Предприятия в облако Яндекс.Диск.
На компьютере где производится настройка, должна быть установлена программа 1С:Предприятие и подключена необходимая база данных.
Скачиваем программу с оф. сайта Скачать Effector Saver
Запускаем файл инсталляции Мастера установки. На последнем этапе Мастера установки, соглашаемся с запуском программы и нажимаем «Завершить».
На панели инструментов нажимаем «Задачи» «Добавить задачу».
Выбираем тип новой задачи «Резервное копирование 1С:Предприятие 8», нажмите «Создать».
Во вкладке «Подключение к 1С» нажимаем «Выбрать базу 1С:Предприятия из списка и заполнить основные параметры».
В открывшемся окне «Выбор базы 1С:Предприятия» указываем необходимую базу и нажимаем «Выбрать».
Поля «Наименование:», «Исполняемый файл:», «Вариант базы:» и «Каталог базы:» автоматически заполнятся в соответствии с выбранной базой.
Необходимо только заполнить имя и пароль пользователя указанной базы, под которым
Если используете программную лицензию 1С, то установите флаг «Использовать программную лицензию 1С».
На вкладке «Отключение пользователей», устанавливаем флаг «Завершить работу пользователей 1С:Предприятия».
В Effector Saver доступно два варианта завершения работы пользователей:
- если у вас файловой база выберите «Вызвать штатное завершение работы пользователей»;
- если у вас клиент-серверная база выберите «Завершить сеансы на сервер 1С:Предприятие». Если в кластере 1С:Предприятия создан пользователь «администратор кластера», установите флажок «Кластер требует авторизации». Заполните поля: «Имя администратора кластера:» и «Пароль администратора кластера:». Если порт подключения к Агенту сервера отличный от стандартного, установите флажок «Используется нестандартный порт агента сервера». Заполните поле «Порт агента сервера:» (по умолчанию 1540).
На следующей вкладке «Хранилище архивов» указываем, где следует хранить создаваемые архивы.
Для добавления нового хранилища архива, нажимаем на кнопку «+». В открывшемся окне, нажимаем «Создать новое хранилище».
Из выпадающего списка, выберите, «Яндекс.Диск». Доступны и другие варианты: Локальная/сетевая папка, FTP/FTPS, WebDAV, Google Диск, Dropbox, OneDrive, Облако Mail.Ru.
Поле «Название:», оставим как есть. Нажимаем «Авторизация».
Откроется окно браузера, в котором необходимо ввести логин и пароль для доступа к Яндекс.Диску. Затем нажмите «Разрешить», после этого окно браузера автоматически закроется.
Далее укажем папку для хранения бэкапа базы 1С, нажимаем на кнопку с тремя точками и выбираем папку, (если папки нет, создайте ее).
Для управления количеством копий базы данных, устанавливаем флаг «Автоматически удалять устаревшие резервные копии», и заполняем параметр «Хранить количество копий», например 3. Нажимаем «ОК».
На следующей вкладке назначим расписание. В поле «Назначить задание:», выберите нужный интервал времении заполните параметр «Время начала:».
В верхней части окна настройки устанавливаем флажок «Выполнять задачу по расписанию» и нажимаем кнопку «Сохранить».
Резервное копирование информационной базы 1С на Яндекс.Диск
Всем известно, для большей гарантии восстановления важных данных, необходимо копировать архивы в несколько мест хранения. Отдельный диск может помочь в случае порчи основного, но в случае если устройство
На сегодня облачные хранилища часто заменяют физические носители информации. Как правило, облачные хранилища предоставляют бесплатно от 2 до 15 ГБ дискового пространства, кому-то этого
ПО Effector Saver позволяет настроить периодичное резервное копирование информационной базы 1С в облако. И задать количество хранения файлов резервной копии, отдельно для каждого хранилища.
Таким образом, вы можете установить удобное время для бэкапа и управлять количеством копий базы данных.
Далее в статье рассмотрим как с помощью Effector Saver настроить бэкап информационной базы 1С:Предприятия в облако Яндекс.Диск.
На компьютере где производится настройка, должна быть установлена программа 1С:Предприятие и подключена необходимая база данных.
Скачиваем программу с оф. сайта Скачать Effector Saver
Запускаем файл инсталляции Мастера установки. На последнем этапе Мастера установки, соглашаемся с запуском программы и нажимаем «Завершить».
На панели инструментов нажимаем «Задачи» & «Добавить задачу».
Выбираем тип новой задачи «Резервное копирование 1С:Предприятие 8», нажмите «Создать».
Во вкладке «Подключение к 1С» нажимаем «Выбрать базу 1С:Предприятия из списка и заполнить основные параметры».
В открывшемся окне «Выбор базы 1С:Предприятия» указываем необходимую базу и нажимаем «Выбрать».
Поля «Наименование:», «Исполняемый файл:», «Вариант базы:» и «Каталог базы:» автоматически заполнятся в соответствии с выбранной базой.
Необходимо только заполнить имя и пароль пользователя указанной базы, под которым
Если используете программную лицензию 1С, то установите флаг «Использовать программную лицензию 1С».
На вкладке «Отключение пользователей», устанавливаем флаг «Завершить работу пользователей 1С:Предприятия».
В Effector Saver доступно два варианта завершения работы пользователей:
- если у вас файловой база выберите «Вызвать штатное завершение работы пользователей»;
- если у вас клиент-серверная база выберите «Завершить сеансы на сервер 1С:Предприятие». Если в кластере 1С:Предприятия создан пользователь «администратор кластера», установите флажок «Кластер требует авторизации». Заполните поля: «Имя администратора кластера:» и «Пароль администратора кластера:». Если порт подключения к Агенту сервера отличный от стандартного, установите флажок «Используется нестандартный порт агента сервера». Заполните поле «Порт агента сервера:» (по умолчанию 1540).
На следующей вкладке «Хранилище архивов» указываем, где следует хранить создаваемые архивы.
Для добавления нового хранилища архива, нажимаем на кнопку «+». В открывшемся окне, нажимаем «Создать новое хранилище».
Из выпадающего списка, выберите, «Яндекс.Диск». Доступны и другие варианты: Локальная/сетевая папка, FTP/FTPS, WebDAV, Google Диск, Dropbox, OneDrive, Облако Mail.Ru.
Поле «Название:», оставим как есть. Нажимаем «Авторизация».
Откроется окно браузера, в котором необходимо ввести логин и пароль для доступа к Яндекс.Диску. Затем нажмите «Разрешить», после этого окно браузера автоматически закроется.
Далее укажем папку для хранения бэкапа базы 1С, нажимаем на кнопку с тремя точками и выбираем папку, (если папки нет, создайте ее).
Для управления количеством копий базы данных, устанавливаем флаг «Автоматически удалять устаревшие резервные копии», и заполняем параметр «Хранить количество копий», например 3. Нажимаем «ОК».
На следующей вкладке назначим расписание. В поле «Назначить задание:», выберите нужный интервал времени и заполните параметр «Время начала:».
В верхней части окна настройки устанавливаем флажок «Выполнять задачу по расписанию» и нажимаем кнопку «Сохранить».
Резервное копирование информационной базы 1С на Яндекс.Диск
Часто клиенты просят сделать автоматическую отправку счетов или отчетов на электронную почту, ниже приведены примеры кода для разных версий 1С:
С версиями 8.2 сложнее, так как все почтовые сервисы перешли на SSL, а медоты:
появились только в 8.3.1 , остается использовать stunnel или CDO:
Через stunnel в 1С код, менять не нужно, только установить программу и изменить настройки подключения к почтовому ящику
Скачиваем stunnel c официального сайта (stunnel.org) и запускаем инсталятор, жмем yes при установке спросит страну и ваши данные, это нужно для создания сертификата на вашем компьютере.
После запуска в трее появится его иконка, правой клавишей и редактировать edit configuration
В блокноте откроется файл настроек, там
Сохраняем файл и делаем Reload configuration
В настройка 1С меняем порты для работы
gmail
pop3 10110
imap 10143
smtp 10025
yandex
pop3 20110
imap 20143
smtp 20025
pop3 30110
imap 30143
smtp 30025
Если в коде прописано, то:
Все, можно отправлять и проверять работу через консоль Show log window в меню
P.S. Почтовый ящик в примерах не рабочий, как пример
При работе с документами в 1С очень часто возникает необходимость просматривать их движения по регистрам. И при работе с обычными формами в режиме толстого клиента никаких проблем не возникало. Кнопка Перейти и далее можно выбрать по какому регистру будем смотреть движения или сформировать отчет о движениях документа по всем регистрам.
Но когда в первый раз сталкиваешься с такой необходимостью в управляемом приложении, то оказывается, что не все так просто. И на первый взгляд кажется, что это вообще невозможно, т.к. в меню никаких подходящих команд обнаружить не удается. Конечно же сразу приходит в голову вариант воспользоваться консолью запросов. И этот вариант вполне рабочий. Правда постоянно писать запросы для выборки движений по каждому конкретному документу не очень удобно.
И тем не менее с помощью определенных настроек мы можем добиться нашей цели и переходить к движениям регистров непосредственно из документа. Рассмотрим это на примере демо версии конфигурации ЗУП 3.1.
Итак, откроем любой документ Начисление зарплаты и взносов. В Шапке документа нет кнопки ПЕРЕЙТИ и нет ссылок на регистры движений, добавим их: выберем пункт меню Вид – Настройка панели навигации формы
В открывшемся окне выберем регистры, движения которых нам надо видеть и перенесем их в правую панель
В результате этих манипуляций шапка документа
И теперь, щелкнув по этим ссылкам, можно просматривать движения документа.
Периодически возникает сообщение "Обнаружено неправомерное использование данного программного продукта". Что делать и как убрать это сообщение?
Сообщение о неправомерном использовании появляется в конфигурации, если при подключении к интернет-поддержке указан логин, у которого не выполняются условия доступа к обновлениям этой конфигурации, например:
Способы решения:
На портале 1С:ИТС у вас должна быть зарегистрирована текущая программа 1C (в коробке с программой белый конверт с пин-кодом для регистрации) и оформлен договор ИТС (Проф или Техно)
Далее по пунктам:
1. Для проверки регистрации программы на Портале 1С:ИТС, перейдите по пунктам меню "Администрирование->Интернет поддержка пользователей" В секции "Настройки Интернет-поддержки пользователей"
2. Если нажать на Логин, то откроется Портал 1С:ИТС, страница личного кабинета, где можно увидеть список зарегистрированных программных продуктов 1С. Если он пуст, тогда, возможно, ваши программы 1С зарегистрированы на другой логин или еще не зарегистрированы!
Для проверки регистрации договора ИТС можно нажать на ссылку "Договоры" на той же странице слева сверху в меню.
Если зарегистрированный договор ИТС есть, то он должен отображаться под надписью "Действующие и будущие договоры 1С:ИТС", например так:
Если список договоров пуст, то наиболее вероятной причиной надписи "У Вас нет действующих или будущих договоров 1С:ИТС" является использование учетной записи, в которой не зарегистрированы программы 1С, включенные в договор 1С:ИТС. Зарегистрируйте договор ИТС через партнера 1С или подключите интернет поддержку с действующим договором:
Для входа в программе под другой учетной записью, нужно отключиться от текущей интернет-поддержки, нажав кнопку "Отключить":
После этого нажмите кнопку "Подключить" и в появившемся окне введите логин и пароль от правильной учетной записи. После данных действий сообщение "Обнаружено неправомерное использование данного программного продукта" должно перестать появляться.
Если проблема не ушла, обращайтесь, мы обязательно Вам поможем! - Наши услуги по обслуживанию 1С
Иногда возникает необходимость обработать фотографии в 1С автоматически, уменьшить вес картинок в килобайтах, за счет удаления из файла не нужной технической информации и сглаживания цветов, или изменить размер, уменьшить картинку пропорционально задав максимальный размер по ширине или высоте.В этом случае можно:1) установить специальные библиотеки в операционной системе для работы с графикой, н-р GFLAx и подключать их как com-объекты2) использовать api сервисов, таких как optipic.io.
Рассмотрим оба варианта:1) Использование GFLAxСкачиваем и устанавливаем библиотеку GFLAx, скачать можно здесь https://www.xnview.com/en/#downloads
Далее её надо зарегистрировать в Windows. Для этого запускаем CMD.exe с правами администратора и набираем: regsrv32 "путь_к_DLL\GFLAx.dll"Далее уже в программе, для пропорционального изменения размера файла до максимального размера в 500 пикселей можно вставить такой код:
Данный способ требует специальных настроек операционной системы, навыков системного администрирования и данный способ не проводит полноценную оптимизацию картинки.Кроме того, на компьютере или сервере, где производиться оптимизация эта библиотека должна быть установлена.2) Использование сервиса optipic.ioПодобные сервисы обычно платные, но стоимость использования не высокая, а качество и гибкость существенно выше.
Преимущества использования сервиса optipic.io в проектах 1С:
Использование сервиса можно легко встроить в любой свой проект на 1С. Для этого можно добавить себе функцию, в которую передавать имя файла с исходной картинкой и параметры оптимизации. А в качестве ответа получить имя файла уже оптимизированного сервисом.
Пример такой функции для 1C8:
И далее в коде обращаться к данной функции, н-р так
Effector saver - это специализированная программа для автоматического резервного копирования 1С:Предприятия.Программа позволяет создавать резервные копии баз данных 1С:Предприятия, баз Microsoft SQL или PostgreSQL серверов, пользовательских папок и файлов.Сохранять же резервные копии можно на внешние, сетевые и локальные диски, FTP сервер.Effector saver вмещает большое количество расширенных функций, которые значительно упрощают резервное копирование: планирование и автоматический запуск задач, удобное заполнение настроек и тестирование баз 1С, автоотключение пользователей 1С:Предприятия 8.
Наша цель - создание ежедневных архивов. На компьютере где производится настройка, должна быть установлена программа 1С:Предприятие и подключена необходимая база данных.Скачаем программу с официального сайта https://efsaver.ru/download.htmlЗапускаем файл инсталляции Мастера установки.
На последнем этапе Мастера установки, соглашаемся с запуском программы и нажимаем "Завершить".
Настроим параметры автозапуска "Агента". Для этого в Панели инструментов выбераем "Сервис" & "Параметры программы" & "Параметры запуска".
Выбираем "Запускать агент как приложение" (выбор зависит от установки программы на рабочую станцию или на сервер).
Нажимаем кнопку "Запустить агента" - "Сохранить".
Создаем задачу резервного копирования
Выбираем "Задачи" - "Добавить задачу".
Выбираем чем архивироватьПоле "Наименование" оставим по умолчанию, оно автоматически изменится на имя выбранной базы 1С.
Из выпадающего списка "Вид задачи" выбираем "Архивирование средствами 1С:Предприятие 8".
Указываем базу для архивацииВ закладке "Подключение" нажимаем "Выбрать и заполнить". В открывшемся окне "Выбор базы 1С:Предприятия" указываем нужную нам базу и нажимаем "Выбрать".
Поля "Исполняемый файл", "Вариант базы" и "Каталог базы" автоматически заполнятся значениями в соответствии с выбранной базой или же их можно заполнить вручную.
Заполняем имя и пароль пользователя выбранной базы, под которым
Если для защиты 1С используется USB ключ, то не нужно устанавливать флаг "Использовать программную лицензию 1С".
Указываем место размещения архивированной базыПереходим на вкладку "Настройка архивов". Указываем каталог для хранения архивов: нажимаем на кнопку с тремя точками в конце поля "Каталог архивов" и выбераем в диалоговом окне каталог, или, если потребуется, создайте новый каталог с помощью кнопки "Создать папку".
В параметре "Количество одновременно хранимых архивов" установим 10. Effector saver
Выбираем когда производить архивированиеЧтобы установить время выполнения задачи, переходим на вкладку "Расписание".
В нашем примере резервное копирование производится на рабочей станции, поэтому выбираем в поле "Назначить задание", пункт "Ежедневно после загрузки системы".
Если необходимо чтобы между стартом программы и архивированием прошла небольшая пауза, установите "Время задержки" в формате "чч:мм".
В поле "Время начала" установите произвольное время в формате "чч:мм" в тот период, когда последний пользователь прекращает работу с базой и до момента начала работы первого пользователя. Например ночь, 01:00.
Активация и сохранение настройки задачиУстанавливаем флаг "Выполнять задачу" в верхней части окна настройки.
Жмём кнопку "Сохранить".{}{}Проверка работы задачиПосле выбора и настройки всех параметров резервного копирования, приступаем непосредственно к проведению самого копирования.
Удостоверьтесь, что пользователи вышли из базы 1С:Предприятия.
В главном окне "Менеджера" кликнув мышкой делаем активной строку со своей задачей.
В меню "Задачи" нажимаем "Выполнить сейчас" и ждём, пока закончится процесс. Ранее мы запустили "Агент", поэтому задачаВсё, готово. Резервная копия успешно создана.
Просмотр результатов работы задачиПосле завершения процесса резервного копирования во вкладке "Журнал" мы увидим дату и результат выполнения задачи по созданию бэкапа.
Для подробного просмотра результата выполнения задачи, выберите в меню "Журнал" - "Открыть запись", или сделайте двойной клик мышкой по записи выполнения задачи.
Во вкладке "Файлы" можно просмотреть список файлов бэкапа, которые были созданы в результате выполнения задачи.
Для просмотра файла бэкапа, выбираем в меню "Файлы" - "Открыть файл", или правый клик мыши по записи выполнения задачи - "Открыть файл".{}{}{}{}{}{}Таким вот образом, за считанные минуты, можно создать автоматическую задачу резервного копирования 1С:Предприятия, и тем самым обезопасить себя от потери важных данных. С резервными копиями, сбой жесткого диска или непреднамеренное удаление пройдет менее болезненно.
{}{}Любой отчет и обработку можно подключить пользователям как дополнительные отчеты или обработки, вот например пункт в БП - Банк:
Добавление происходит через
далее Дополнительные отчеты и обработки, в списке нажмите Создать и Выберите Файл отчета/обработки:
Перед добавлением файл нужно подготовить, дописать в модуль объекта код подключения:
Для обработок код:
Для отчетов и печатных форм меняйте параметр Вид:
Возможные значения этого поля приведу в виде таблицы
ПечатнаяФорма | В меню "Печать" на форме объекта или списка | epf |
ЗаполнениеОбъекта | В меню "Заполнить" на форме объекта или списка | epf |
СозданиеСвязанныхОбъектов | В меню "Создать на основании" - "Создание связанных объектов.." на форме объекта или списка | epf |
Отчет | В меню "Отчеты" на форме объекта или списка | erf |
ДополнительнаяОбработка | В списке соответствующих подсистем в меню "Сервис" - "Дополнительные обработки" | epf |
ДополнительныйОтчет | В списке соответствующих подсистем в меню "Сервис" - "Дополнительные отчеты" | erf |
Это поле может принимать одно из значений, возвращаемых функциями в типовых конфигурациях:
ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработки<Вид>(). Например, для вида "ПечатнаяФорма" есть функция ВидОбработкиПечатнаяФорма().
Один из самый простых сервисов для работы с смс.
Сама отправка смс, через http, выглядит вот так
https://sms.ru/sms/send?api_id=ВАШ_АПИ_КЛЮЧ&to=Номер1,Номер2&msg=hello+world&json=1 [/pre]
Для примера , у меня
будет цикл по запросу, который отправляет заранее заданный текст из справочника, клиентам.В нем у нас есть 2 объекта.
1) HTTP соединения
2) HTTP Запрос
В запрос кидаем сформированную строку, в которой есть
1) API ключ - записан в константы
2) Текст, из справочника (с заменой)
3) номер телефона из заказа (у кого откуда )
4) конец строки JSON= 1 , означает получение ответа от сайта , о успешной или не успешной отправке смс с кодами авторизации/отправки в формате JSON (Разбор JSON отдельная тема)
В запросе, указываем адрес который идет после sms.ru, начиная со слэша!
В соединении, если httpS , не указываем изначально , какой это протокол, указать порт и создать объект защищенного соединения.
В остальном, все как в коде, в любом виде =)
Всем доброго дня. Суть проблемы. В бухгалтерии стоит 1с8 . Нужно дописать модуль, который
На одном проекте потребовалось получать координаты выделенной области на яндекс карте, после долгих изучений получилось следующее:
Вид Формы: На карте выделяете объект, нажимаете кнопку Получить координаты выделенной области и заполняется таблица координат
Код инициализации карты и обработчик кнопки получения координат:
Макет
В версии 8.3.9.2170 была усилена безопасность - теперь система запрашивает подтверждение на запуск внешних обработок, расширений и прочее. Видимо после трояна: Внимание! Первый троян для 1С -запускающий шифровальщика-вымогателя
Реализован механизм защиты от опасных действий. При выполнении потенциально опасного действия система выдает предупреждение, содержащее информацию о выполняемом действии и потенциальной опасности этого действия. К потенциально опасным действиям относятся:
Пользователь имеет возможность разрешить или отклонить потенциально опасное действие. Если действие разрешено, в ряде случаев может потребоваться повторно выполнить разрешенное действие.
Сообщение выглядит так:
Предупреждение безопасности
Открывается "" из файла " C:\.......epf". Рекомендуется обращать внимание на источник, из которого был получен данный файл. Если с источником нет договоренности о разработке дополнительных модулей, или есть сомнения в содержимом файла, то его не рекомендуется открывать, поскольку это может нанести вред компьютеру и данным. Разрешить открывать данный файл. ДА, НЕТ
Решение:
В конфигураторе в свойствах пользователя ИБ убрать флажок "Защита от опасных действий".
Из документации: Отключение механизма защиты от опасных действий
В ряде случае необходимо отключить механизм защиты от опасных действий. Для этого можно воспользоваться следующими возможностями:
1. Выключить флажок Защита от опасных действий (ЗащитаОтОпасныхДействий) в свойствах конкретного пользователя. Это отключит защиту для этого пользователя.
2. Воспользоваться параметром ЗащитаОтОпасныхДействий методов Подключить() менеджеров внешних обработок (отчетов). В этом случае имеется возможность загрузить внешнюю обработку (отчет) без запросов пользователя.
3. Воспользоваться свойством ЗащитаОтОпасныхДействий объекта РасширениеКонфигурации перед вызовом метода Записать() этого объекта.
4. Воспользоваться параметром DisableUnsafeActionProtection файла conf.cfg. В этом случае механизм защиты от опасных действий
Отключение защиты от опасных действий выполняется по следующим правилам (в указанном порядке):
1. Защита считается отключенной, если у текущего пользователя сброшен флажок Защита от опасных действий.
2. Защита считается отключенной, если строка соединения с информационной базой удовлетворяет одному из шаблонов, указанных в параметре DisableUnsafeActionProtection файла conf.cfg.
3. Если внешняя обработка (отчет) подключается с явным образом отключенной защитой с помощью параметра ЗащитаОтОпасныхДействий.
4. Если защита явным образом отключена с помощью свойства расширения ЗащитаОтОпасныхДействий.