Бесплатная консультация эксперта

Кейс дня "Как сделать счетчик в документах, который считает без пропусков в Битрикс24?"

В предыдущем видео ролике мы обсуждали проект организация учета рекламаций в списках в Битрикс24.

Однако во время эксплуатации выяснилась особенность работы штатного поля Битрикс24 тип счетчик, которая не устраивает заказчика.

Условия технического задания:
  • Битрикс24 в списке в ленте ведет учет рекламаций клиентов на изготовленные компанией и реализованные изделия.
  • Каждой претензии должен присваиваться очередной порядковый номер.
  • В ходе работы с претензией в бланк могут вносится изменения и дополнения.
  • Бизнес-процесс, который управляет работой сотрудников с претензиями запускается при создании документа.

Применение штатных методов Битрикс24:
  • Обычно подобная задача решается путем добавления в список дополнительного поля, тип счетчик.
  • Значение этого поля в каждом вновь созданном документе увеличивается на +1.
  • Поле тип счетчик имеет крупный недостаток, если редактировать уже созданный документ или просто открыть и сохранить его, счетчик продолжает считать и при каждом обновлении его значение увеличивается. Таким образом по факту получается, что количество созданных документов и значения порядковых номеров различны. В системе копятся документы с разрывами номеров. Данное обстоятельство категорически противоречит техническому заданию не устраивало нашего клиента.

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

Как работает логика создания и присвоения очередного номера:
  • При создании новой претензии, БП считывает значение Номера регистрации в универсальном списке и переносит значение в карточку списка в ленте в поле «Порядковый номер»
  • Дальше к значению поля «Порядковый номер» добавляется +1 и это значение переносится универсальный список. Порядковый номер нового документа хранится в списке до создания очередной претензии. При внесении изменений в карточку претензий БП не запускается и ни каких изменений с регистрационным номером не происходит.
  • Таким образом обойдена проблема штатного поля – счетчик и условия технического задания заказчика полностью соблюдаются.