Глава 3. Настройка программы :: 1С:Клиент ЭДО 8. Руководство пользователя

Получение и установка ЭЦП для 1С

Для всех типовых конфигурациях 1С, работающих на платформе 8.3, реализованы следующие механизмы, связанные с ЭЦП:

§ Подписание документов и произвольных файлов цифровой подписью

§ Проверка подписанных файлов и документов

§ Выгрузка документов и подписей в файлы

§ Загрузка документов и подписей из файлов

§ Шифрование файлов с возможностью открытия указанному списку лиц

Механизм криптографии компонента

Программы платформы 1С:Предприятие 8 являются наиболее популярными в России и СНГ инструментами программной системы автоматизации. Благодаря внушительному набору средств конфигураций 1С возможно настроить обработку любого объема информации организаций любых масштабов.

Также программа ориентирована на решение особых задач посредством взаимодействия с другими программами. Однако, к сожалению, у системы 1С:Предприятие 8.3 нет своих криптоалгоритмов. Поэтому приходится обращаться к так называемым криптосредствам, установленным на компьютере.

Рассмотрим подробнее механизм криптографии компонента в 1С и использование внешней компоненты для работы с криптографией.

Система для обработки данных использует объекты, которые способны взаимодействовать с криптосредствами, установленными в системе Windows c интерфейсом CryptoAPI. В системе Linux такие интерфейсы отсутствуют.  

Применение ЭЦП в 1С

Рассмотрим использование механизма криптографии в 1С. Для шифрования и подписания документов ЭЦП в 1С нам понадобится включение механизма шифрования, т.е. перейти в “Администрирование”-> “Обмен электронными документами-> Настройки электронной подписи и шифрования“.

Также чтобы помимо возможности подписывать документы и иметь возможность шифровать данные нужно установить константу “Использовать шифрование“ , сделать это всегда можно через меню “Все функции”-> “Константы-> Использовать шифрование“ (иначе пункты меню Зашифровать и Расшифровать будут скрыты в программе, а останется лишь опция Подписать).


Рис. Настройки ЭЦП

Рис. Включение опции шифрования 1С

После установки КриптоПро в списке доступных должен появиться   провайдер КриптоПро

Рис.  Установленные программы криптопровайдеров

Нажимаем на кнопку добавить и добавляем ранее полученный тестовый/рабочий сертификат по кнопке “Добавить”->“Использовать для подписи и шифования”. Далее потребуется ввести пароль, который вы указывали для ключа при его создании. Если по данному сертификату возможна подпись и/или шифрование, то он успешно добавится. Далее можно нажать кнопку “Проверить” , чтобы проверить какие из двух операций по нему доступны.


Рис. Успешно добавленный сертификат

Рис. Успешно добавленный сертификат в списке сертификатов

Рис. Проверка возможностей сертификата

Для проверки работоспособности системы шифрования/расшифрования нужно зайти в справочник Файлы.


Рис. Команда входа в справочник Файлы

Данные в справочнике Файлы мы можем полполнять как вручную файлами из файловой системы, так и, например, посредством массовой рассылки отчетов и писем. Ниже на примере 1С ЗУП 3.1 приводятся настройки формирования отчета Штатное расписание в файлы базы данных.

Рис. Настройка рассылки отчетов в файлы, 1С ЗУП 3 1

Рис. Настройка рассылки отчетов в файлы, 1С ЗУП 3 1 (продолжение)


Рис. Настройка рассылки отчетов в файлы, 1С ЗУП 3 1 (продолжение)

После нажатия “Зашифровать в 1С” из меню появится окно выбора сертификатов, которыми будет производиться шифрование 1С файла.

Рис. Шифрование/расшифрование файла

Рис. Подбор сертификата для шифрования 1С


После шифрования или подписания мы можем сохранить файл на диск или отправить его вместе с электронной подписью по почте, как это работает для любого отчета или обычного файла.

Рис. Файл успешно зафшифрован

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


Подпишем документ Word, это делается практически аналогично шифрованию.

Рис. Подписание файла

Теперь сохраним файл на диск вместе с ЭЦП, выбрав “сохранить вместе с электронной подписью”.

Как видно мы подписали документ отсоединенной подписью. Подпись может быть также и присоединенной к файлу, главное отличие этого формата в том, что когда вы подписываете документ остается того же формата и размера, а после подписания с ним будет идти отдельный файл специального формата (в данном случае.p7s) который будет считаться самой подписью.

Внешние компоненты для работы с криптографией

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

Внешняя компонента экспортирует четыре функции из библиотеки:

GetClassNamesСинтаксис функции:

const WCHAR_T* GetClassNames()


Получает список имен объекта компонентов.

GetClassObject

Синтаксис функции:

long GetClassObject(const WCHAR_T* clsName, IComponentBase** pIntf)


Создает экземпляр объекта компоненты. Если он не создавалня или не был найден, то 

возвращается ноль.

DestroyObject


Синтаксис функции:

long DestroyObject(IComponentBase** pIntf)

Удаляет экземпляр объекта. Компонента должна удалить объект и освободить память. Если операция прошла успешно, то возвращается ноль, в противном случае – код ошибки.

SetPlatformCapabilities


Синтаксис функции:

AppCapabilities SetPlatformCapabilities(const AppCapabilities capabilities)

Выполняет функцию установки поддерживаемых версий платформой 1С:Предприятие 8.


Специалист компании «Кодерлайн»

Виктория Шелеп

We used virtual dom before it became mainstream)

Как и все разработчики, имеющие дело со сложным Веб UI, мы быстро поняли, что DOM плохо подходит для работы с динамическим пользовательским интерфейсом. Практически сразу был реализован аналог Virtual DOM для оптимизации работы с UI. В процессе обработки события все изменения DOM запоминаются в памяти и, только при завершении всех операций, накопленные изменения применяются к DOM-дереву.

Глава 3. настройка программы :: 1с:клиент эдо 8. руководство пользователя

Настройку программы «1С:Клиент ЭДО 8» можно условно разделить
на настройку механизма обмена данными с учетной системой и на настройку механизма
обмена электронными документами.

Данные, необходимые для
формирования электронных документов (например, реквизиты организации и
контрагентов) вводятся и хранятся в самой учетной системе, а в программе
«1С:Клиента ЭДО 8» только отображаются. Поэтому при необходимости внести
изменения, например, в юридический адрес организации, потребуется зайти в
учетную систему и уже там отредактировать данные в соответствующем справочнике.

Процесс взаимодействия программы
«1С:Клиента ЭДО 8» и учетной системы, а также процесс изменения правил обмена
данными, задаваемых во внешней обработке, описан в
Приложении данного
руководства.

Для задания параметров
обмена с учетной системой можно воспользоваться Помощником
подключения к учетной системе
или указать их в ручном режиме.

При первом входе в новую
информационную базу «Клиента ЭДО» Помощник подключения к
учетной системе
запуститься автоматически. В дальнейшем его всегда
можно вызвать повторно через команду группы Сервис
Панели действий главного окна программы.

Глава 3. Настройка программы :: 1С:Клиент ЭДО 8. Руководство пользователя

На первом шаге помощника
необходимо указать:

1.каталог Информационной
базы
учетной системы;

2.Имя
пользователя
и пароль, от
имени которого будет происходить подключение к учетной системе (рекомендуется
сделать в учетной системе отдельного пользователя с соответствующими правами
доступа);

3.Правила
обработки данных
, которые будут использоваться для обмена данными с
учетной системой (более подробно с настройкой правил обработки можно
познакомиться в
Приложении
данного руководства);

4.Наименование
настроек для быстрого поиска в списке.

После нажатия кнопки Далее > программа выполнить подключение к учетной системе
по указанным параметрам и сохранит в информационной базе для дальнейшего использования.

На следующих шагах можно
выполнить импорт организации и контрагентов, которые будет использоваться для
обмена электронными документами.

Глава 3. Настройка программы :: 1С:Клиент ЭДО 8. Руководство пользователя

Если в Настройках программы
включена возможность использования Электронных цифровых
подписей,
то на последнем
шаге помощника программа предложит добавить новое соглашение обмена
электронными документами через оператора ЭДО.

Настройка обмена с учетной
системой в ручном режиме

Для указания параметров настройки
обмена данными с учетной системой необходимо:

1.в Настройках
программы
выбрать команду Настройки обмена данными с
учетными системами
;

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

Глава 3. Настройка программы :: 1С:Клиент ЭДО 8. Руководство пользователя

3.в открывшейся форме заполнить
основные реквизиты, необходимые для подключения к внешней учетной системе;

4.сохранить данные и закрыть форму.

В форме элемента можно
выполнить проверку правильности указания параметров обмена данными по команде Тест настроек. Глава 3. Настройка программы :: 1С:Клиент ЭДО 8. Руководство пользователя

Для того чтобы исключить
какие-либо настройки из процесса обмена или временно не использовать для
подключения к учетной системе, необходимо включить опцию Не
использовать настройки для подключения
.

Если предполагается, что при
обмене электронными документами будет использоваться ЭП и/или шифрование, то
необходимо установить флаг Электронные подписи
(формы Настройки программы), а также выполнить
общую настройку криптографии и настроить сертификаты подписей в форме Настройка криптографии (гиперссылка Настройка
криптографии
формы Настройки программы).

Для указания общих настроек
провайдера (поставщика) криптографического сервиса нужно воспользоваться закладкой
формы Общие настройки.

Глава 3. Настройка программы :: 1С:Клиент ЭДО 8. Руководство пользователя

На открывшейся закладке
система автоматически определит установленный на компьютере криптопровайдер и
заполнит следующие поля:

Провайдер
ЭЦП
— строка, идентифицирующая криптографический сервис,
например: “Crypto-Pro GOST R 34.10-2001 Cryptographic Service
Provider” – идентификатор криптографического провайдера от компании
КриптоПро.

Тип
провайдера ЭЦП
— число, указывающее тип провайдера ЭЦП.
Например, для КриптоПро – 75.

Алгоритм
подписи
— указывается алгоритм подписи. Выбирается из списка
выбора, предоставляемого провайдером ЭЦП, обычно это алгоритм GOST R 34.10-2001.

Алгоритм
шифрования
— указывается алгоритм шифрования. Выбирается из
списка выбора, предоставляемого провайдером ЭЦП, обычно это алгоритм GOST 28147-89.

Выполнять
криптографические операции:
«на клиенте»или«на сервере»
— место выполнения криптографических операций формирования и проверки
электронных подписей, шифрования данных и расшифровки при работе с электронными
документами. На компьютере, где предполагается выполнять криптографические
операции должен быть установлен криптопровайдер, сертификаты подписей, а также
доступны закрытые части ключей подписей.

Выполнять
авторизацию:
«на клиенте»или«на сервере»
место выполнения авторизации при обмене электронными документами через
оператора ЭДО. На компьютере, где предполагается выполнять данную операцию
должен быть установлен криптопровайдер, сертификаты подписей, а также доступны
закрытые части ключей подписей.

Наиболее распространенные
криптопровайдеры, сертифицированные ФСБ России, имеют следующие параметры:

КриптоПро CSP: “Crypto-Pro GOST
R 34.10-2001 Cryptographic Service Provider” (
тип
75);

ViPNet CSP: “Infotecs Cryptographic Service
Provider” (
тип
2).

Для указания дополнительных
настроек криптографии в программе можно воспользоваться командой Все действия – Расширенная настройка криптографии.

Для того чтобы в дальнейшем
в программе использовать шифрование и ЭП необходимо импортировать сертификаты
подписей, используя команды в группе Добавить
сертификат
– Из хранилища сертификатов
или Из файла.

Глава 3. Настройка программы :: 1С:Клиент ЭДО 8. Руководство пользователя

После того как сертификат добавлен в программу, в форме сертификата нужно
задать виды документов, для подписи которых будет использоваться данный
сертификат.

В процессе обмена электронными документами может возникнуть ситуация,
когда функции разделены между пользователями: одни сотрудники организации
готовят электронные документы, а другие – только подписывают их ЭП.

В форме сертификата ЭП можно указать ограничение, кому из пользователей
этот сертификат будет доступен для подписи. Если флаг
Ограничить доступ к сертификату
не установлен, то сертификат ЭП в программе
будет доступен всем пользователям, зашедшим с компьютера, на котором установлен
сертификат подписи.

Если установлен флаг Запомнить пароль к
сертификату,
топри наличии
доступа к закрытой части ключа подписи (обычно закрытая часть ключа храниться
на внешних носителях) сформировать ЭП с помощью этого сертификата сможет любой
пользователь программы. Такая ситуация может возникнуть, когда необходимо
настроить автоматическое формирование ЭП программой на извещениях о получении
документов без запроса пользователя.

На закладке Состав исполнителей для сертификата задается список пользователей,
которые могут отправлять электронные документы на подпись ответственному лицу
–  пользователю, который имеет право
подписывать документы этим сертификатом (настройка
Ограничить доступ к сертификату
). Если флаг Проверять
состав исполнителей
не установлен, то на подпись ответственному лицу
по данному сертификату может отправить любой пользователь программы.

В форме сертификата по команде Тест настроек сертификата
можно проверить корректность настроек криптографии для данного
сертификата на текущем компьютере.

Глава 3. Настройка программы :: 1С:Клиент ЭДО 8. Руководство пользователя

Все настройки параметров
обмена электронными документами выполняются в справочнике Соглашение об использовании электронных документов.
Обмен
электронными документами может осуществляться через оператора электронного
документооборота (далее оператора ЭДО) или напрямую между контрагентами.

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

Глава 3. Настройка программы :: 1С:Клиент ЭДО 8. Руководство пользователя

Для использования обмена
электронными документами между контрагентами через оператора ЭДО необходимо
ввести одно, общее соглашение для всех участников обмена.

Обмен через оператора ЭДО
возможен только при применении электронных цифровых подписей и выполненных
настройках криптографии (см. Настройка
шифрования и ЭП)
.

Согласно законодательству
обмен электронными счетами-фактурами между
контрагентами предусматривает обязательное участие третьей стороны – Оператора
ЭДО.

В настоящее время в программе поддержан
обмен через оператора ЭДО – компанию Такском, в рамках совместного решения «1С-Такском».

Важно!
Для того чтобы иметь возможность обмениваться электронными документами через
оператора ЭДО «Такском» необходимо внимательно прочитать условия лицензионного
соглашения по программе и согласиться с ним (в противном случае обмен через
оператора ЭДО будет недоступен в программе).

Глава 3. Настройка программы :: 1С:Клиент ЭДО 8. Руководство пользователя

Соглашение через оператора
ЭДО можно ввести 2-мя способами:

используя помощник
регистрации нового соглашения
(по команде Создать);

заполнив все требуемые реквизиты
вручную в форме нового элемента (по команде Создать
новое (ручной режим)
).

Глава 3. Настройка программы :: 1С:Клиент ЭДО 8. Руководство пользователя

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

По шагам в помощнике
необходимо:

1)Проверить общие настройки
криптографии (программа автоматически их предзаполнит).

Глава 3. Настройка программы :: 1С:Клиент ЭДО 8. Руководство пользователя

2)Указать организацию и сертификат
организации, который будет использоваться для авторизации на сервисе оператора
ЭДО.

Глава 3. Настройка программы :: 1С:Клиент ЭДО 8. Руководство пользователя

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

Глава 3. Настройка программы :: 1С:Клиент ЭДО 8. Руководство пользователя

Результатом правильного завершения
процесса регистрации нового участника ЭДО должен быть присвоенный идентификатор
участника обмена ЭД.

Глава 3. Настройка программы :: 1С:Клиент ЭДО 8. Руководство пользователя

Если воспользоваться ручным
заполнением формы элемента, то в форме соглашения необходимо задать следующие настройки
обмена:

Указать организацию.

Указать сертификат организации,
который будет использоваться для авторизации на сервисе оператора ЭДО.

Получить уникальный идентификатор
участника, заполнив заявление о подключении к обмену электронными документами в
программе.

Глава 3. Настройка программы :: 1С:Клиент ЭДО 8. Руководство пользователя


Для того
чтобы проверить корректность выполненных настро
ек, необходимо
воспользоваться командой в соглашении Тест настроек соглашения.

Глава 3. Настройка программы :: 1С:Клиент ЭДО 8. Руководство пользователя

Для подключения к обмену
нового участника-контрагента необходимо добавить его в список участников и
отправить ему приглашение к обмену через сервис оператора ЭДО по команде Отправить приглашения.

Глава 3. Настройка программы :: 1С:Клиент ЭДО 8. Руководство пользователя

Для того чтобы получить
новые приглашения от других контрагентов, а также актуализировать статусы
участников обмена, необходимо воспользоваться командой Обновить
статусы с сервиса
. Программа загрузит новые приглашения в статусе Ожидает согласие, которые необходимо обработать (принять их
или отклонить).

Глава 3. Настройка программы :: 1С:Клиент ЭДО 8. Руководство пользователя

Чтобы одобрить приглашение к
обмену или отказаться от обмена, надо выбрать соответствующую команду из группы
Изменить статус. Этими командами можно
воспользоваться в любой момент времени, чтобы отказаться от обмена с конкретным
контрагентом.

Глава 3. Настройка программы :: 1С:Клиент ЭДО 8. Руководство пользователя

Обмен с контрагентом через
оператора ЭДО возможен только в том случае, если участник одобрил приглашение к
обмену, тогда сервис оператора ЭДО вернет его Идентификатор
и программа установит статус Присоединен.

Настройки, выполненные в
соглашении, действуют только в том случае, если соглашение находится в статусе Действует.

Важно! Соглашение прямого обмена имеет более высокий приоритет по сравнению с
Соглашением через оператора ЭДО
, т.е. если в программе оформлено два
действующих соглашения с одним контрагентом (соглашение прямого обмена и
соглашение через оператора ЭДО), то программа выполнит отправку электронного
документа по «Способу обмена», заданному в Соглашении прямого обмена, если на
закладке «Исходящие документы» у используемого «Вида электронного документа»
установлен флаг «Отправлять».

Важно!
Обмен
электронными документами с “не-1С” системой возможен через оператора
ЭДО, если учетная система контрагента поддерживает единые с 1С-конфигурациями
форматы электронных документов. Для такого контрагента-участника в настройках
соглашения об обмене через оператора ЭДО в реквизите Версия регламента ЭДО необходимо указать 2.0.

Глава 3. Настройка программы :: 1С:Клиент ЭДО 8. Руководство пользователя

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

В соглашении необходимо задать
следующие настройки обмена:

Указать организацию.

Контрагента, с которым заключается
соглашение.

Задать идентификаторы для организации
и контрагента. По умолчанию идентификаторы участников обмена автоматически
генерируются программой на основании ИНН, КПП организации и ИНН, КПП контрагента. Для обмена электронными
документами идентификаторы
организации и контрагента должны быть обязательно
указаны в программе.

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

Глава 3. Настройка программы :: 1С:Клиент ЭДО 8. Руководство пользователя

На закладке Способ обмена настроить
параметры передачи данных между участниками
:

Через
каталог
– в этом случае, задается каталог для исходящих
электронных документов, отправляемых контрагенту, и каталог для входящих
электронных документов, получаемых организацией.

Через
электронную почту
– в этом случае, задается адрес электронной
почты контрагента, на который будут отправляться электронные документы, иуказывается учетная запись электронной почты организации,
с которого будет осуществляться отправка электронных документов, и на который
будут поступать входящие документы. Настоятельно рекомендуется использовать
отдельную, специально выделенную для обмена, 
учетную запись электронной почты.

Через
FTP – в этом случае,
задаются параметры FTP-сервера для авторизации на нем, а также каталог для
исходящих электронных документов, отправляемых контрагенту, и каталог для
входящих электронных документов, получаемых организацией.

Эти настройки также действуют
на все виды электронных документов, участвующие в обмене.

На страницах Исходящие документы и Входящие документы можно указать,
какие документы будут участвовать в обмене. Поддерживается обмен следующими
документами для «1С:Бухгалтерии 7.7»/«1С:Торговля и склад 7.7»:

Значение
ТОРГ-12 соответствует документу «Отгрузка товаров, продукции»/«Реализация (купля-продажа)» в
исходящих и документу «Поступление товаров»/«Поступление
ТМЦ (купля-продажа)»
во входящих электронных документах.

Значение
Акт соответствует документу «Акт об оказании услуг»/« Реализация (купля-продажа)» в
исходящих и документу «Акт об оказании услуг
сторонней организацией»/ «Поступление (услуг пр.)»
во входящих
электронных документах.

В таблице видов документов
необходимо флажками отметить те действия, которые будут осуществляться над
документами:

Получать/Отправлять – документы участвуют в
электронном обмене.

Подписывать
– подписывать документы ЭП.

Контролировать
доставку
– ожидать получение служебного извещения о доставке
электронного документа. Служебное извещение о доставке формируется программой
автоматически всегда, а установка флага  Контролировать доставку влияет на перечень
статусов документа (подробнее о статусах см. далее). Если в процессе обмена
важно видеть подтверждение того, что электронный документ доставлен, то флаг
следует установить.

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

Для исходящих документов
возможны следующие статусы:

Сформирован
– статус присваивается вновь созданному электронному документу.

Утвержден
– документ просмотрен ответственным сотрудником организации и утвержден им.
Утверждение осуществляется в форме просмотра электронного документа.

Подписан
– электронный документ подписан ЭП организацией-отправителем. Действие
выполняется и присваивается статус, если в процессе обмена предусмотрено
использование ЭП.

Подготовлен
к отправке
– электронный документ подготовлен к отправке и
поставлен в очередь на отправку (подробнее см. далее).

Отправлен
получателю
– электронный документ отправлен (подробнее см.
далее).

Доставленполучателю – после получения
электронного документа на стороне контрагента формируется служебное извещение о
доставке, которое уходит в адрес отправителя. После получения такого извещения
у электронного документа устанавливается этот статус. Действие выполняется и
присваивается статус, если в процессе обмена предусмотрен контроль доставки.

Получено
подтверждение
– получена ЭП контрагента на исходящем
электронном документе. Действие выполняется и присваивается статус, если в
процессе обмена предусмотрено использование ЭП разных сторон на одном и том же
экземпляре электронного документа.

Для входящих документов возможны
следующие статусы:

Получен
– электронный документ загружен в программу.

Утвержден
– документ просмотрен ответственным сотрудником организации и утвержден им.
Утверждение осуществляется в форме просмотра электронного документа.

Подписан
– входящий электронный документ подписан ЭП организацией-получателем. Действие
выполняется и присваивается статус, если в процессе обмена предусмотрено
использование ЭП разных сторон на одном и том же экземпляре электронного
документа.

Отправлено
подтверждение
– установленная ЭП на входящий электронный
документ подготовлена к отправке и поставлена в очередь на отправку (подробнее
см. далее). Действие выполняется и присваивается статус, если в процессе обмена
предусмотрено использование ЭП разных сторон на одном и том же экземпляре
электронного документа.

Доставлено
подтверждение
– получено служебное извещение о доставке
контрагенту ЭП, установленной на электронный документ. Действие выполняется и
присваивается статус, если в процессе обмена предусмотрен контроль доставки.

Программа позволяет
вкладывать в пакет передаваемых электронных документов файлы, следующих форматов:
документ
XML (обязательный для использования), документ PDF, документ HTML,
документ Word 2007, лист Excel, табличный документ 1С, электронная таблица ODF.
Такая возможность позволяет визуально контролировать пересылаемые данные. Для
использования такой возможности в форме соглашения на закладке Форматы исходящих документов необходимо
установить соответствующие флаги.

На закладке Доверенные сертификаты подписей в
таблице можно сформировать перечень эталонных сертификатов подписей, полученных
от контрагента. Если такой перечень ведется и установлен флаг Проверять сертификаты подписей контрагента,
то в процессе работы с электронными документами программа будет сверять
сертификат, которым подписан электронный документ от контрагента с сертификатом
из перечня эталонных. Если в процессе проверки, окажется что, сертификат ЭП,
которым подписан документ, отсутствует в списке, то строка ЭП с таким
сертификатом в форме просмотра электронного документа будет выделена
пиктограммой «Внимание».

Настройки, выполненные в
соглашении, действуют только в том случае, если соглашение находится в статусе Действует. Для соглашения можно
указать срок действия соглашения (информационно) – Срок
действия до
.

Для того чтобы проверить
корректность выполненных настроек, необходимо воспользоваться командой в
соглашении Тест настроек соглашения.

Заполнить соглашение прямого
обмена можно по Типовому соглашению. Типовое
соглашение является шаблоном и служит для быстрого заполнения настроек
Организации для соглашений прямого обмена. Например, с помощью типового
соглашения можно быстро заполнить способ обмена, определить состав входящих и
исходящих документов, участвующих в обмене, форматы исходящих файлов. Все эти
поля могут быть заполнены в соглашении из типового соглашения, после того как
типовое соглашение будет выбрано в соответствующем поле формы.  

Глава 3. Настройка программы :: 1С:Клиент ЭДО 8. Руководство пользователя


Читайте также:  Проверка электронного документа - Портал услуг Федеральной службы государственной регистрации, кадастра и картографии

Дальнейшее развитие

Одна из групп задач для команды разработки веб-клиента – это дальнейшее развитие функциональности. Функциональность веб-клиента должна быть идентична функциональности тонкого клиента, вся новая функциональность реализуется одновременно и в тонком, и в веб-клиенте.

Другие задачи — развитие архитектуры, рефакторинг, повышение производительности и надежности. Например, одно из направлений – дальнейшее движение в сторону асинхронной модели работы. Часть функциональности веб-клиента на настоящий момент построена на синхронной модели взаимодействия с сервером.

Асинхронная модель сейчас становится в браузерах (и не только в браузерах) более актуальной, и это заставляет нас модифицировать веб-клиент путем замены синхронных вызовов на асинхронные (и соответствующего рефакторинга кода). Постепенный переход к асинхронной модели объясняется необходимостью поддержки выпущенных решений и постепенной их адаптации.

Как в “1с:документообороте 8” в веб-клиенте настроить подписание документов кэп? :: отвечает специалист 1с

Как работают управляемые формы и тонкий клиент 1с – взгляд "из-под капота"

Универсальные функцииПриемы и методы разработкиv8Бесплатно (free)

“Я не могу просто взять и скопировать код с гитхаба”, “у нас 1С микросервисами окружена”, “возможностей мало” – частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще – берём и используем.

28.12.2020   
8848   
comol   
31    

Какие задачи решали/решаем

В ходе реализации проекта мы столкнулись с рядом интересных задач, которые нам пришлось решать.

Немного истории

Проект создания веб-клиента стартовал в 2006 году, в нем (в среднем) участвовала команда из 5 человек. На отдельных этапах проекта привлекались разработчики для реализации специфической функциональности (табличного документа, диаграмм и т.д.); как правило, это были те же разработчики, что делали эту функциональность в тонком клиенте. Т.е. разработчики заново писали на JavaScript компоненты, ранее созданные ими на C .

Читайте также:  Алгоритм цифровой подписи - Digital Signature Algorithm - qaz.wiki

С самого начала мы отвергли идею какой-либо автоматической (хотя бы частичной) конверсии C кода тонкого клиента в JavaScript веб-клиента ввиду сильных концептуальных различий этих двух языков; веб-клиент писался на JavaScript с чистого листа.

В первых итерациях проекта веб-клиент конвертировал клиентский код на встроенном языке 1С непосредственно в JavaScript. Тонкий клиент поступает иначе — код на встроенном языке 1С компилируется в байт-код, и затем этот байт-код интерпретируется на клиенте.

Первая версия платформы 1С:Предприятие с поддержкой веб-клиента вышла в 2009 году. Веб-клиент на тот момент поддерживал 2 браузера – Internet Explorer и Firefox. В первоначальных планах была поддержка Opera, но из-за непреодолимых на тот момент проблем с обработчиками закрытия приложения в Opera (не удавалось со 100%-ной уверенностью отследить, что приложение закрывается, и в этот момент произвести процедуру отключения от сервера приложений 1С) от этих планов пришлось отказаться.

Обмен данными с сервером и между окнами

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


Чтобы избежать обфускации при взаимодействии с сервером мы используем тэг @expose:

/**
 * @constructor
 * @extends {Base.SrvObject}
 */
Srv.Core.GenericException = function ()
{
    /**
     * @type {string}
     * @expose
     */
    this.descr;

    /**
     * @type {Srv.Core.GenericException}
     * @expose
     */
    this.inner;

    /**
     * @type {string}
     * @expose
     */
    this.clsid;

    /**
     * @type {boolean}
     * @expose
     */
    this.encoded;
}

А чтобы избежать обфускации при взаимодействии с другими окнами мы используем так называемые экспортируемые интерфейсы (интерфейсы, у которых все методы являются экспортируемыми).

/**
 * Экспортируемый интерфейс контрола DropDownWindow
 *
 * @interface
 * @struct
 */
WebUI.IDropDownWindowExp = function(){}

/**
 * Перемещает выделение на 1 вперед или назад
 *
 * @param {boolean} isForward
 * @param {boolean} checkOnly
 * @return {boolean}
 * @expose
 */
WebUI.IDropDownWindowExp.prototype.moveMarker = function (isForward, checkOnly){}

/**
 * Перемещает выделение в начало или конец
 *
 * @param {boolean} isFirst
 * @param {boolean} checkOnly
 * @return {boolean}
 * @expose
 */
WebUI.IDropDownWindowExp.prototype.moveMarkerTo = function (isFirst, checkOnly){}

/**
 * @return {boolean}
 * @expose
 */
WebUI.IDropDownWindowExp.prototype.selectValue = function (){}

Оптимизация работы веб-клиента

Чтобы наш веб-клиент работал быстрее, мы по максимуму стараемся задействовать штатные возможности браузера (CSS и т.п.). Так, командная панель формы (расположенная практически на каждой форме приложения) отрисовывается исключительно средствами браузера, динамической версткой на базе CSS.

Читайте также:  Как подписать документ ЭЦП pdf и doc

Особенности разработки

Реализация всего вышеописанного на JavaScript – дело непростое. Возможно, веб-клиент 1С – одно из самых больших client-side приложений, написанных на JavaScript – около 450.000 строк. Мы активно используем в коде веб-клиента объектно-ориентированный подход, упрощающий работу с таким большим проектом.

Для минимизации размера клиентского кода мы вначале использовали свой собственный обфускатор, а начиная с версии платформы 8.3.6 (октябрь 2021) стали использовать Google Closure Compiler. Эффект использования в цифрах – размер фреймворка веб-клиента после обфускации:

Использование Google Closure Compiler помогло нам повысить быстродействие веб-клиента на 30% по сравнению с нашим собственным обфускатором. Кроме того, на 15-25% (в зависимости от браузера) снизился объем памяти, потребляемой приложением.

Google Closure Compiler очень хорошо работает с объектно-ориентированным кодом, поэтому его эффективность именно для веб-клиента максимально высокая. Closure Compiler делает для нас несколько хороших вещей:

В качестве среды разработки веб-клиента мы используем WebStorm.

Для анализа кода мы используем SonarQube, куда интегрируем статические анализаторы кода. С помощью анализаторов мы отслеживаем деградацию качества исходного кода на JavaScript и стараемся ее не допускать.

Постановка задачи


Итак, требования к проекту: веб-клиент должен делать то же самое, что и тонкий клиент, а именно:

  1. Отображать пользовательский интерфейс
  2. Исполнять клиентский код, написанный на языке 1С

Пользовательский интерфейс в 1С описывается в визуальном редакторе, но декларативно, без попиксельной расстановки элементов; используется около трех десятков типов элементов интерфейса — кнопки, поля ввода (текстовые, цифровые, дата/время), списки, таблицы, графики и т.д.

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

И тонкий клиент (при работе через веб), и веб-клиент пользуются одним и тем же набором веб-сервисов для общения с сервером приложений 1С. Реализация у клиентов, конечно, разная – тонкий клиент написан на С , веб-клиент – на JavaScript.

Работа с бинарными файлами, форматом asn1 и криптографией в 1с8

Управленческий учет (прочее)v8УУПлатные (руб)

В жизни любого предприятия есть постоянный поток заданий любого рода, например задания на производство партий изделий которые нужно распланировать с учетом занятости оборудования по конкретным часам и датам. Или занятость конкретных мастеров по установкам пластиковых окон с учетом уже взятых заказов. Количество применений ограничивается только вашей фантазией.
Перед Вами простая конфигурация на управляемых формах, которую Вы можете использовать, как есть или, встроив в свои конфигурации, приспособить к своим нуждам.
V2.01 Полностью переработан принцип планирования. Теперь документ планирования по умолчанию называется “Маршрутно-технологическая карта”, содержит список запланированных этапов, описание этапов и оборудование(ресурс) на который они завязаны. В графическом виде происходит планирование этапов во времени для каждого оборудования (ресурса), после чего возможно формирование документа “Задание на смену”, который для выбранного временного промежутка и оборудования формирует расписание запланированных этапов, позволяет распечатать это расписание для передачи оператору оборудования. Также улучшен интерфейс.

1000 руб.

28.04.2021   
21385   
2   
8    

Расширения браузеров


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

Наши расширения состоят из двух частей. Первая часть – то, что называется расширением браузера (как правило, написанные на JavaScript расширения для Chrome и Firefox), которые взаимодействуют со второй частью — бинарным расширением, реализующим нужную нам функциональность.

Надо упомянуть, что мы пишем 3 версии бинарных расширений – под Windows, Linux и MacOS. Бинарное расширение поставляется в составе платформы 1С:Предприятие и находится на сервере приложений 1С. При первом вызове с веб-клиента оно загружается на клиентский компьютер и устанавливается в браузере.

При работе в Safari наши расширения используют NPAPI, при работе в Internet Explorer — технологию ActiveX. Microsoft Edge пока не поддерживает расширения, поэтому веб-клиент в нем работает с ограничениями.

Структура проекта


Всего в платформе 1С:Предприятие есть 4 проекта, написанных на JavaScript:

  1. WebTools – общие библиотеки, используемые остальными проектами (сюда же мы включаем Google Closure Library).
  2. Элемент управления ФорматированныйДокумент (реализован на JavaScript и в тонком клиенте, и в веб-клиенте)
  3. Элемент управления Планировщик (реализован на JavaScript и в тонком клиенте, и в веб-клиенте)
  4. Веб-клиент

Структура каждого проекта напоминает структуру Java-проектов (или .NET проектов – кому что ближе); у нас есть неймспейсы, и каждый неймспейс лежит в отдельной папке. Внутри папки лежат файлы и классы неймспейса. В проекте веб-клиента около 1000 файлов.

Структурно веб-клиент по-крупному разделяется на следующие подсистемы:

  • Управляемый интерфейс клиентского приложения
    • Общий интерфейс приложения (системные меню, панели)
    • Интерфейс управляемых форм, включающий, в том числе, около 30 элементов управления (кнопки, различные типы полей ввода – текстовые, цифровые, дата/время и пр., таблицы, списки, графики и т.д.)

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

Тестирование


Для функционального тестирования и тестирования производительности мы используем инструмент собственного производства (написанный на Java и C ), а также набор тестов, построенных на базе

Наш инструмент универсален – он позволяет тестировать практически любые оконные программы, а потому подходит для тестирования как тонкого клиента, так и веб-клиента. Инструмент записывает действия пользователя, запустившего прикладное решение «1С», в файл-сценарий.

В это же время происходит запись изображений рабочей области экрана — эталонов. При контроле новых версий веб-клиента сценарии проигрываются без пользовательского участия. В случаях несовпадения скриншота с эталонным на каком-либо шаге тест считается провалившимся, после чего специалист по качеству проводит расследование – ошибка это или запланированное изменение поведения системы. В случае запланированного поведения эталоны автоматически подменяются на новые.

Инструмент также проводит замеры производительности приложений с точностью до 25 миллисекунд. В ряде случаев мы закольцовываем части сценария (например, несколько раз повторяем ввод заказа) для анализа деградации времени выполнения со временем. Результаты всех замеров записываются в лог для анализа.

image
Наш инструмент тестирования и тестируемое приложение

Наш инструмент и Selenium дополняют друг друга; например, если какая-то кнопка на одном из экранов поменяла свое местоположение – Selenium это может не отследить, но наш инструмент заметит, т.к. делает попиксельное сравнение скриншота с эталоном. Также инструмент в состоянии отследить проблемы с обработкой ввода с клавиатуры или мыши, так как именно их он и воспроизводит.

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

Для расследования инцидентов замедления работы разработчики используют разные инструменты; в основном используется Dynatrace AJAX Edition производства компании DynaTrace. Проводится запись логов выполнения проблемной операции на предыдущей и на новой сборке, затем логи анализируются.

При этом время выполнения единичных операций (в миллисекундах) может не быть решающим фактором – в браузере периодически запускаются служебные процессы типа уборки мусора, они могут наложиться на время выполнения функций и исказить картину. Более релевантными параметрами в этом случае будет количество выполненных инструкций JavaScript, количество атомарных операций над DOM и т.п.

Также одной из причин падения производительности может быть то, что Google Closure Compiler по какой-то причине не смог сделать inline-подстановку функции (например, потому что функция рекурсивная или виртуальная). В этом случае мы стараемся исправить ситуацию, переписав исходный код.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector