Журнал действий по номенклатуре с уведомлением и настройками

16.09.26

Разработка - Работа с интерфейсом

В данной публикации представлено комплексное решение реального тестового задания. Функционал реализован строго в виде расширения, без снятия основной конфигурации с поддержки, и протестирован на базе Управление торговлей, редакция 11 (11.5.7.402). Решение демонстрирует работу с программным изменением форм, перехватом событий, написанием чистого кода с соблюдением стандартов разработки и использованием механизмов БСП. Цель этой статьи — не попытка похвастаться «идеальным» кодом, а желание оставить полезный пример, который поможет другим разработчикам быстрее вникнуть в логику подобных задач. Буду рад любой конструктивной критике и замечаниям в комментариях, ведь обсуждение решений — это лучший двигатель профессионального прогресса.

Бесплатные

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Узнавайте о новых бесплатных решениях в нашей телеграм-группе Инфостарт БЕСПЛАТНО

Наименование Скачано Бесплатно
Мини-функционал “Журнал действий по Номенклатуре” с уведомлением и настройками:
.cfe 64,40Kb
6 Скачать бесплатно

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

1. Исходное техническое задание

Назначение и область применения Необходимо реализовать функционал для УТ / КА / ERP, который фиксирует ключевые действия пользователя в карточке номенклатуры, позволяет администратору управлять логированием без изменения кода и выводит результаты в отдельный отчет. Реализация допускается только в расширении.

Требования к структуре данных Создать Регистр сведений ЖурналДействийНоменклатуры.

  • Измерения: ДатаВремя (с точностью до секунд), Номенклатура, Пользователь, Действие (Перечисление). Индекс и состав измерений должны позволять быстрый отбор.

  • Ресурсы: Комментарий (Строка 250), ИмяФормы (Строка 100).

  • Ограничение: Записи создаются только программно, ручное редактирование запрещено правами.

Функциональные требования Логирование работает только при включенной настройке (булево). Фиксируются следующие события:

  • Открытие карточки: Комментарий «Открыта карточка». Должна быть защита от «шума» — фиксировать открытие не чаще 1 раза в 5 минут на сочетание (Пользователь + Номенклатура).

  • Запись номенклатуры: Комментарий «Записано».

  • Изменение цены: В карточку добавляется нетиповой реквизит формы «ТестоваяЦена» и кнопка. При изменении значения фиксируется лог «Цена: было X стало Y».

Права доступа и интерфейс Создать роль ПросмотрЖурналаНоменклатуры (только чтение регистра и открытие отчета). Разработать отчет на СКД с отборами по периоду и номенклатуре.

2. Архитектура решения и Метаданные

Для изоляции логики создана отдельная подсистема ЖурналДействийНоменклатуры. В состав расширения вошли:

  • Регистр сведений: ЖурналДействийНоменклатуры (непериодический, независимый). Измерение Номенклатура проиндексировано.

  • Перечисление: ДействияНоменклатуры (ОткрытиеКарточки, Запись, ИзменениеЦены).

  • Константа: ВестиЖурналДействийНоменклатуры для управления подсистемой в режиме Предприятия.

  • Роли: СА_ОсновнаяРоль и ПросмотрЖурналаНоменклатуры.

  • Общий модуль: ЖурналДействийНоменклатурыСервер для инкапсуляции бизнес-логики.

  • Отчет: Вывод данных регистра на базе типовой схемы компоновки данных.

3. Техническая реализация (Под капотом)

Безопасная модификация интерфейса (UI)

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

  • В обработчике ПриСозданииНаСервере вызывается метод ИзменитьРеквизиты, который добавляет реквизиты ТестоваяЦена и ТестоваяЦенаПредыдущая (Число 15.2).

  • Элементы управления динамически выводятся в типовую группу ГруппаДополнительныеРеквизиты с помощью Элементы.Добавить().

Перехват событий

Вмешательство в жизненный цикл карточки номенклатуры происходит через аннотации расширения:

  • Открытие: Обрабатывается через &После("ПриСозданииНаСервере"). Лог пишется только при открытии уже записанного в базу элемента (проверка ЗначениеЗаполнено(Объект.Ссылка)).

  • Запись: Фиксируется через &После("ПослеЗаписиНаСервере").

  • Изменение цены: Контролируется клиентской процедурой. Серверный вызов для записи лога происходит только если текущая цена отличается от предыдущей и сам элемент номенклатуры уже записан в базу.

Защита от «шума» и отказоустойчивость

Вся работа с данными вынесена в серверный модуль:

  • Ограничение в 5 минут: Перед записью события «Открытие карточки» выполняется легковесный запрос ВЫБРАТЬ ПЕРВЫЕ 1 к регистру с отбором по Номенклатуре, Пользователю и условием ДатаВремя >= ТекущаяДатаСеанса() - 300. Если запись найдена, дубликат отсекается, а информация уходит в Журнал Регистрации (УровеньЖурналаРегистрации.Информация).

  • Изолированная запись: Фиксация логов выполняется через НаборЗаписей внутри блока Попытка...Исключение. В случае конфликта блокировок ошибка не прерывает работу пользователя, а тихо пишется в системный Журнал Регистрации средствами БСП (ЗаписьЖурналаРегистрации).

  • Маппинг: Для гибкости кода используется функция МапингСобытий(), связывающая внутренние числовые идентификаторы событий со ссылками перечисления.

4. Как протестировать функционал

  1. Установите расширение (файл прикреплен к публикации).

  2. Перейдите в раздел Журнал действий номенклатуры -> Сервис и включите константу «Вести журнал действий номенклатуры».

  3. Откройте любую карточку товара, измените значение в новом поле Тестовая цена и сохраните элемент.

  4. Проверьте результаты работы механизмов в отчете: Журнал действий номенклатуры -> Отчеты -> Журнал действий номенклатуры.

Проверено на следующих конфигурациях и релизах:

  • Управление торговлей, редакция 11, релизы 11.5.7.402

Вступайте в нашу телеграмм-группу Инфостарт

Тестовые задания 1С Тестовая задача 1С Тестовое 1С

См. также

Работа с интерфейсом Анализ учета Мониторинг 1С:Предприятие 8 1С 8.3 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 Платные (руб)

Создайте свой функциональный интерфейс в любой конфигурации 1С с помощью расширения Infostart Dashboard. Настраивайте панели виджетов с метриками, индикаторами и показателями на начальном экране. Узнайте возможность внедрения подсистемы у себя в конфигурации с помощью бесплатной обработки "Анализ внедрения подсистемы 1С Infostart Dashboard"!

31720 руб.

27.03.2025    90551    68    44    

77

Консолидация данных Работа с интерфейсом Программист Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 1C:ERP Узбекистан Беларусь Кыргызстан Россия Казахстан Платные (руб)

Знакомая ситуация? Пользователи, особенно менеджеры, уверены: отборов много не бывает. Идут пожелания добавить в форму списка еще один быстрый фильтр, еще два, еще пять... В итоге интерфейс превращается в нагромождение полей отбора, а потребность в «самом главном» отборе, который «вот прямо сейчас нужен», все равно не закрыта. Универсальное расширение, которое решает эту проблему элегантно и технологично. С его помощью в любую форму списка можно легко добавить панель настраиваемых кнопок-закладок, каждая из которых применяет сложный фильтр-запрос, а так же показывает актуальное количество элементов в реальном времени.

6088 руб.

17.10.2025    3103    3    0    

2

Разработка Инструментарий разработчика Работа с интерфейсом Адаптация типовых решений Нейросети 1C:Бухгалтерия 1C:ERP 1С:ЗУП 1С:КА 1С:УНФ 1С:УТ 1С:Розница 1С:ДО 1С:ERP Управление предприятием 2 Платные (руб)

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

36600 руб.

28.08.2025    9635    2    2    

6

Работа с интерфейсом Программист Стажер 1С:Предприятие 8 Бесплатно (free)

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

20.08.2024    55518    mrXoxot    44    

139

Работа с интерфейсом Программист 1С:Предприятие 8 Бесплатно (free)

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

27.05.2024    29377    smielka    39    

119

Инструментарий разработчика Работа с интерфейсом Программист 1С 8.3 Абонемент ($m)

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

1 стартмани

10.04.2023    18674    186    acces969    31    

132

Работа с интерфейсом Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Питничная фантазия на возможности в разработке интерфейсов формы с помощью Платформы 1С - делаем свою подсказку. Публикация содержит готовую библиотеку программного формирования данной подсказки.

12.08.2022    16228    top_1c    39    

98

Работа с интерфейсом Программист 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    17004    kalyaka    8    

36
Для отправки сообщения требуется регистрация/авторизация