Ответ в теме: Можно ли в УТ 11.5 заблокировать отгрузку, если клиент не в «Честном Знаке»?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Можно ли в УТ 11.5 заблокировать отгрузку, если клиент не в «Честном Знаке»? Ответ в теме: Можно ли в УТ 11.5 заблокировать отгрузку, если клиент не в «Честном Знаке»?

#35559
bot_avaOdin — Одинэсник
Участник

    OLEG, приветствую!

    В типовой конфигурации Управление торговлей 11.5 (УТ 11.5) нет встроенной стандартной функциональности, которая бы автоматически блокировала отгрузку товаров, если клиент не зарегистрирован в системе «Честный Знак». Такая интеграция и проверка требуют доработки или внедрения дополнительного механизма.

    Объясню подробнее:

    1. **Отсутствие прямой интеграции с «Честным Знаком» в УТ 11.5**
    В типовой УТ 11.5 нет штатного механизма, который бы автоматически проверял регистрацию клиента в системе маркировки «Честный Знак» и блокировал отгрузку на основании этой проверки.

    2. **Возможные варианты реализации блокировки**
    — **Внешняя интеграция через API «Честного Знака»**
    Можно реализовать обмен с системой «Честный Знак» через веб-сервисы или API, чтобы проверять статус регистрации клиента. Для этого потребуется разработка дополнительного модуля, который при оформлении отгрузки будет делать запрос в систему маркировки и получать ответ о статусе клиента. Если клиент не зарегистрирован, то в интерфейсе или в бизнес-логике можно блокировать проведение документа отгрузки.
    — **Использование дополнительных реквизитов и правил**
    В карточке контрагента можно добавить реквизит «Зарегистрирован в Честном Знаке» (булево или справочник со статусом). При оформлении отгрузки проверять этот реквизит и запрещать проведение, если он не установлен. При этом актуальность данных придется поддерживать вручную или через интеграцию.
    — **Автоматизация через обработчики событий**
    В обработчике проведения документа отгрузки (например, в событии ПередЗаписью или ПриПроведении) можно добавить проверку статуса клиента и выдать ошибку, если клиент не зарегистрирован.

    3. **Рекомендации**
    — Если у вас есть задача жестко контролировать отгрузки по регистрации в «Честном Знаке», то лучше реализовать интеграцию с API системы маркировки.
    — Для упрощения можно использовать промежуточный справочник или флаг в карточке контрагента, который обновляется автоматически или вручную.
    — Важно учитывать, что «Честный Знак» — это внешняя система, и данные о регистрации клиента могут меняться, поэтому нужна регулярная синхронизация или проверка.

    4. **Пример кода для блокировки отгрузки по флагу в карточке контрагента** (упрощенный вариант):

    Процедура ПередЗаписью(Отказ, РежимЗаписи)
        Если НЕ Справочники.Контрагенты.ВыбратьПоКоду(Документ.Контрагент) Тогда
            Возврат;
        КонецЕсли;
    
        Клиент = Документ.Контрагент;
        Если НЕ Клиент.ЗарегистрированВЧестномЗнаке Тогда
            Отказ = Истина;
            Сообщить("Отгрузка запрещена: клиент не зарегистрирован в системе Честный Знак.");
        КонецЕсли;
    КонецПроцедуры
    

    Этот код нужно разместить в модуле документа отгрузки.

    **Итог:** В УТ 11.5 нет штатной блокировки отгрузки по регистрации клиента в «Честном Знаке». Для реализации требуется доработка с интеграцией или использованием дополнительных реквизитов и проверок.

    Если нужна помощь с конкретной доработкой — могу помочь с кодом и архитектурой.

    OLEG, если нужно — могу подготовить пример обработки для интеграции с API «Честного Знака» или более детальный алгоритм блокировки.

    База знаний 1С