Сообщения

Сообщения за март, 2015

Список значений в составном типе. Задание типа значения списка.

Изображение
Составной тип - коварный тип! Задача : выполнять отбор в списке документов по контрагенту, используя виды отбора Равно, Не равно, В иерархии и В списке . Добавил реквизит формы ПоКонтрагенту , задал для него составной тип ( СправочникСсылка.Контрагент и СписокЗначений ) что бы можно было указывать множество контрагентов для вида отбора В списке . Решил проверить работу выбора контрагентов и ужаснулся, при выборе типа реквизита Список значений , добавление каждого контрагента в список происходило через выбор типа значения списка! 1. Выбор типа значения списка

Выполнение нескольких запросов к БД одним объектом Запрос

Допустим, разработчику требуется  выполнить несколько запросов к базе данных. Для этого он создает несколько объектов Запрос , указывает текст запроса и выполняет запрос, все просто и банально, но можно обойтись одним объектом Запрос . В этом случае требуется объединить тексты запросов в один запрос, используя пакеты запросов, и выполнить его.

Выполнение POST-запроса на примере Yandex.API

Изображение
Выполнение GET-запроса на примере Яндекс.API Выполнение POST-запроса по протоколу HTTPS на платформе 8.2 на примере Yandex.API Платформа 1С поддерживает выполнение HTTP-запросов методом POST. POST-запрос позволяет передать на веб-сервер большой объем данных, в отличии от GET-запроса, например, файл или строку большой длины. Передача значений параметров осуществляется их помещением в тело запроса. Обязательным заголовком для данного вида запроса является Content-Type , в котором указывается кодировка для веб-сервера, что бы он знал как обрабатывать (раскодировать) HTTP-запрос. Рассмотрим выполнение HTTP-запроса методом POST на примере сервиса Яндекс.Геокодер. В запросе мы будем передавать через параметр  geocode  название географического объекта, в ответ нам будут приходить сведения об этом объекте (координаты, название, адрес . . .).

Последовательность вызова событий при записи документа

Изображение
Последовательность выполнения событий при записи в регистр сведений У объекта Документ  имеется свой набор событий, с помощью которых разработчик может вмешаться в процесс записи документа в базу данных используя обработчики этих событий. В зависимости от вида действия, которое выполнит пользователь, события документа вызываются в определенной последовательности. Существуют следующие основные виды действий для документа: Записать Провести Провести и закрыть Отмена проведения Рассмотрим последовательность выполнения событий при каждом действии.

Выполнение GET-запроса на примере Яндекс.API

Изображение
Выполнение POST-запроса на примере Yandex.API Выполнение POST-запроса по протоколу HTTPS на платформе 8.2 на примере Yandex.API Платформа 1С позволяет разработчикам выполнять HTTP-запрос методом GET. С помощью GET-запроса веб-серверу передаются параметры (тело у такого запроса отсутствует), в ответ сервер возвращает некую информацию. Параметры GET-запроса имеют следующий формат  ИмяПараметра=ЗначениеПараметра и разделяются вопросительным знаком. Пример GET-запроса: http://geocode-maps.yandex.ru/1.x/?geocode=Ивановка . Рассмотрим выполнение HTTP-запроса методом GET на сервис Яндекс.Геокодер. В запросе мы будем передавать через параметр geocode название географического объекта, в ответ нам будут приходить сведения об этом объекте (координаты, название, адрес . . .).

Конвертация строковых данных в строку формата base64. Способ N2.

Изображение
Как конвертировать строковые данные в строку формата base64 с помощью стандартных средств платформы 1С описано в этом сообщении: Конвертация строковых данных в строку формата base64 . Плюс данного решения - это использование стандартных средств, то есть ничего устанавливать дополнительно не надо. Минус - это наличие файловой операции, которая занимает определенное время выполнения. Имеется второй вариант решения данной задачи - прибегнуть к использованию библиотеки CAPICOM. Как регистрировать библиотеку и почему её использование не рекомендуется описано в этой статье: Вычисление хэш-сумм MD, SHA при помощи CAPICOM .

Вычисление хэш-сумм MD, SHA при помощи CAPICOM

Изображение
Вычисление хэш-суммы по алгоритму SHA-512 Вычисление хэш-суммы по алгоритму MD5 Вычисление хэш-суммы по алгоритму ГОСТ Р 34.11-94 Установка CAPICOM Компания Microsoft не советует использовать библиотеку CAPICOM, но без её COM-объектов обойтись трудно. Первым делом необходимо скачать Platform SDK CAPICOM . Этот пакет содержит свободно распространяемые файлы компоненты CAPICOM 2.1.0.1 и примеры её использования. CAPICOM можно использовать для электронной подписи данных и её проверки, хэширования данных, шифрования и расшифровки данных и т.д. После запуска скачанного пакета мастер установки произведет копирование файлов компоненты в указанную папку. В папке ...\Microsoft CAPICOM 2.1.0.2 SDK\Lib\X86 находится файл CAPICOM.dll который нужно зарегистрировать в системе, для этого запустите командную строку от имени администратор и выполните команду  regsvr32 CAPICOM.dll : Регистрация библиотеки CAPICOM На этом установка закончена, можно приступать к использованию COM-объектов биб

Последовательность выполнения событий при записи в регистр сведений

Изображение
Последовательность вызова событий при записи документа Во время записи данных в регистр сведений выполняется вызов событий в определенной последовательности. События и их последовательность вызова заложены на уровне самой платформы 1С, а программисту дали возможность только изменять обработчики событий. Следовательно, что бы вмешаться в процесс модификации данных регистр сведений, необходимо использовать обработчики событий. В случае записи новой записи (то есть запись с такими значениями измерений еще не существует в регистре сведений) из формы записи, последовательность вызова событий следующая: Последовательность вызова событий при записи из формы новой записи

Получение внесенных изменений в конфигурацию

Изображение
Часто так бывает, что требуется получить информацию о внесенных изменениях в конфигурацию. Рассмотрим три ситуации. Первая ситуация - конфигурация полностью на поддержке Здесь все просто, никаких изменений в конфигурацию не вносили. Вторая ситуация - конфигурация на поддержке с возможностью изменений После разрешения внесения изменений в конфигурацию с сохранением поддержки, платформа создает конфигурацию поставщика в структуре информационной базе. Что бы просмотреть какие были внесены изменения в конфигурацию, нужно перейти в настройку поддержки ( Конфигурация -> Поддержка -> Настройка поддержки ). В открывшемся окне нажать на кнопку Сравнить, Объединить .

Конвертация строковых данных в строку формата base64

Конвертация строковых данных в строку формата base64. Способ N2. Любые данные (строка, картинка, видео и т.д.) конвертируются в строку формата base64. Рассмотрим пример на строковых данных. У платформы 1С имеется функция  Base64Строка на вход которой подаются данные в двоичном виде. Что бы данные привести к двоичному виду, необходимо их записать в файл и создать объект ДвоичныеДанные на основе этого файла. Алгоритм конвертации Записываем строку в текстовый файл с указанием кодировки UTF-8 без BOM ( CESU-8 ); Считываем текстовый файл как двоичные данные; Передаем двоичные данные в функцию Base64Строка

Вычисление хэш-суммы по алгоритму ГОСТ Р 34.11-94

Изображение
Вычисление хэш-суммы по алгоритму SHA-512 Вычисление хэш-суммы по алгоритму MD5 Вычисление хэш-сумм MD, SHA при помощи CAPICOM Реализации вычисления хэш-суммы по алгоритму ГОСТ 34.11-94. Что требуется Так как алгоритм отечественного производства, необходимо установить программные продукты КриптоПро CSP и КриптоПро CADESCOM. После установки программных продуктов КриптоПро будет доступен COM-объект HasheData с ProgID -  CAdESCOM.HashedData . Этот объект предоставляет свойства и методы для вычисления хэш-суммы данных.

Проверка подписи органа власти с помощью сервиса СМЭВ

Подготовка SOAP-сообщения перед созданием подписи XMLDSIG на примере СМЭВ Проверка подписи XMLDSIG на примере СМЭВ Проверка подписи XMLDSIG (WS-Security) с помощью сервиса СПЭП СМЭВ Проверка подписи органа власти Как проверять электронную подпись (ЭП-ОВ, ЭП-СМЭВ, ЭП-ПГУ) формата XMLDSIG у SOAP-сообщения с помощью КриптоПро CSP + КриптоПро CADESCOM рассказывается в этом сообщении . Проверку только подписи органа власти (ОВ) можно выполнить с помощью сервиса СМЭВ: "Сервис проверки технологической электронной цифровой подписи ЭП-ОВ SignatureVerification".

Создание временного сертификата для использования во время разработки

Изображение
Что такое MakeCert MakeCert - инструмент для создания сертификатов X.509, которые предназначены исключительно для тестирования разрабатываемого приложения. Этот инструмент создает пару ключей(открытый и закрытый) для цифровой подписи и помещает её в файл сертификата!!! MakeCert входит в состав пакета Windows SDK, который можно скачать с  http://go.microsoft.com/fwlink/p/?linkid=84091 . Если вам не хочется устанавливать целый пакет разработчика, то вот ссылка на сам файл .