Очень часто приходится встречать различные доработки конфигурации, где алгоритмы привязаны к определенным данным. Выглядит это в основном таким образом:
Если Склад = Справочники.Склады.НайтиПоНаименованию("КАМЧАТКА СКЛАД") или
Склад = Справочники.Склады.НайтиПоНаименованию("САХАЛИН СКЛАД") или
Склад = Справочники.Склады.НайтиПоНаименованию("МАГАДАН СКЛАД") Тогда
Руководитель = ПолучитьФизЛицоПоДоверенности(Отпустил, Дата,Перечисления.ОтветственныеЛицаОрганизаций.Руководитель,Руководитель);
ГлавныйБухгалтер = ПолучитьФизЛицоПоДоверенности(Отпустил, Дата,Перечисления.ОтветственныеЛицаОрганизаций.ГлавныйБухгалтер,ГлавныйБухгалтер);
Иначе
Или таким:
Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("Таможня РФ операционное УФК",Истина);
Партнер = Справочники.Партнеры.НайтиПоНаименованию("Таможня РФ операционное УФК",Истина);
таким:
Если Объект.Организация.ИНН = "25431147471" Тогда
Объект.БанковскийСчет = Справочники.БанковскиеСчетаОрганизаций.НайтиПоРеквизиту("НомерСчета","40702810800004745708",,Объект.Организация);
КонецЕсли;
Узнаешь о такой реализации в очередной раз когда изменятся данные и перестает работать тот или иной алгоритм.
Данное расширение способ решить такой подход к реализации доработок.
Порядок работы с расширением:
Открываем через главное меню 1С - "Все функции" справочник "Справочник" - "Предопределенные значения"
Нажимаем кнопку "Создать" и указываем значения:
- Наименование,
- Идентификатор (значение должно быть уникально для всего справочника, по данному идентификатору будет происходить поиск записанных значений),
- Значение или Это хранилище значений (в том случае, когда хотим создать произвольную структуру значений)
В случае когда установили галочку "Это хранилище значений" переходим на закладку "Таблица" и формируем произвольную таблицу. Вводим имя и тип данных (Любая ссылка, Дата, Число, Строка, Булево).
Заполняем таблицу
Пример кода, который возвращает структуру данных справочника предопределенных значений, для последующей работы.
л_СписокСвойств = Новый Структура;
л_СписокСвойств.Вставить("_СкладыВыгрузкиWMS");
Отказ = Ложь;
пз_СправочникПредопределенныхЗначений.ПолучитьЗначение(л_СписокСвойств, Отказ);
СкладыВыгрузкиWMS = л_СписокСвойств._СкладыВыгрузкиWMS;
НайденнаяСтрока = СкладыВыгрузкиWMS.Найти(Склад, "Склад");
Если НайденнаяСтрока = Неопределено Тогда
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
Либо, если требуется получить единичное значение без таблицы
Значение = пз_СправочникПредопределенныхЗначений.ПолучитьЗначениеПоИдентификатору("Идентификатор")
Примеры рабочей реализации с применением расширения предопределенные значения:
Тестирование проводилось на платформе 1С:Предприятие 8.3 на релизах:
- 1С: Управление нашей фирмой 3.0 (3.0.3.169)
- 1С:Комплексная автоматизация 2 (2.5.11.79)
- 1С: Бухгалтерия предприятия, редакция 3.0 (3.0.106.60)
- 1С:Управление торговлей, редакция 11 (11.4.14.95)
Проверено на следующих конфигурациях и релизах:
- Управление торговлей, редакция 11, релизы 11.5.19.44, 11.5.17.74
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.156.17
- Розница, редакция 3.0, релизы 3.0.8.91