Поиск по блогу

вторник, 31 марта 2015 г.

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

Составной тип - коварный тип!

Задача: выполнять отбор в списке документов по контрагенту, используя виды отбора Равно, Не равно, В иерархии и В списке.

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

четверг, 26 марта 2015 г.

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

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

вторник, 24 марта 2015 г.

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

Платформа 1С поддерживает выполнение HTTP-запросов методом POST. POST-запрос позволяет передать на веб-сервер большой объем данных, в отличии от GET-запроса, например, файл или строку большой длины. Передача значений параметров осуществляется их помещением в тело запроса. Обязательным заголовком для данного вида запроса является Content-Type, в котором указывается кодировка для веб-сервера, что бы он знал как обрабатывать (раскодировать) HTTP-запрос.

Рассмотрим выполнение HTTP-запроса методом POST на примере сервиса Яндекс.Геокодер. В запросе мы будем передавать через параметр geocode название географического объекта, в ответ нам будут приходить сведения об этом объекте (координаты, название, адрес . . .).

понедельник, 23 марта 2015 г.

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

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

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

вторник, 17 марта 2015 г.

Выполнение 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 название географического объекта, в ответ нам будут приходить сведения об этом объекте (координаты, название, адрес . . .).

понедельник, 16 марта 2015 г.

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

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

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

воскресенье, 15 марта 2015 г.

Вычисление хэш-сумм 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-объектов библиотеки CAPICOM в конфигурации :)

пятница, 13 марта 2015 г.

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

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

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

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

воскресенье, 8 марта 2015 г.

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

Часто так бывает, что требуется получить информацию о внесенных изменениях в конфигурацию. Рассмотрим три ситуации.

Первая ситуация - конфигурация полностью на поддержке


Здесь все просто, никаких изменений в конфигурацию не вносили.

Вторая ситуация - конфигурация на поддержке с возможностью изменений


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

пятница, 6 марта 2015 г.

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

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

Любые данные (строка, картинка, видео и т.д.) конвертируются в строку формата base64. Рассмотрим пример на строковых данных. У платформы 1С имеется функция Base64Строка на вход которой подаются данные в двоичном виде. Что бы данные привести к двоичному виду, необходимо их записать в файл и создать объект ДвоичныеДанные на основе этого файла.

Алгоритм конвертации
  1. Записываем строку в текстовый файл с указанием кодировки UTF-8 без BOM (CESU-8);
  2. Считываем текстовый файл как двоичные данные;
  3. Передаем двоичные данные в функцию Base64Строка

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

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

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


Что требуется


Так как алгоритм отечественного производства, необходимо установить программные продукты КриптоПро CSP и КриптоПро CADESCOM. После установки программных продуктов КриптоПро будет доступен COM-объект HasheData с ProgID - CAdESCOM.HashedData. Этот объект предоставляет свойства и методы для вычисления хэш-суммы данных.

четверг, 5 марта 2015 г.

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


Проверка подписи органа власти


Как проверять электронную подпись (ЭП-ОВ, ЭП-СМЭВ, ЭП-ПГУ) формата XMLDSIG у SOAP-сообщения с помощью КриптоПро CSP + КриптоПро CADESCOM рассказывается в этом сообщении.

Проверку только подписи органа власти (ОВ) можно выполнить с помощью сервиса СМЭВ: "Сервис проверки технологической электронной цифровой подписи ЭП-ОВ SignatureVerification".

вторник, 3 марта 2015 г.

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

Что такое MakeCert


MakeCert - инструмент для создания сертификатов X.509, которые предназначены исключительно для тестирования разрабатываемого приложения. Этот инструмент создает пару ключей(открытый и закрытый) для цифровой подписи и помещает её в файл сертификата!!!

MakeCert входит в состав пакета Windows SDK, который можно скачать с http://go.microsoft.com/fwlink/p/?linkid=84091. Если вам не хочется устанавливать целый пакет разработчика, то вот ссылка на сам файл.