Как подписать расширение ключом 1с
На одном из крупных проектов возникла не совсем обычная для 1С задача. Нужно было организовать массовую отправку и подписание документов контрагентов с помощью электронной цифровой подписи. Поиск информации в справочной системе и на 1Сных форумах нужного результата не дал. Пришлось разбираться со средствами криптографии, электронными ключами и сторонними утилитами. Найденное решение оказалось простым и достаточно гибки для повторения в других проектах, поэтому хочу с вами поделиться.
Постановка задачи в цифрах:
• На предприятии заказчика работает почти 3000 человек в более 50 филиалах по всей России.
• На предприятии заказчика используется УПП 1.3 (платформа 8.2.19.76).
• Более 10 000 активных контрагентов.
• Для большей части контрагентов (покупателей) раз в месяц нужно отправлять документы в электронном виде (Счета, акты, счета-фактуры, РТУ и т.д.). Всего, около 100 000 документов.
• На отправку документов выделяется 2 рабочих дня.
• В процедуре отправки должно быть задействовано минимальное количество людей. Сейчас их число удалось сократить до 2х человек.
• Документы должны отправляться по электронной почте в виде вложенных PDF-файлов. Каждый PDF-файл должен быть подписан ЭЦП.
Два слова, что вообще собой представляет ЭЦП. Для подписания и работы с файлами используется два ключа: закрытый и открытый. Закрытый ключ хранится у Вас на токене и используется для подписания или шифрования документов. Открытый ключ должен быть распространен всем пользователям, которые должны работать с подписанным Вами документом. Обычно это происходит автоматически при подписании файла. Далее, есть файл, который нам нужно подписать. С помощью специального ПО из содержания файла и Вашего закрытого ключа создается уникальная символьная последовательность, что-то вроде контрольной суммы. Эта последовательность и есть электронно-цифровая подпись. ЭЦП всегда уникальна для данного пользователя и данного документа. Подпись содержит информацию о дате подписания документа, подписанте, контрольную сумму для подписанного документа и ссылку или сам файл открытого ключа. Подпись может быть добавлена в подписываемый файл или сохранена в виде отдельного файла. Нас, конечно, интересует первый вариант.
Решение первое, полу-ручное
Подавляющее большинство ключей ЭЦП выпускаются в виде eToken или Rutoken USB-модулей. В моем случае был eToken. Кто не знает, основное отличие состоит в том, что eToken имеет встроенный аппаратный криптографический сопроцессор. Это значит, что при шифровании данных закрытый ключ не покидает токена. В нашем случае эта разница значения не имеет.
Не буду рассматривать установку драйверов USB-ключей. Они, как правило, поставляются выпускающим удостоверяющим центром вместе с самими токенами и установка проблем не вызывает. Еще с токенами обычно поставляется лицензия на КРИПТО-ПРО и утилита КриптоПро CSP. Я использовал последнюю доступную на данный момент версию 3.9.
Дальше все просто. Запускаем КриптоПро CSP. Закладка Сервис, кнопка Посмотреть сертификаты в контейнере, нажимаем Обзор для выбора токена с криптохранилищем, и выбираем нужно нам хранилице. Обычно на одном токене одно хранилище.
Нажимаем Далее и получаем окошко с информацией по сертификату, к которому привязан ключ. Ждем кнопку Установить и устанавливаем сертификат в хранилище Личное для локального пользователя. Обычно, вместе с утилитой КриптоПро CSP в меню Пуск устанавливается ярлык для оснастки Сертификаты. Запускаем оснастку, убеждаемся, что все правильно сделано и сертификат действительно установился в раздел Личное для текущего пользователя.
Дальше, Кликаем правой кнопкой по установленному сертификату, Все задачи, Экспорт. Обязательно отказываемся экспортировать закрытый ключ и сохраняем сертификат куда-нибудь на локальный компьютер, например, на рабочий стол, в формате файла X.509 (.CER) в кодировке DER. Сохраненный сертификат нам понадобиться дальше для выполнения подписи.
Работа утилиты крайне проста. Выбираем папку в которой находятся PDF-файлы, выбираем папку в которую будут сохранены файлы с подписью (если это одна и так же папка, в дополнительных настройках нужно установить флажок «Перезаписывать файлы с одинаковыми именами») выбираем из контейнера сертификат, который будем использовать для подписи, вводим пин от ключа и, если все указали правильно, через несколько секунд в папке-приемнике появятся подписанные PDF-файлы. Для того, чтоб ЭЦП признавалась юридически, по закону, должна быть установлена еще метка времени, но мне для задачи это не требовалось.
В принципе, все! Если у Вас небольшая организация и пара десятков контрагентов то можно вообще ничего больше не делать и оставить все в ручном режиме. Кроме того, 1С нам пока вообще не была нужна, документы в формате PDF можно создать многими способами, в том числе и из Microsoft Office.
Долго не мог разобраться, почему подпись не проходит и выдает ошибку. Оказалось, что успешной работы утилиты КриптоПро PDF на компьютере должна быть установлен Adobe Acrobat Pro (не Reader, это важно!). Именно с его помощью утилита модифицирует PDF-файлы и добавляет и них подпись.
Пример подписанного файла на картинке. Выглядит как обычный PDF, только на закладке Подписи появились данные о подписанте. Из важного, указано кто подписал документы (обычно это ФИО и название организации) и что с момента подписания документ не изменялся. Информацию о том, что сертификат ненадежный можно игнорировать. Это говорит только о том, что компания Adobe и ее продукт Acrobat Reader ничего не знают о Вашем сертификате.
Решение второе, автоматическое
Обработка уже умеет печатать отобранные документы. В последних версиях платформы появился штатный механизм сохранения печатных форм в виде PDF файлов. Осталось совместить эти два механизма и сохранять выбранные пользователем документы в папку на локальном компьютере, а затем запускать командную строку и запускать утилиту КриптоПро PDF для выполнения подписи.
Немного доработали интерфейсную часть. Убрали из обработки работу со справочниками. Оставили в интерфейсе 4 вида документов, которые нужно отправлять. Изменили систему отборов. Создали новый регистр сведений Настройки ЭЦП. В него для каждого пользователя сохраняется информация о том, по какому пути лежит КриптоПро PDF на локальном компьютере, папки для временного хранения файлов, сертификат, которым будет выполнена подпись. Еще просили сохранять пин от ключа, но мы не стали этого делать из соображений безопасности.
Чтоб автоматизация была уж совсем полной, пришлось в 1С оживить модуль электронной почты. Дальше все просто. Раз в месяц оператор выбирает список контрагентов и виды документов, которые должны быть отправлены, проверяет результат отбора, нажимает кнопку Выполнить, вводит пин-код от ключа и ждет… В моем случае формирование пакета документов может длится несколько часов.
Обработка группирует отобранные документы по контрагентам, дальше циклом проходится по каждому контрагенту, выбирает все его документы, сохраняет в виде PDF-файлов на диск, запускает утилиту КриптоПро PDF из командной строки, подписывает сохраненные документы, создает документ Электронное письмо с контактными данными из справочника контрагентов, в качестве вложения прикрепляет подписанные документы из папки на диске, переводит письмо в статус для отправки и переходит к следующему контрагенту. Письма отправляются регламентным заданием раз в 10 минут. Обработку можно оставлять на ночь. Возникшие проблему будут корректно обработаны, а утром пользователь увидит журнал шибок и журнал отправленных писем.
Для удобства приведу кусочек кода, который выполняет саму процедуру подписания. Все параметры берутся из созданного регистра сведений.
Инструкция по созданию патчей (оперативных исправлений ошибок)
1. Патчи следует выпускать для оперативного исправления критичных ошибок в прикладных решениях и библиотеках, не дожидаясь выпуска очередного исправительного релиза ("минуя" длительную процедуру выпуска и встраивания библиотек – в случае ошибок в библиотеках).
Критичность определяется ответственным за прикладное решение (библиотеку).
2. Технически патч – это расширение конфигурации, которое имеет небольшой размер (по сравнению с файлом поставки или обновления конфигурации), и установка которого не требует длительного обновления и блокировки работы пользователей. Для применения патча достаточно перезапустить сеанс.
Установка и удаление патчей реализована в 1С:Библиотека стандартных подсистем, а в 1С:Библиотека интернет-поддержки предусмотрена автоматическая загрузка патчей с портала 1C:Обновление программ. Вариант установки патчей (ручной или автоматический) в "коробках" контролирует администратор, а в модели сервиса – администратор сервиса (требуется подключение экземпляра облачного решения 1C:Fresh к порталу 1С:ИТС). Для "коробок" и облачных решений без подключения к интернету также возможно загружать интересующие патчи с портала 1C:Обновление программ на флешку и устанавливать с нее.
3. Создавать патчи можно с помощью конфигуратора или автоматически по исправленным в хранилище ошибкам с помощью 1С:Система проектирования прикладных решений (СППР). С помощью СППР патчи формируются автоматически по закладкам в репозитории git, рассчитывается применимость патча к версиям конфигурации (а для библиотек – к версиям всех прикладных решений, в которые она встроена); автоматизирована публикация и отзыв патчей, есть подписание патчей для базовых версий, а также целый ряд других полезных сервисов.
Создание патчей с помощью конфигуратора
Затем открыть конфигуратором информационную базу одной из прошлых версий, в которой имеется исправляемая ошибка, и перенести изменения по ошибке в расширение конфигурации.
Для этого создать новое расширение конфигурации (если изменять ранее созданное расширение для другой ошибки, то это приведет к исключению при одновременном подключении этих расширений) и выполнить действия:
- Указать свойства расширения:
- Имя – "EF_". Например, EF_00_00268773.
- Префикс имен – берется из свойства имя.
- Основные роли – снять флаг.
- Основной язык – снять флаг.
- В группе Совместимость – снять флаги у всех свойств.
- Режим совместимости - указывать равный или ниже тому, что у конфигурации, для которого оно создается.
- Не удалять объект метаданных Язык – Русский.
- Перенести изменения в расширение-патч.
- Для процедур и функций – встать на любой строчке и нажать ALF+SHIFT+F2, в диалоговом окне "Тип выбора" указать "Вызывать вместо".
- В метод патча перенести текущую реализацию со всеми необходимыми изменениями.
- Создать и заполнить макет, который описывает содержимое патча и информацию о нем:
- Добавить общий макет, имя которого совпадает с именем расширения. Например, EF_00_00268773.
- Заполнить содержимое макета по примеру:
- Name – должно совпадать с именем патча из расширения
- Description – описание для пользователя, будет отображаться в списке установленных патчей.
- UUID – уникальный идентификатор патча. Требуется создать новый, получив методом платформы Новый УникальныйИдентификатор.
- ModifiedMetadata – изменяемые объекты метаданных.
- AppliedFor – блок, в котором описывается к каким конфигурациям подходит данный патч.
- ConfigurationName – имя конфигурации, берется из описания подсистемы в модуле ОбновлениеИнформационнойБазы.
- Versions – список версий конфигурации через запятую, для которой применим патч.
- Рекомендуется при проверке патча проверять, что данный макет корректно читается и в нем нет ошибок – для этого нужно перейти к списку установленных исправлений (Администрирование – Обслуживание – Установленные исправления).
При переносе исправления ошибки в расширение следует учитывать следующее. Новые процедуры и функции следует добавлять в расширение с префиксом патча, например, вместо
Если этого не сделать, то возникнет ошибка при удалении патча после обновления на новую версию конфигурации, в которой уже существуют одноименные новые процедуры и функции.
Создание патчей с помощью Системы проектирования прикладных решений (СППР)
Первичная настройка
- Развернуть сервер репозиториев git (например, GitLab) и указать его адрес в карточке проекта в СППР.
- на закладке Разработка в группе Настройки Git-репозитория указать параметры подключения к репозиторию git, в котором ведется разработка.
- В параметр Каталог git репозитория должен быть указан путь к сетевой папке, в которой будет храниться копия хранилища для создания патчей. В этой папке должен быть доступ у пользователя, под которым запущен сервер СППР.
- В параметре Адрес git репозитория на сервере указать путь для подключения к удаленному серверу по протоколу SSH. Например, git@:ssl/ssl.git
- Имя ветки – master.
- для исправительных версий необходимо указать имя ветки репозитория – перейти к карточке версии и на закладке Разработка заполнить поле "Ветка разработки".
- В настройках удаленного репозитория Git нужно добавить Deploy key для пользователя под которым работает сервер СППР.
- для конвертации хранилища 1С в репозиторий git также использовать 1С:ГитКонвертер.
- на закладке Разработка в группе Настройки Git-репозитория указать параметры подключения к репозиторию git, в котором ведется разработка.
- Переключиться на закладку Общая информация проекта и заполнить поля Имя конфигурации – то, что указано в модуле ОбновлениеИнформационнойБазы и Идентификатор программы – идентификатор в сервисах Интернет-поддержки пользователей. Если СППР будет использоваться только для создания патчей, без их публикации, то идентификатор программы заполнять не обязательно.
- В карточке версии:
- на закладке Наследование ошибок и патчи включить флажок "Автоматически создавать патчи по публикуемым ошибкам";
- заполнить поле Версия платформы. Значение должно совпадать с режимом совместимости платформы для данной версии конфигурации.
Создание патчей для ошибок
Отзыв патчей с портала 1C:Обновление программ
В случае если ошибка исправлена неверно, требуется отозвать патч и выпустить новый. Но не следует перевыпускать патч или выпускать патч на патч.
При публикации патча из СППР необходимо:
- Открыть карточку интересующего патча.
- В меню Еще списка версий патча нажать Отозвать. После чего информация об отзыве патча будет отправлена на портал 1C:Обновление программ.
Если патч публиковался вручную на портале 1C:Обновление программ, то отзыв так же выполняется вручную.
После доисправления ошибки появится возможность вновь опубликовать патч для нее.
Если патч не удалось создавать автоматически
Не во всех случаях возможно создать патч автоматически, например:
- изменения по ошибке пересекаются с другим исправлением и патч нельзя применить ни к одной из опубликованных сборок конфигурации;
- содержит изменения, которые не касаются кода и на данный момент не поддерживаются автогенератором патчей в СППР;
- особенности или ограничения автогенератора патчей.
В первых двух случаях рекомендуется выполнить оставшиеся действия вручную, внеся изменения непосредственно в сформированное расширение, и опубликовать получившийся патч.
Рекомендации и ограничения технологии патчей
Патчи подходят для исправления ошибок:
- в программных модулях (общих модулях, модулях форм, модулей менеджеров, объектов, наборов записей и пр.)
- в "коробочных" версиях, в модели сервиса и в базовых версиях;
- в типовых (на полной поддержке), доработанных типовых и нетиповых конфигурациях (которые включают публикуемые библиотеки).
Патчи не подходят:
- для исправления обработчиков обновления, которые портят данные;
- для изменения пользовательских данных;
- для добавления реквизитов, справочников, перечислений и других объектов метаданных, хранящих данные.
Один патч должен "точечно" исправлять только одну ошибку
В одном патче для одной ошибки могут содержаться исправления сразу для нескольких процедур и функций различных модулей одной конфигурации (библиотеки). Но если для исправления ошибки необходимо внести изменения синхронно в код двух и более библиотек (или, например, конфигурацию и библиотеку), то следует разделить ее на несколько ошибок на каждую библиотеку, и выпустить для этих ошибок несколько отдельных патчей.
Патчи не должны создаваться "внахлест"
В случае если одна ошибка имеет разные способы исправления в нескольких поддерживаемых версиях прикладного решения, следует выпускать несколько патчей для каждой версии.
Тщательно проверять патчи
Поскольку патч публикуется максимально оперативно, то рекомендуется дополнительно проверять патч отдельно от проверки исправления ошибки:
- в опубликованной версии конфигурации (библиотеки) – сначала убедиться, что ошибка воспроизводится;
- затем установить патч и убедиться, что ошибка исправлена.
Не следует полагаться только на успешное подключение патча к конфигурации, или что патч успешно собран автоматически (есть также ограничения технологии патчей и платформы).
Проверка патча важна в полном объеме, во всех ветках, для которых он будет публиковаться.
Кроме того, для проверки патчей настоятельно рекомендуется:
- аудит исправления ошибки другим разработчиком;
- перекрестная проверка исправления тестировщиком или другим разработчиком.
Если проверка исправления ошибки требует регламентного тестирования (например, обязательно подтверждение исправления регрессионными тестами и т.п.), то патч также не следует публиковать до того, как исправление ошибки пройдет все предусмотренные этапы проверки.
Патч рекомендуется публиковать только после выполнения перечисленных этапов проверки.
Подпись патчей для базовых версий конфигураций
Для того, чтобы созданный патч установился в базовой конфигурации он должен быть подписан тем же ключом, что и сама базовая конфигурация.
Подскажите, разрешено ли подключать к базовой УНФ расширения (допустим через "все функции")? Не нарушу ли я лицензию 1С? А то конфигуратором лазить нельзя, а расширения к нему приравниваются?
расширение в базовой не работает. Чтобы заработало расширение оно должно быть подписано специальным ключом, который есть только у 1С, так что только расширение от 1с предназначенные для базовой будут работать в самой базовой. Твои самописки он не примет. Так что если удастся подключить, приходи, с удовольствие почитаем как это сделать
Если у тебя расширение доступно - значит у тебя лицензия на платформу не базовая, а ПРОФ.
(2)(3) благодарю за подробное разъяснение, жаль что нельзя. Базовая не у меня, а у знакомого, поэтому просто проверить нет возможности.
что-то в последнее время стало подозрительно много тем всплывать, где базовые 1С хотят по сети заставить работать, на веб опубликовать, расширение прикрутить.
кулибины блин
(8) а зачем иметь проф и платить за 1с, если базовой хватает ?
у меня клиент (ИП) с базовой БП купил платформу и мы ему несколько расширений сделали. Он доволен
(10) у каждого своё ключевое.
клиент 5 лет работая в базовой считает, что гораздо выгоднее 1 раз купить платформу, которая дешевле кп базового годового, чем 5 лет за кп платить и я его понимаю.
за 1с отчёность и 1с контрагент платят
(11) всё-таки _расширения_ работают на платформе _проф_
И им в этом случае как бы и все равно, а в какой же базе работает это расширение. Базовая база? Ну и 1С предоставляет свою поддержку для базовой версии.
Можно предположить, что со временем эту фичу уберут, когда базовая база способна работать на платформе с проф лицензией, что значительно расширяет ее возможности.
И это не единственная такая прикольная фича у платформы 1С. Можно и возможности серверного режима получать абсолютно ничего не взламывая, просто использовать и все штатными средствами.
Причем, теперь уже два варианта для получения режима сервера доступны, а раньше был только один. Причем, прямо "из коробки"
(12) у меня есть пару случаев наоборот, когда у клиента изначально была БП ПРОФ, сейчас купили базовую, даунгрейдили конфу с ПРОФ до Базовой и юзают на том же компе с лицензией от ПРОФ, с расширениями, без ограничений количества активаций, но с бесплатным обновлением базовой конфы и без ИТС - доволны
(8) я за январь продал коробок больше, чем за прошлые полгода. У франча Розницы проф в наличии нет, срок поставки неделя.
И это притом, что франч самый крупный по ЮФО.
(11) А в чем отличие по цене владения БП от платформы Проф + базовая БП?
Обновление платформы без ИТС вроде бы тоже как нельзя
(20) А как ты можешь доказать, что не имеет права? У него купленная базовая и он получает просто платформу.
Тут просто незакрытая дырка (или фича) через которую заходит расширение конфигурации в базовую базу.
Проблема именно в использовании дырки, а не в обновлениях, на которое право таким вот нехитрым образом оказалось в наличии.
(23) легко, так же как с обновление. Установленная версия была выпущена в момент когда пользователь не имел право ее устанавливать
(24) Ну и к чему эти повторения?
Клиент просто берет обновление от _базовой_, с ее правами. Других обновлений он не берет. Конфигурацию и платформу.
ЮСБ-ключ или программный клиентский проф версии обновлений не просит.
Расширение он в 1С не обновляет - формально, использование расширения взломом базы не является,
а становится доступным при наличии проф-лиц-ключа, который действительно покупался однократно.
(26), (27) Еще раз, не претендую на истину, но формально у 1С есть право взять вас за попку за это дело. и в суде против адвокатов и экспертов ваши отмазки, "а я не знал", " а как вы нашли", против бумажки от эксперта что это расценивается Правообладателем как нелицензионное использования у вас нет шансов.
Одно дело когда вы дома под одеялом юзаете. Тут понятно, что никто к вам не придет, потому что вы никому не нужны.
А другое дело когда вы рекомендуете такую связку клиенту. Вот с 1 февраля 1С встроила проверки в платформу, просто вполне может настать момент когда 1С это пофиксит, и вы будете иметь бледный вид перед клиентом. Если конечно у вас нет привычки раз в полгода симку менять.
Так то мне пофиг, хоть кряк юзайте, я просто оставил свое мнение и не готов дискутировать по этому вопросу.
При определенных условиях на линуксе можно работать без ключа, но это же не означает что правообладатель считает это законным и слова "ну мы то 1с купили, а то что там работает 5 человек - ну программа же дала" за отмазку не катят
(28) Тогда объясни _формально_ с какой формулировкой, по твоему мнению, будет выставлена претензия от лица 1С.
Имеем такую картину.
Клиент условно говоря купил две поставки. Базовая и Проф.
ИТС не покупал.
Юзает один и тот же комп, на который он все установил.
Техническая возможность установки обновлений платформы и конфигурации из базовой проф.
Что предъявит 1С ?
(32) Да ничего не предъявит. Другой вопрос, что фичу теоретически могут прикрыть - тут (28) прав. Но вероятность такого 0.1%
(34) гипотетически 1с может изменить любые правила
у меня и так ощущение, что у них новая фишка, загнать всех в своё облако и таким образом отжать простых клиентов себе у франчей, фри и т д
(34) почему прав (28), если это было указано еще в (12)
(35) тут даже не само облако, как можно более плотный интерактивный режим получения данных клиентом из сервисов 1С
И отжатие будет не от тех, кто франч самого 1С, а других поставщиков сервисов. Либо этим поставщикам сервисом придется встраиваться в 1С каким-то способом.
Например, тот же самый Диадок, который собирает годовую абонентку, сопоставимую со стоимостью ИТС
(35) Это-то понятно. Но в данном конкретном случае 1С не пойдёт на геморрой с разделением лицензий на платформу из-за считанного числа умников использующих эту фичу.
(36) >> почему прав (28), если это было указано еще в (12)
Прав в том, что рекомендовать эту клиенту крайне странно. в принципе как и работать с клиентами, которым такая фигня интересна ;)
специально развернул бух базовую, ключ аппаратный проф. действительно, дает создать расширение в базовой версии. насколько это законно ?
интересует другой вопрос, может не в тему, но все таки, почему в бух типовых, нет характеристик номенклатуры в т.ч. счета и др. документов. приходится или дорабатывать типовую. или пользователи создают кучу номенклатуры с размерами или другими характеристиками
(39) есть мнение, которое пока никто не опровергал и не доказывал где-либо, что использование базовой с ключом проф (а без него расширение не заработает)
превращает базовую в проф и надо ее после этого расширения считать проф и для обновлений брать обязательно ИТС
А поскольку ИТС как раз и не хотят брать в таких случаях, то и расширять базовые профками нельзя.
(43) >> превращает базовую в проф
только это две разные конфигурации, "превратить" одну в другую может только явный переход. Платформа, например, у тебя может от УТ быть.
(46) Так если в лоб логически проводить мысль, то тогда будет еще хуже, чем к Базовой БП приставить Проф БП и не покупать ИТС.
Потому что тогда не будет не только покупки ИТС нужного вида, но и сама поставка не будет соответствовать режиму использования.
(47) Так никто не "приставляет" Проф БП и не использует. Вопрос есть ли юридические ограничения (в Лиц.Согл.) на такое использование базовых.
(50) Наверное, в том, что он будет обновленной платформой пользоваться для входа в необновляемую (без ИТС) ПРОФ-базу? :)
(55) "половина функционала, который раньше был доступен 1С решила, а теперь этот функционал будет за деньги" // Не было такого. Сейчас тоже много чего недоступного, что технически не проверяется. Про КОРП все это оговорено было с самого выхода 8.3, когда это собственно и появилось.
(41) ну, в БП счет вроде все же есть.
а даже если и не было бы - то тоже было понятно. Счет- это НАМЕРЕНИЕ. бухгалтерия намерениями не оперирует ;-)
(57) ИТС Техно и сейчас есть, только крупные франчи ее практически не продают, а у тех, что помельче вполне можно найти
(61) это и есть разово - платишь 150 руб. и получаешь обновления в течение месяца,
следующие 150 руб. можешь заплатить, когда будет нужно следующее обновление, через полгода например
столько лет и сил было потрачено на "брендирование" ИТС и тут бац, какой-то умник в 1С решил поменять название,
клиенты сами звонят - вы нам не тот счёт прислали, нам не надо КП, нам надо ИТС
(66) с чего вдруг?
1С:КП Базовый на 12 месяцев при непрерывном продлении по прайсу 1с стоит столько же, сколько стоил ИТС Техно на этот же период - 14280 руб.
(39) посмотри в о программе
Когда у тебя проф ключ -- то там не будет надписи ограниченная лицензия
(68) о каком именно безобразии речь и когда это "раньше"? во времена, когда газировка была по 3 копейки?
в прошлом году цена на ИТС была такая же
(65)
ИТС - это услуги облагаемые 20% НДС,
КП - это нечто не облагаемое НДС.
Так что умник поменявший название, на ровном месте принес +20% выручки и почти незаметно для клиентов
(59) т.ч. имелось ввиду табличная часть того же счета или реализации. если в бух нет возможности ввести учет по характеристикам. могли бы добавить колонку "содержание" по аналогии с услугами, где можно было бы указывать доп. значения. например цвет или размер, с выводом на печать.
(75) Я тебе что коллекционер прайсов? У меня нет доступа к базе 1С, чтобы посмотреть историю цен.
Изначально было 5 с хвостиком, чтобыло сопоставимо с тарифом SaaS во фреше. Теперь же SaaS (он же Тариф базовый) стоит 6,5 а Техно, он же 1С:КП Базовый, стоит 20ку (без скидок и льгот)
(67) Техно не баловался, но точно помню что с переходом с ИТС ПРОФ на КП Проф, цена выросла где то на 10%
(77) такой доступ есть у меня и историю изменения цен я знаю точно,
старые цены, новые, и с какого момента они начали применяться
(77) где то ты ошибаешься. Ничего не употреблял вчера?
Я уже и забыл сколько лет назад ИТС стоил 5000 в год.
А 20ку в год КП базовый сейчас тоже не стоит.
Есть желание организовать функционал подписания актов, накладных с помощью простой электронной подписи (по смс, через мессенджеры, электронную подпись и проч.). Хотел бы спросить, есть ли у кого какие идеи как это можно реализовать? Может быть есть готовые сервисы или обработки для 1С для подобной реализации Может быть есть опыт внедрения данного функционала? В общем готов выслушать любую помощь в данном направлении касательно технической стороны.
(0) пытаемся сделать у себя, но это будет работать только для документов внутри компании и начинать надо с заключения доп.соглашения с сотрудниками.
(2) Так перед этим я заявление писал и мои паспортные данные сверяли. Так что прав (3). Все начинается с бумажки
"Согласно части 2 статьи 6 Федерального закона от 6 апреля 2011 г. №63-ФЗ «Об электронной подписи» (далее — Закон об электронной подписи) информация в электронной форме, подписанная простой электронной подписью или неквалифицированной электронной подписью, признается электронным документом, равнозначным документу на бумажном носителе, подписанному собственноручной подписью, в случаях, установленных федеральными законами, принимаемыми в соответствии с ними нормативными правовыми актами или соглашением между участниками электронного взаимодействия. Нормативные правовые акты и соглашения между участниками электронного взаимодействия, устанавливающие случаи признания электронных документов, подписанных простой электронной подписью, равнозначными документам на бумажных носителях, подписанным собственноручной подписью, должны соответствовать требованиям статьи 9 Закона об электронной подписи."
(4) Это не юридический форум, давайте без флуда. Как я уже выразился, меня интересует техническая сторона и все, что с этим связано
(8) ну а что тут технического то, у нас внешняя SQL база, в документах 1С - кнопулька, по ней в базу пишем образ документа который надо подписать и вебморда которая работает с этим SQL. внешние сервисы - не видел, найдешь - напиши
(11) доп. соглашение с сотрудниками и печатная форма подписанного документа со штампом кто и когда подписывал.
СМС привязан к номеру телефона, т.е. симки, которую нельзя купить без паспорта. Таким образм решаеться вопрос идентификации человека которому отправлено СМС.
В случае прочей фигни (например почты) это все равно верить на слово. Ибо я всегда могу сказать, я не я и почта не моя
(17) невчем, т.е. некий сервис генерирует тебе номер, который отсылается клиенту. Клиент вбивает этот номер у себя и сервис подтверждает этот номер. Т.е. такой одноразовый пароль для входа
(19) пффффф одно. ственно..
и смс - стоит денег!
(26) это все тоже стоит денег и администрировать все это в распределнном по 10 городам холдинга - утопия.
(28) я просто не представляю другие варианты чтобы доказать в суде что подпись сделала вторая сторона, а не вы самостоятельно в одностороннем порядке сами сгенерировали и сами подписали
(27) просто нажимаешь кнопку "подписать" для верности можешь еще раз спросить логин/пароль, можешь для подписей свои пароли держать, отличные от доменных. будет двойное паролирование )))
можно смс - но это дорого и надо держать в актуальном состоянии базу данных сотовых сотрудников в связке с учеткой AD - ну это все технические моменты, тут уже каждый сам решает как ему с этим бороться.
А еще луче пусть видео присылает где он зачитывает вслух текст документа на подпись и говорит подписать. :)
(30) доп. соглашение в котором все прописано, без него - работать не будет, с ним - будет работать так как в нем написано )))
(33) да-да. такие идеи тоже были, "давайте будем записывать подписание договора купли/продажи" и хранить эти записи, только с сотрудниками это не взлетит
(31) Ну т.е. де факто у вас просто галка на форме "Подписано" и каждый самостоятельно ставит ее. Вы просто фиксируете под каким пользователем была проставлена эта галка (считая что пользователь раз ктотто зашел под пользователем Вася, то это Вася и есть и никто другой)
(36) думаем, возможно еще раз попросим пароль перед подписанием.
но в целом - да, именно так это и работает и именно в этом суть "простой подписи", во всех остальных случах - усиленные подписи нужны, а СМС - просто лишние затраты которые существенно ничего не изменит, особенно когда используется для внутренних сотрудников
(0) >какие идеи как это можно реализовать?
Нанять программиста уже пробовали?
А почему не сделать как в типовых? В той же БП, документообороте реализован механизм подписания документов с помощью ЭП. Простую подпись можно сгенерировать самостоятельно и бесплатно.
Или речь про нетленку?
(38) пока нет. Хочу сначала вникнуть в суть вопроса, потом оценить возможные способы реализации и сложность решения, а потом оценит возможность самостоятельной реализации и примерное время на реализацию, чтобы оценить
(40) Всех клиентов заставлять сгенерировать подпись? И учить их пользоваться ЭП и подписывать документы? И брать за обучение еще денег?
(40) я не знаю как заставить сгенерировать сотрудников подпись самостоятельно, а потом еще и заставить подписывать этой подписью документы, если сможете - наверное будет самый лучшй вариант, при этом надо подмнить, что документы которые надо подписывать есть не только в 1С.
(45) генерирует центрадизована ит отдел. Или у вас в базу они тоже самостоятельно себя заводят? Типа вон комп заведи себя в Ад потом в базу
(49) 1С не выдает НЭП, это раз.. во вторых для подписи НЭП-ом нужно специализированное ПО, это все затраты.
(52) с клиентами не получиться просто подписью, с клиентам нужна НЭП, а интеграция НЭП в свои учетные системы - та еще песня и в принципе как должен выглядеть физ. процесс в этом случае? сайт? приложение? где клиент будет подпсиывать?
это все мое видение, которое мы у себя несколько раз обсуждали, на истину в последней инстанции - не претендую. ))
(56) я уже с работы уезжжаю, может быть у вас и получиться. от бизнеса же зависит, но простой подписи на первичных бух.документах налоговая не обрадуется и есть подозрение, что не примет.
(57) могу, но не хочу. ибо это надо администрировать, а профита в сравнении с простой подписью - никакого нет.
(58) Где это такие законы?
Пункт 2 статьи 5 Федерального закона "Об электронной подписи" от 06.04.2011 N 63-ФЗ определяет электронную подпись следующим образом: "Простой электронной подписью является электронная подпись, которая посредством использования кодов, паролей или иных средств подтверждает факт формирования электронной подписи определенным лицом". Другими словами, одноразовые уникальные коды, отправляемые по СМС, являются элементом простой электронной подписи.
(59) Законом предусмотрено, моим соглашением с клиентами - тоже. Не понимаю в чем проблема. Налоговая не примет- их проблемы
(61) Еще раз кто и что будет подписывать. Для разных ситуациях в законе прописаны разные условия применения подписи. Где то достаточно простой (например в случае подписания сотрудником акта приемки ТМЦ). А где то нужен и спецоператор для признания ЮЗД
Здесь возникают вопросы, каким ПО должен генерироваться код? Это можно сделать в 1С? Если код генерируется нашим ПО, то будет ли это считаться подтверждением?
Если реализовать через ответное смс, это было бы более правильно, но я знаю сервисы по рассылке смс, но не знаю таких, которые поддерживают прием смс, не подскажете?
(69) А какая разница в чем?
Это не законно. Ниодин покупатель не будет так делать, так как бухам нужны документы с подписью и печатью, а не ваше хер пойми чё. Что вы будете делать? Отключите газ?
Вы хотя бы провели исследования кто ваш потенциальный пользователь это фигни? Клиенты готовы согласны на это? Ваши юристы проверили судебную практику на случай претензий?
Вам просто налоговая скажет что отгрузки небыло, так как нет подтверждающих документов и снимут расходы. И судья их поддержит.
(69) Без подписанной первички (бумажная подпись/печать или НЭП с соглашением об ЭДО или КЭП\УКЭП без соглашения) они не имеют права документы к учету принимать
(71)+ Хотя ошибаюсь можно если соглашение об ЭДО подписать (и гостайны нет):
"Где используется простая электронная подпись?
Простая электронная подпись чаще всего применяется при банковских операциях, а также для аутентификации в информационных системах, для получения госуслуг, для заверения документов внутри корпоративного электронного документооборота (далее — ЭДО).
Простую электронную подпись нельзя использовать при подписании электронных документов или в информационной системе, которые содержат гостайну.
Юридическая сила ПЭП
Простая подпись приравнивается к собственноручной, если это регламентирует отдельный нормативно-правовой акт или между участниками ЭДО заключено соглашение, где прописаны:
и вместо того чтобы сделать как все, вы хотите устроить переписку в СМС. Мне как клиенту эту ниразу не удобно. Что за вздор с ссылкой в СМС. Я что ее на компьютере вбивать посимвольно должен? Ну спасибо
Ответный СМС это что? СМС это деньги поставить подпись и печать - бесплатно. И какие плюшки вы мне предлагаете для того чтобы я платил вам за подпись?
(72) Да, но "Простая подпись приравнивается к собственноручной" а нам в документе помимо подписи нужна и печать организации
Т.е. в суде очень легко и непринужденно аннулировали акты с такими подписями, тем более когда в договоре они не оговорены
Короче можно сделать:
1. Соглашение об ЭДО правильное
Способ должен быть конфиденциальным и защищенным как минимум секретным паролем/идентификатором, известным только контрагенту
3. Учетная система, в которой можно авторизоваться получив пароль через п.2. Логином выступает ИНН или нечто вроде
4. Контрагент заходит через браузер в учетную систему (1С веб-клиент) по логину/паролю, видит список документов и "подписывает" их.
Снимать подпись низзя! Можно только аннулировать документ по взаимному согласию (снова п.2)
5. Надо сохранять все логи когда, кто, откуда и что делал
(78) Клиент скачал акт по ссылки исправил сумму и отправил вам СМС. В суде чей акт будет в приоритете?
У нас 2 бумажки которые невозможно идентифицировать и однозначно сказать были ли правки и какой документ правильный
В случае кэп есть оператор (3 сторона) и документ блокируется от изменений.
А тут как? Что мешает поставщику подменить акт после подписания?
(81) Т.е.? У меня акт который я скачал по ссылки из СМС (по моим словам). Что значит "Как клиент подтвердит что он отправил акт и что он был получен"? Зачем клиенту вообще подтверждать отправку акта? Это поставщик требует от меня денег и ссылается на якобы подписанный через СМС акт.
(82) Поэтому юрлица и ходят в КБ с ЭЦП. М же про организации говорим?
(77) п.3 учетная система не должна хранить пароли клиентов
И запрещать не клиентам "подписывать" документы или левым клиентам
(83) Ты не понял.
Некая учетная система согласно соглашению ЭДО является оператором ЭДО по сути.
И клиенты "соглашаются" с записями в ней. Если можно подменять записи то это компрометация системы.
Все правильно ходят. Только кто мешает КБ подсунуть на подпись уже с другой суммой? Каким образом клиент видит сумму то а?
(86) так это было. После этого 1С стала за собой файлы подчищать (был вирус, когда 1С формирует файл для КБ, а вирус его модифицировал)
если невозможно идентифицировать, кто то о какой "собственноручной" подписи идет речь, если мы не можем сказать кто это подписывал?
(93) т.е. если у человека 2 фирмы (ИП и ООО, например), то от имени какого клиента он подписывает документы?
(97) ? Откуда логи и пароль взялись? Мы же говорим что выкладываем на файлопомойку файлик и отправляем СМС на телефон ссылку и клиент нам в ответ пишет смс "Ок, принято". И по мнению ТС это и есть реализация простой подписи
(98) Я такого не говорил. См. (77) что я написал
СМС это просто способ получения/восстановления пароля
Может кто подскажет как должен работать механизм проверки подписанного файла в 1С?
Мое видение процесса:
1. Получаем файл от контрагента.
2. В конфигурации должен быть регистр соответствия Сертификатов конкретному Контрагенту.
3. Методом перебора всех сертификатов и проверкой наличия данного сертификата в полученном файле узнаем что это за контрагент.
4. Проверяем действительность сертификата.
Пункт 3 не нравится.
Пункт 4 не знаю как реализовать.
(1) Для начала ответь на вопрос: каким ПО криптографии собираешься пользоваться? Avest, Copicom или нечто другое. Как определишься - выясняешь методы работы выбранной системы.
В идеале, работа с шифрованными данными выглядит так:
1. Получили файл
2. Скормили его системе шифрования, на предмет определения есть подпись или нет
3. Попросили расшифровать, если подпись есть
Вполне вероятно, что п.2 и п.3 выполняются за одно действие.
Не изобретай велосипед, там где он не нужен. До тебя уже всё сделали и придумали как хранить сертификаты (выпуск, отзыв, обмен, локальное хранилище, обмен с выше стоящим УЦ), как проверять их актуальность, как использовать в шифровании/дешифровании данных и проч.
(2) посмотреть бы этот велосипед. :)
про первый вопрос - вообще думал что КриптоПро буду использовать и МенеджерКриптографии.
(3) вот и почитай как работает, где хранит ключи, как получает сертификат, какие функции доступны для программного использования.
Как минимум на сайте производителя.
На сколько я помню, там целая система замкнутая на носитель контейнера, вроде всё на нём и хранится.
Изучил бы для начала предметную область.
А без минимальных знаний в оной вопросы "Как должна работать проверка подписи в 1С" аналогичны "Есть ли жизнь на Марсе?"
ситуация точь в точь как в (5).
Так что предметнаяобласть - она тоже.. разная.. И кой-кому тоже бы не помешало ее подучить. :)
(9) + с первого апреля этого года, проверка хэша в электронной подписи является обязательным условием для юридической значимости документа, если подпись не хранит хэш - документ не имеет силы
Так что для двухстороннего обмена - одно дело. Можно и шифровать, и обменяться открытыми ключами и т.д.
Читайте также: