1с:библиотека стандартных подсистем
Инструментарий разработчика «1С:Библиотека стандартных подсистем» (БСП) предоставляет набор универсальных функциональных подсистем, готовые разделы для пользовательской документации и технологию для разработки прикладных решений на платформе «1С:Предприятие». С применением БСП становится возможной быстрая разработка новых конфигураций с уже готовой базовой функциональностью, а также включение готовых функциональных блоков в существующие конфигурации. Использование БСП при разработке прикладных решений на платформе «1С:Предприятие» позволяет также достичь большей стандартизации конфигураций и уменьшить время на изучение и внедрение прикладных решений за счет их унификации по набору используемых стандартных подсистем.
Входящие в БСП подсистемы охватывают такие области, как администрирование информационной базы, администрирование пользователей программы, настройка доступа к данным информационной базы, ведение различной нормативно-справочной информации (адресный классификатор, курсы валют, календарные графики и др.). БСП предоставляет базовые пользовательские и программные интерфейсы для работы с задачами и бизнес-процессами, прикрепляемыми файлами и электронными подписями, контактной информацией, дополнительными реквизитами и сведениями, почтовыми сообщениями и др.
Подсистемы могут быть использованы в разрабатываемой конфигурации как все вместе, так и по отдельности. С точки зрения технологии внедрения все подсистемы БСП можно условно разделить на две категории:
- Подсистемы, реализующие «самостоятельную функциональность». Внедряются простым переносом функциональности («внедрил и забыл») и не требуют существенных дополнительных настроек.
- Интегрируемые подсистемы предоставляют функциональность, предназначенную для использования в тех или иных объектах конфигурации-потребителя (т.н. «тесная интеграция»). При внедрении требуется определить состав объектов конфигурации-потребителя, для которых нужно выполнить внедрение функциональности, после чего выполнить некоторое количество дополнительных настроек, внести изменения в код и формы выбранных объектов.
Вместе с подсистемами БСП предлагает и отдельные методики разработки прикладных решений. В распоряжении разработчика имеются готовые разделы для включения в состав пользовательской документации к прикладному решению на базе БСП.
Для задачи первоначального внедрения и последующих обновлений версий БСП в прикладных решениях имеется специальный инструмент — помощник внедрения. В его функции входит поддержка принятия решений по внедрению БСП в конфигурацию, а также автоматический контроль фактического результата внедрения БСП. Поскольку принятие решений по внедрению БСП и контроль их выполнения не требуют «погружения» в технические детали реализации, то проектирование, реализация и контроль могут выполняться разными специалистами и в разные моменты времени.
Возможности библиотеки в полной мере используются и в самих прикладных решениях фирмы «1С»:
Ознакомиться с планами развития продукта можно на сайте поддержки пользователей.
Вопросы
Какие ты порекомендуешь удостоверяющие центры? С каким из них у тебя был положительный опыт?
Я бы порекомендовал использовать тот удостоверяющий центр, с которым Вы будете в дальнейшем работать в части обмена электронными документами. Пример – есть оператор электронного документооборота «Такском», у него есть удостоверяющий центр. Если Вы будете запускать электронный документооборот через «Такском», то имеет смысл и за сертификатом обращаться к ним же.
Ты говорил, что ФСБ давала какое-то разъяснение по поводу облачных сертификатов. Что если сертификат хранить не локально, а в облаке, он не может считаться усиленным. В случае стандартного обмена счетами-фактурами и УПД, мы можем использовать облачный сертификат или там требуется усиленный все-таки?
В законе написано, что при обмене счетами-фактурами требуется усиленная квалифицированная электронная подпись, поэтому “облако” тут не подойдет. А вот для других видов электронных документов — пожалуйста.
Грубо говоря, для любого стандартного ЭДО, которое мы используем в 1С, нам нужен усиленный сертификат?
Нет, не для любого. В законе написано только про электронные счета-фактуры. Их нужно подписывать именно квалифицированной электронной подписью. По поводу остальных документов ничего не написано. Это значит, что для накладных, для заказов Вы можете использовать усиленную неквалифицированную электронную подпись – в том числе и в облаке.
А про УПД там нет ничего? По сути, УПД сейчас это то же самое, что и счет-фактура.
Там есть размытое определение – счет-фактура с расширенными показателями, но это не то же самое, что УПД. Поэтому я думаю, что УПД попадает в разряд неквалифицированной электронной подписи.
А какую функцию во всей этой цепочке выполняет именно оператор – «1С-ЭДО» или «Такском»? Обычно через операторов мы отправляем документы в госорганы и обмениваемся счетами-фактурами, а при обмене другими документами с контрагентами зачем нам нужен оператор?
Операторы на рынке тоже не первый день работают, счета-фактуры ходят через них. Они так и говорят – отправляешь один счет-фактуру, а два другие документа – бесплатно. Вы же все равно счетами-фактурами будете обмениваться через них, поэтому проще и документы сами тоже через них посылать.
Другое дело, если Вы сидите на упрощенке, и у Вас нет счетов-фактур, тогда можно попросить оператора поискать для Вас недорогой тарифный план. А так в той же самой «Библиотеке электронных документов» есть возможность обмениваться документами с электронной подписью по электронной почте, через FTP и т.д. Но когда у тебя 100 контрагентов, организовывать для каждого из них свой канал связи будет сложно в плане сопровождения.
А если мы хотим протестить самоподписанный сертификат, через оператора мы можем тестировать какой-то обмен с использованием самоподписанного сертификата?
Нет, через оператора – нет. Если сильно хочется потестировать, напишите в фирму «1С», что Вы хотите подключиться к сервису ЭДО, чтобы протестировать.
Они говорят, что мы не удостоверяющий центр.
Напишите мне, я помогу.
А если мы обмениваемся без оператора ЭДО, мне приносят подписанный электронный документ, и я его хочу загрузить в 1С, чтобы хранить его там. В БСП достаточно средств для проверки, что это КЭП и у него правильные реквизиты, чтобы все это было в автоматическом режиме без модальных окон и т.д.?
Я такие кейсы на своей практике не встречал, но в БСП точно есть возможность загрузить файл и проверить его электронную подпись. Скорее всего, Вам надо будет просто под этот сценарий нарисовать какой-то мастер: проверь папку, забери документ, забери подпись, проверь это все, сложи, куда надо и скажи, что все ок. По поводу синхронности вызова – в БСП все это реализовано, все в браузерах работает в асинхронном режиме.
А если в 1С по терминалу работать? Можно ли поставить «КриптоПро» и в терминале пробросить для него ключи? Какие есть особенности, проблемы? И, соответственно, если у нас более 20 юрлиц и на каждое из них по два ключа, как идет разграничение прав к этим ключам? На уровне 1С или как?
В самом БСП, когда грузишь открытую часть ключа, есть возможность указать, какому пользователю она будет доступна. Там можно, войдя под своим именем, видеть только свои сертификаты. Но при этом они все будут находиться на самом компьютере. Поэтому, сами понимаете, устанавливать закрытую часть в реестр точно не нужно, потому что закрытая часть ключа без проблем переносится с машины на машину.
Лучше используйте токены. Есть возможность пробросить токен с закрытой частью ключа до терминального сервера. Ребята-производители ключей сами помогают это настроить так, чтобы в терминале этот ключ был виден. Попробуйте, поэкспериментируйте, найдите другие ключи, найдите людей, которые помогут настроить.
Но здесь нужно понимать, что этот туннель от терминального сервера до вашего ключа не безопасен. Ты генеришь электронный документ на терминальном сервере и говоришь – подпиши. Что произойдет? Идет передача данных по незащищенному каналу сначала на локальный компьютер, где установлен ключ, формируется электронная подпись, потом данные передаются обратно на терминальный сервер.
Но этот канал не защищен. Его можно защитить только с помощью установки специализированного программного обеспечения, которое делает туннель между терминальным сервером и локальной машиной безопасным. Если хочешь работать безопасно, значит, нужно поставить токен, пробросить его до терминалки и поставить ПО для шифрования канала между терминальным сервером и клиентской машиной.
Скажите, есть ли какая-нибудь разница по скорости работы между подписанием электронного счета-фактуры и отсканированного договора в 100 страниц (где чисто графика).
Чем больше документ, тем он медленнее подписывается, потому что там идет асинхронное шифрование – хэш вычисляется по асинхронному алгоритму. Но с точки зрения того, подписываете ли Вы электронную счет-фактуру в несколько строк или 10Мб файл – визуально разницу Вы не заметите. Заметите только на объемах в 1000-3000 документов.
По поводу роуминга 1С-ЭДО. В «Такском» есть роуминг между операторами. А насколько это работоспособно в «1С-ЭДО»? У Вас есть такой опыт? Потому что все контрагенты сидят на разных операторах и выбрать оператора с максимальным покрытием очень сложно. Кого бы Вы посоветовали?
Если выбирать между «1С-ЭДО» и другими, то конечно, «1С-ЭДО». Но у «1С-ЭДО» есть некоторые проблемы с роумингом – он не так много операторов поддерживает. Есть отдельный ресурс по 1С-ЭДО, там приведен список поддерживаемых операторов, думаю, что он должен со временем пополниться.
А где хранить архив подписанных документов? Локально в компании или в облаке? Можно ли обеспечить валидность сохраняемых в облаке документов?
Где мы храним подписанные документы (в облаке или нет) – неважно. Математически хэш уже вычислен, и содержимое документа бесследно уже не подменить. Вы его потом можете хоть 10 раз куда-нибудь передавать, подпись всегда можно будет проверить чисто математически. Если облачный сервис удобный – пожалуйста, храните в нем, это, наверное, даже интереснее.
А оператор такую услугу предоставляет?
Если с ним отдельный договор заключать для хранения бэкапов – они это делают за отдельные деньги.
А разве подписанные документы у них не хранятся?
Физически они хранятся, но по закону они не обязаны их хранить. Они обязаны хранить только квитанцию. Если к ним налоговая придет и спросит – проходил ли такой-то документ, они покажут, да, вот квитанция, смотрите – подпись такая-то. А что там внутри этого документа – это уже не к ним вопрос.
А для УПП операторы не предоставляют какую-нибудь обработку для ЭДО?
Про операторов не могу сказать, их много, и у каждого есть свои разработки, но в самом УПП электронный документооборот есть.
****************
Данная статья написана по итогам доклада, прочитанного на конференции INFOSTART EVENT 2021 COMMUNITY. Больше статей можно прочитать здесь.
В 2020 году приглашаем всех принять участие в 7 региональных митапах, а также юбилейной INFOSTART EVENT 2020 в Москве.
Выбрать мероприятие.
Механизм криптографии в платформе «1с:предприятие 8»
Механизм криптографии в платформе появился с версии 8.2 – это достаточно молодой механизм. Сама платформа не содержит криптоалгоритмы, она содержит только вызовы и объекты, с помощью которых можно обращаться к криптосредствам, находящимся на компьютере:
- для Windows – это интерфейс CryptoAPI;
- для Linux таких интерфейсов нет, идет непосредственное обращение к модулям криптографии.
Отсюда становится понятно, что криптографию можно применять, только если на компьютере установлено криптосредство. И, с другой стороны, что саму платформу «1С:Предприятие» не требуется сертифицировать с точки зрения криптографии.
Основные криптографические операции в платформе «1С:Предприятие 8»:
- Вы знаете, что платформа может работать в разных режимах: толстый, тонкий, веб-клиент, внешнее соединение и мобильное приложение. Во всех этих режимах запуска криптография поддерживается – для мобильного приложения поддержка криптографических механизмов появилась с версии 8.3.10. Я бы рекомендовал читать «Синтаксис-помощник» и смотреть, какие методы доступны в том или ином режиме запуска, потому что там есть ограничения.
- Платформа позволяет работать с сертификатами открытого ключа (X.509), которые установлены на компьютер. Мы не можем выпустить новый сертификат или запросить его выпуск, мы работаем только с тем, что имеем – с помощью механизмов платформы мы можем найти сертификат на компьютере, прочитать его атрибуты, выгрузить его в файл и проверить, насколько он валидный.
- Я на своей практике часто сталкивался с непониманием того, как в платформе работает шифрование и расшифровка. Это особенно важно, когда Вы делаете интеграцию с каким-то внешним подрядчиком, который работает не на 1С. Когда Вы зашифровали документ, отправили его на ту сторону, а там пробуют расшифровать. Например, часто возникают вопросы, если при настройке криптопровайдера в 1С был указан алгоритм ГОСТ 28147-89, который является симметричным, а при расшифровке требуется обращение к закрытому ключу. Напомню, что симметричный алгоритм шифрования подразумевает, что для шифрования и расшифровки Вы используете один и тот же ключ. А ассиметричное шифрование – это когда данные шифруются с помощью открытого ключа, а для расшифровки используется другой, закрытый (секретный) ключ. Подрядчики спрашивают: «Но Вы же сказали, что алгоритм шифрования симметричный, почему тогда при расшифровке нужна закрытая часть ключа?» Давайте разберемся, как работает механизм шифрования в платформе:
- случайным образом создается некий ключ фиксированной длины, с помощью которого набор данных шифруется по симметричному алгоритму;
- затем сам ключ шифруется асимметричным алгоритмом с помощью публичного ключа сертификата-получателя;
- шифрование с помощью симметричного алгоритма работает быстрее – мы им большой объем данных зашифровали, а потом маленький ключ фиксированной длины быстро шифруем с помощью асимметричного алгоритма;
- зашифрованные данные, список сертификатов-получателей и сам зашифрованный ключ упаковываются в один пакет данных по спецификации PKCS#7;
- этот пакет отправляется на сторону получателя;
- а расшифровка работает в обратном порядке.
- Подписание и проверка электронной подписи. При подписании средствами платформы идет обращение к закрытой части ключа и производится встроенная в платформу проверка целостности (математической валидности) подписи. С точки зрения юридической значимости этого недостаточно. Если Вы хотите проверить электронную подпись под документом, Вы должны проверить:
- действие сертификата;
- математическую валидность данных, которые Вы прислали.
Именно так сделано в механизме БСП – об этом речь пойдет чуть позже. Платформа этого не делает.
Решение второе, автоматическое
Как писал выше, в моем случае ручное решение не подошло. Контрагентов много, для каждого за месяц создается несколько десятков документов. Их все нужно сохранить в PDF, подписать, отправить одним письмом. Для решения задачи придумали модифицировать и использовать стандартную для многих конфигураций обработку «Групповая обработка справочников и документов».
Обработка уже умеет печатать отобранные документы. В последних версиях платформы появился штатный механизм сохранения печатных форм в виде PDF файлов. Осталось совместить эти два механизма и сохранять выбранные пользователем документы в папку на локальном компьютере, а затем запускать командную строку и запускать утилиту КриптоПро PDF для выполнения подписи.
Немного доработали интерфейсную часть. Убрали из обработки работу со справочниками. Оставили в интерфейсе 4 вида документов, которые нужно отправлять. Изменили систему отборов. Создали новый регистр сведений Настройки ЭЦП. В него для каждого пользователя сохраняется информация о том, по какому пути лежит КриптоПро PDF на локальном компьютере, папки для временного хранения файлов, сертификат, которым будет выполнена подпись. Еще просили сохранять пин от ключа, но мы не стали этого делать из соображений безопасности.
Чтоб автоматизация была уж совсем полной, пришлось в 1С оживить модуль электронной почты. Дальше все просто. Раз в месяц оператор выбирает список контрагентов и виды документов, которые должны быть отправлены, проверяет результат отбора, нажимает кнопку Выполнить, вводит пин-код от ключа и ждет… В моем случае формирование пакета документов может длится несколько часов.
Обработка группирует отобранные документы по контрагентам, дальше циклом проходится по каждому контрагенту, выбирает все его документы, сохраняет в виде PDF-файлов на диск, запускает утилиту КриптоПро PDF из командной строки, подписывает сохраненные документы, создает документ Электронное письмо с контактными данными из справочника контрагентов, в качестве вложения прикрепляет подписанные документы из папки на диске, переводит письмо в статус для отправки и переходит к следующему контрагенту.
Для удобства приведу кусочек кода, который выполняет саму процедуру подписания. Все параметры берутся из созданного регистра сведений.
МассивВходящих = НайтиФайлы(КаталогВходящие, "*.pdf", Ложь);
КоличествоФайловВходящие = МассивВходящих.Количество();
Сообщить("Обнаружено " КоличествоФайловВходящие " файлов для подписи.");
КоманднаяСтрока = ИмяФайлаКриптоПро " sign"
" --in-dir=""" КаталогВходящие """"
" --out-dir=""" КаталогИсходящие """"
" --report-dir=""" КаталогЛоги """"
" --err-dir=""" КаталогОшибки """"
" --certificate=""" ИмяФайлаСертификата """"
" --pin=""" ПинКод """"
" --overwrite-files";
ЗапуститьПриложение(КоманднаяСтрока, "", истина);
МассивИсходящих = НайтиФайлы(КаталогИсходящие, "*.pdf", Ложь);
КоличествоФайловИсходящие = МассивИсходящих.Количество();
Сообщить("Подписано " КоличествоФайловИсходящие " файлов.");
Трудности внедрения криптографии и эп в организациях
Какие бывают основные проблемы?
- Если Вам потребуется установить на один компьютер два криптосредства, произойдет конфликт. Например, если у Вас отчетность работает через VipNet, а электронный документооборот с контрагентами через «КриптоПро». Как решить эту проблему?
Первый вариант – разнести эти криптосредства по разным компьютерам.
Если это невозможно, тогда для одного из сервисов нужно выпустить сертификат на другом криптосредстве – когда Вы заказываете сертификат в удостоверяющем центре, Вы можете указать, для какого криптосредства Вы его будете использовать.
- Иногда у клиентов не работает криптография в браузере IE – требуется установить расширение, но оно не ставится. Банальный совет – запустите браузер от имени администратора. Это позволит установить расширение, и проблема будет решена.
- Программа 1С не всегда видит токены JaCard. Я не знаю в чем проблема, то ли в JaCard, то ли платформе. Переустанавливаешь криптосредство – оно какое-то время работает, а после перезагрузки системы снова слетает. Почему-то 1С и JaCard не очень дружат.
- Есть еще одна проблема – при проверке сертификатов платформа всегда пытается проверить, насколько этот сертификат надежный, и иногда ей это не удается. Почему это происходит? Есть список отзывов, куда включаются недействительные сертификаты. Например, когда сотрудник уволился из компании, она должна сообщить в удостоверяющий центр, что сотрудник уволился, и его сертификат не действителен. После чего удостоверяющий центр выпускает список отзывов, куда включается этот сертификат, после чего он начинает считаться невалидным. Иногда почему-то проверить сертификат в списке отозванных не удается. В чем проблема? Эти списки отзывов к 1С никакого отношения не имеют, они обновляются автоматически самим криптосредством. Для этого с удостоверяющим центром должен быть настроен стабильный канал. Если список отзывов автоматически не обновляется, это значит, что в удостоверяющем центре недостаточно слажено настроена служба, либо она вообще отсутствует. Смените удостоверяющий центр, и проблема уйдет.
- Когда сертификатов становится много (например, больше 30-ти), начинаются сложности. Допустим, Вы перевели бизнес на электронные рельсы, и в разгар рабочего дня выясняется, что подпись невалидна, потому что ее сертификат закончился. Выпуск сертификата занимает некоторое время, бизнес «на ушах», Вы тоже. Для таких случаев нужно использовать специализированное ПО для ведения списка сертификатов. Есть программы, которые позволяют контролировать жизненный цикл сертификата, и когда у него срок действия заканчивается, они отправляют администратору напоминалки. Это банальный вариант, но он позволяет более-менее упорядочить сертификаты.
- Обмен с данными из 1С происходит с серверов, поэтому:
- открываете порты на серверах 1С:Предприятия;
- права учетной записи сервера должны быть «Выход в интернет»;
- если у Вас кластер серверов, значит, у всех 1С-серверов, входящих в кластер, должны быть открыты порты.
- Если нет доверия к внешнему ресурсу, есть отдельная статья на ИТС «Диагностика проблемы “Удаленный узел не прошел проверку”».
- Базовые правила безопасности:
- пароли на стикерах не храним;
- поработав, вынимаем токены из машин;
- регулярно обновляем антивирус.
Иначе получится так, что Вы поставили сертифицированные криптосредства, ключи, а вокруг ходят вирусы, которые могут этим воспользоваться. Поэтому защищайте периметр.
Электронно-цифровая подпись для внутреннего документооборота
Универсальная программа-обработка для распознавания ЛЮБЫХ СКАНОВ ИЛИ ФОТО ТОВАРНЫХ ДОКУМЕНТОВ и загрузки в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC,XLS, HTML и т.д.) выбираете документ 1С и нажимаете кнопку “Распознать и загрузить”. Программа сама находит таблицу в файле, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С. Вместе с номенклатурой может найти контрагента, номер и дату документа, штрих-коды, серии ГТД, страну и т.д. Распознает документы ЛЮБОЙ ФОРМЫ (УПД, ТОРГ-12, накладную, заказ клиента, установку цен и т.д.). Содержит модуль работы с электронной почтой. Для поиска таблиц используются новейшие методы OCR-нейросети. Загружает только то, что нужно, т.е. пропускает повторы шапки таблицы, заголовки, промежуточные итоги, подписи и т.д. При пополнении баланса загрузок вы получите 1 месяц бесплатной тех.поддержки.
4500 руб.
04.06.2021
41763
133
96