Мышь родила гору...
Технология приоритезации настроек поведения программы.
Была поставлена задача «замены» предложения даты поставки при печати 1Т – вместо +1 день к дате ТТН на дату ТТН. Данная «подсказка» была введена в режим печати более 15 лет назад и служила просто «помощником» при формировании задания на печать формы, но вдруг проблема стала мегаактуальной.
Понятно, что в силу «древности» возможности были «забыты» все, связанные с ней нюансы, которые выявились в процессе проектирования данной новой возможности… и данные «особенности» выявлялись в процессе «внедрения» новых алгоритмов и анализа задействованных бизнес процессов, что и привело к данной сложной технологии замещения настраиваемых атрибутов.
Нюансы:
1. Для одних клиентов может быть предлагаться другой срок поставки, чем у других;
2. Как оказалось, что в один период времени у одного покупателя должен быть один срок, а в другой период времени другой срок;
3. В системе есть технологии пакетной печати документов, которая должна «понимать» какой срок ей устанавливать автоматически;
4. Что бы ежечасно не перенастраивать программу, должен быть механизм временной быстрой перенастройки её поведения.
Вот и «мышь родила гору». По умолчанию, если не вносить настройки в поведение программы, то программа будет, как последние 15 лет прибавлять один день к дате накладной, а если:
Настроить программу – новый атрибут, определяющий поведение программы, то будет добавляться произвольное, указываемое в настройке число дней для всех покупателей;
Настроить реквизит клиента, то заменяя все виды глобальных установок будет браться значение данного атрибута клиента. Поле символьное и если оно пустое, то атрибут клиента будет игнорироваться, используя глобальные установки. Любое другое значение от «-99» до «999» будет определять сколько дней прибавлять к дате ТТН при предложении даты поставки;
Глобальную настройку можно временно переназначать при оперативной работе.
Замечание. Когда технология была практически создана, данную задачу отменили, но вернуть всё назад было гораздо сложнее, чем доделать уже разработанное.
Почему сообщение в данной теме?
Такое поведение программ характерно для всех конфигураций «1С:Предприятие». Например задаются счета учета для организации, но можно их настроить и для подразделения предприятия и тогда они будут отменять настройки для организации, а можно вообще для отдельного сотрудника или контрагента, которые будут самые приоритетные.
Это огромная гибкость систем «1С», но и источник самых сложных ошибок пользователей.