Предопределенные значения справочников и обновление конфигурации

22.08.13

База данных - Обновление 1С

В ходе внедрения часто возникает противоречие между двумя потребностями:
1) Добавить предопределенное значение в типовой справочник
2) Обновлять конфигурацию в дальнейшем.
Попробуем разрешить это противоречие.

Нередко требования заказчиков вынуждают привязывать алгоритмы конфигурации к каким-то определенным данным. Например, "если подразделение Челябинск, то проверить минимальный тип цен такой-то, а если Пермь, то такой-то". Основные подходы к реализации данного требования таковы:

1) Привязаться к наименованию/коду элемента и надеяться, что никто его никогда не поменяет. Например,

Если Подразделение.Код="0000001" Тогда ТипЦенПроверки=Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Минимальная (Челябинск)")....

Минусы, думаю, очевидны.


2) Создавать предопределенные значения в справочниках, и впоследствии переносить их из релиза в релиз. Если речь идет о базовых справочниках вроде контрагентов или номенклатуры, которые меняются довольно часто, это становится проблемой. Вторая проблема такого подхода: возможно, потребность выделить какой-то элемент как предопределенный появилась только сейчас, а ссылок на этот элемент в базе уже полно. Решение есть, но, например, при использовании РБД оно создаст еще ворох проблем.

3) Создать константы и записывать туда ссылки на эти самые элементы справочников. Уже лучше, но часто бывает так, что таких вот предопределенных значений может быть много, и список констант разрастется в несколько раз. К тому же необходимо создавать отдельную форму редактирования новых констант и вставлять ее в интерфейс. И права доступа в ролях необходимо добавлять на каждую новую константу.

Вариант, который я хочу предложить на рассмотрение.
Создаем справочник "Предопределенные значения". Реквизиты: "Значение", тип - составной: строка (ограниченной длины), число, булево, дата, ЛюбаяСсылка. В этом справочнике создаем в конфигураторе нужные нам предопределенные элементы. В пользовательском режиме заполняем реквизит "Значение" у созданных элементов. В коде используем конструкции типа

Если Подразделение = Справочники.ПредопределенныеЗначения.ПодразделениеЧелябинск.Значение Тогда ТипЦенПроверки = Справочники.ПредопределенныеЗначения.ТипЦенПроверкиЧелябинск.Значение.

Еще одним из плюсов такого подхода является то, что данный справочник можно использовать вообще вместо новых констант (для констант типа ХранилищеЗначения или Строка с бесконечной длиной необходимо добавить в этот справочник отдельные реквизиты). Кроме того, в нем можно указывать ссылки на любые объекты, в том числе и документы, бизнес-процессы и т.д. (экзотический случай, но, например, он встречается в типовой редакции конфигурации "1С:Рарус Альфа-авто 4.1".

У кого какие мысли по этому поводу?

См. также

Зарплата Регламентированный учет и отчетность Кадровый учет Обновление 1С Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Зарплата и Управление Персоналом 2.5 Бухгалтерский учет Налоговый учет Управленческий учет Акцизы ЕНВД ЕСН Земельный налог ИП, ПБОЮЛ, КФХ Налог на имущество Налог на прибыль НДС НДФЛ ФОМС, ЕФС Транспортный налог УСН ПСН (патентная система налогообложения) Платные (руб)

Обновления для конфигураций: КА 1.1; ЗУП 2.5; БУХ 2.0; КА 1.1 Комплексная автоматизация торговли алкогольной продукцией; КА 1.1 Комплексный учет сельскохозяйственного предприятия

27900 руб.

01.04.2020    147398    649    362    

235

Обновление 1С Программист Платформа 1С v8.3 Бесплатно (free)

В статье рассматривается использование WinMerge для сравнения, объединения и обновления конфигураций 1С. Отдельно рассматривается методика трехстороннего сравнения при обновлении конфигурации

21.10.2024    2798    mixaeel    18    

17

Обновление 1С Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

Те кто объединял конфигурации находящиеся на поддержке, обновлял подсистемы БСП прекрасно помнят упражнение «10000 тысяч кликов мышкой» или, непонятное словесное заклинание, после которого конфигурация снимается с поддержки целиком.

1 стартмани

26.09.2024    526    3    milkers    2    

7

Обновление 1С Пользователь Платформа 1С v8.3 1С:Управление торговлей 11 Россия Бесплатно (free)

Вышел новый релиз для УТ11 5.19.63. На копии базы было выполнено обновление и вылезли проблемы с номенклатурой, подлежащей маркировке. В публикации описаны проблемы, обнаруженные в копии базы конкретной организации.

24.09.2024    947    gull22    2    

8

Обновление 1С Программист Платформа 1С v8.3 Бесплатно (free)

Как исправить медленное сравнение конфигурации с файлом cf, сохраненным из хранилища.

17.09.2024    4454    vatkir    15    

10

Обновление 1С Пользователь Платформа 1С v8.3 1С:Управление торговлей 11 Абонемент ($m)

Упрощенное обновление конфигураций 1С (предпочтительно самописных) с помощью батника и Яндекс Диска (по публичной ссылке)

1 стартмани

22.08.2024    591    0    user1694357    0    

4

Обновление 1С Системный администратор Россия Абонемент ($m)

На ИТС есть статья, в которой поверхностно описан процесс автоматического обновления тонких клиентов. В качестве примера, что логично, представлены методы конфигурации 1С. Но, в отличие от того же управления списками баз, для обновления не требуется хранить информацию, потому я решил переписать код на php, чтобы можно было отвязаться от 1С. Не работает для файловых баз, подключенных как File="ПутьКПапкеБазы"; (а жаль), для опубликованных файловых - работает.

1 стартмани

20.08.2024    725    MikeSh    10    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. script 128 08.10.12 16:06 Сейчас в теме
Все логично. Лично я дошел (по развитию :D ) пока только до констант. Хотя буквально неделю назад столкнулся с необходимостью хранить пользовательскую настройку для загрузки данных из Клиент-банка прямо в базе.
Для это нужно было заполнить структур сохраненными (расч. счет, формат, путь к файлу импорта и т.д.) настройками, потом структуру сконвертировать через ЗначениеВСтрокуВнутр() и уже полученую строку сохранить в значении характеристики. Но оказалось что значение характеристики не может быть строкой неограниченной длинны (иначе необходимо включать возможность редактирования конфигурации). В итоге получается что не получается или выносить настройки в внешний файл и загружать в базу сам файл.
А по поводу описанной методики - беру на вооружение.
2. skif47 350 08.10.12 16:54 Сейчас в теме
(1) для твоей задачи вполне подойдут штатные справочники СохраненныеНастройки, ХранилищеДополнительнойИнформации, или регистр сведений СохраненныеНастройки, в зависимости от конфигурации и релиза ))
degepie; CratosX; V.Nikonov; NovSL; KonstB; +5 Ответить
3. KonstB 180 08.10.12 17:04 Сейчас в теме
(2) skif47, Поддерживаю, т.к. при этом нет необходимости править конфу
17. vladismi 168 09.10.12 16:06 Сейчас в теме
(2) skif47, ХранилищеДополнительнойИнформации не лучший способ решения проблемы и вот почему:
Реквизит ВидДанных - ссылка на перечисление - нужно дорабатывать перечисление, добавлять значение Справочник.
Реквизит Объект - составной тип данных - но не исчерпывающий список, нужно дорабатывать...
Реквизит Хранилище - туда то можно было бы запихнуть ссылку на элемент, который мы хотели бы считать предопределенным - но если этот элемент мы удалим - прощай ссылочная целостность.
Исходная идея - облегчить себе жизнь при обновлении, получив произвольный (с точки зрения правки ТИПОВОЙ конфигурации) набор предопределенных элементов, Хранилищем не решить.
А вот справочник, состоящий из одних предопределенных элементов, которого нет в типовых, но в реквизиты которого можно положить значение ЛЮБОГО типа, - просто чудненько.
Несомненно - плюс!
4. Uncore 1282 09.10.12 03:33 Сейчас в теме
(0) Подход интересный. Но я чаще пользуюсь в таких случаях регистрами сведений. Для Вашего примера регистр сведений будет называться, например, "Типы цен подразделений".
Создаем измерение - "Подразделение", ведущее, чтобы можно было из подразделения по кнопки "Перейти" попасть в этот регистр, ну и удалять записи, если само подразделение будет удалено.
В ресурсе указываем тип цен для выбранного подразделения.
В последствии организуем где-нибудь в общем модуле функцию по получению типа цен по переданному в нее подразделению.

Одним из плюсов данного способа является то, что пользователь сам может добавить любое соответствие "Подразделение - ТипЦен", в отличие от предопределенных значений, которые заводятся в конфигураторе.
proninvs; degepie; AlexO; SamNeSvoy; ivan453; +5 Ответить
5. skif47 350 09.10.12 05:53 Сейчас в теме
(4) Uncore, согласен, вариант с ведущим измерением РС особенно удобен в тех случаях, когда надо добавить дополнительные реквизиты к какому-либо объекту, а механизм свойств/категорий не подходит. Но если к определенным значениям привязаны алгоритмы, то эти значения надо определять жестко. Ну и с точки зрения использования в коде предопределенные значения все же удобнее, я считаю.
6. Uncore 1282 09.10.12 07:57 Сейчас в теме
(5) skif47, да, в плане универсальности способ с предопределенными значениями выигрывает. По объему кода и простоте его написания тоже. Но тут все зависит от поставленной задачи, что в итоге требуется - универсальность или удобство пользователей в плане "не беспокойства" программиста :)
За идею ставлю плюс.
proninvs; Lapitskiy; skif47; +3 Ответить
7. skif47 350 09.10.12 09:21 Сейчас в теме
(6) Uncore, согласен, это вечный поиск баланса между удобством работы пользователей и удобством работы программиста ))
11. Lyns_owner 356 09.10.12 12:47 Сейчас в теме
Полностью согласен с (4), сам хотел написать такой комментарий. Автор изобретатель велосипедов, за это минус)
16. skif47 350 09.10.12 13:58 Сейчас в теме
(11) Lyns_owner, в описании приведен искусственный пример ) Задача из него действительно может быть решена созданием отдельного регистра сведений, и такое решение будет оптимальным. Но когда от определенных значений зависят не другие значения, а целые алгоритмы, регистр сведений уже не поможет.
Например, новые виды расчета в ЗУП, которые по каким-то причинам невозможно описать штатными средствами. Или новые счета в бухгалтерии.
За комментарий спасибо )
26. V.Nikonov 120 10.10.12 18:42 Сейчас в теме
(4) Uncore, При отсутствии требований по периодичности параметра, можно безболезненно добавлять дополнительные реквизиты... или использовать механизм свойств.
При необходимости его не сложно модифицировать: Пополнить список допустимых объектов; Список допустимых типов значений. (для примера, пришлось дополнить допустимые значения созданным справочником "РайоныДоставки", а пока была УТ_10.2 - расширялся набор справочников для объектов свойств)
27. Uncore 1282 11.10.12 03:21 Сейчас в теме
(26) V.Nikonov, если у справочника имеется механизм свойств и категорий - без вопросов, пользуемся по максимуму им. Если нет, то добавление реквизита влечет дописку формы объекта в виде физического помещения элемента на форму, либо программного в модуле формы. Так что для меня все равно предпочтительнее регистр сведений :)
28. V.Nikonov 120 11.10.12 11:31 Сейчас в теме
(27) Uncore, Согласен. Вот только не всегда информация укладывается в "Свойства", даже после модификации механизма свойств. В частности, самые большие проблемы с множественностью значений одного свойства.
29. AlexO 135 19.03.13 11:04 Сейчас в теме
(4) Uncore,
Но я чаще пользуюсь в таких случаях регистрами сведений.

На самом деле, Справочник в 1С - это что-то среднее между Регистром сведений (все основные данные хранятся в одной таблице) и Докмуентом (есть возможность подключать ТЧ и прочие "радости" документа).
Поэтому и работает Справочник - заметно быстрее поиска по документам, но значительно медленнее спецрегистров.
Но народ упорно применяет справочники вот в таких случаях хранения изменяемой информации, т.к. справочник - ближе "по понятию", нежели какой-то там "регистр".
(0) а что такого нового вы открыли?! Дополнительный объект хранения локальной используемой информации, больше никому не нужной, кроме отдельного предприятия?
А Свойства документов и Справочников смотрели?
30. skif47 350 19.03.13 11:12 Сейчас в теме
(29) AlexO, поверьте, я хорошо знаком с механизмом свойств и категорий. Для тех задач, которые я описываю в данной заметке, он часто не применим или не удобен. Конечное решение определяется конкретной ситуацией.
И я не претендую на открытие. Я описываю способ, который кажется мне наиболее удобным в некоторых случаях. Применять его или нет - решать вам.
mikmike; TeMochkiN; +2 Ответить
32. AlexO 135 19.03.13 11:18 Сейчас в теме
(30) skif47,
поверьте, я хорошо знаком с механизмом свойств и категорий.

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

Какие задачи вы описываете в заметке? Я вот в ( 31) кратко и конкретно описал задачи, а у вас - только "вода" и прописная истина в заметке :)
И то сугубо индивидуальная и узкоспециализированная.
мне наиболее удобным в некоторых случаях

Вот и опишите сначала ЭТИ случаи. Чтоб было понятно, ЧТО это за случаи.
Применять его или нет - решать вам.

Ну да. А вам - писать статьи, чтобы неокрепшие новички ставили плюсы за "новаторскую идею" :)))
36. skif47 350 19.03.13 11:25 Сейчас в теме
(32) AlexO, а вот мне любопытно стало. Опишите, будьте добры, критерии оптимальности.
На вопрос о задачах могу ответить: перечитайте заметку.
Насчет "прописной истины", кстати, не отрицаю. "сугубо индивидуальная и узкоспециализированная" - все верно.
Да, и меня заинтересовала идея с обращением к конкретным значениям справочников через перечисление. Можете более подробно описать?
8. sstar90 09.10.12 10:07 Сейчас в теме
Автору "плюс" за то, что оформил в статью, а себе "минус" за лень и недальновидность, т.к.
3 года "предопределенные значения" я использовал в 7.7 (справочник) и уже 4-й год использую
в 8-ке (регистр сведений)
9. pumbaE 09.10.12 10:28 Сейчас в теме
Осталось только объединить идею с Хранение дополнительной информации в БД. для возможности хранения истории и получение значение объекта сделать через модульменеджера и должно выйти годное, более или менее универсальная замена константам и НайтиПоКоду.
15. skif47 350 09.10.12 13:52 Сейчас в теме
(9) pumbaE, тоже хорошая идея!
31. AlexO 135 19.03.13 11:14 Сейчас в теме
(9) pumbaE,
все сомнительное "достоинство" данного метода - это обращаться "без дураков" к нужному значению (так и хочется вписать - "без дураков из 1С" :) ), но это только если ты привык работать с предопределенными (т.е. конфа на них завязана).
И большинству вполне в таких случаях - "именного" обращения, - подойдет и будет достаточно списка в новом Перечислении.
Потом - есть механизм Свойств.
и вот уже если нужна некая "карточка" на это значение (все не умещается в одном "реквизите") - смотрим на Справочник. Да и то - если значений-описаний у элемента немного (а их немного в 99,9% случаев - 5-7-10) - то только РС и проблема закрыта.
33. pumbaE 19.03.13 11:21 Сейчас в теме
(31) AlexO, я бы сказал что в 90%, в остальных дай только волю по любому случаю добавлять справочник или РС и ваша/наша уютная УППешичка превратиться в УТ11шешечку.
34. AlexO 135 19.03.13 11:23 Сейчас в теме
(33) pumbaE,
Механизм Свойств позволяет сузить значения задаваемых параметров до списка указанных.
Собственно, как и Перечисление :)
10. NovSL 9 09.10.12 10:55 Сейчас в теме
Лично я использую Хранилище дополнительнойИнформации. Года 3 назад была подобная проблема в удаленном филиале при выписке накладных.И приходилось через справочник подразделений определять место выписки документов и менять ФИО кладовщиков и отв. лиц. Сейчас это все в Хранилище и нет вопросов
12. tango 546 09.10.12 13:40 Сейчас в теме
а что за проблемы с обновлением справочников с предопределенными элементами?
14. skif47 350 09.10.12 13:51 Сейчас в теме
(12) tango, не столько проблема, сколько неудобно: для объектов-справочников приходится выставлять режим объединения с приоритетом одной из конфигураций, если была изменена еще форма этого объекта, то для нее выставлять другой режим - вручную. Ну и мельтешение кучи объектов при сравнении/объединение радости не добавляет.
43. AlexO 135 19.03.13 14:39 Сейчас в теме
(12) tango,

а что за проблемы с обновлением справочников с предопределенными элементами?

Проблемы возникают только при РИБ - в распределенных (удаленных) базах нет этих значений, их туда надо специально переносить/вводить.
При обновлении базы - предопределенные элементы не трогаются, лишб бы код у них не совпадал (иначе обновление задвоит элементы под одним кодом, или будет ошибка обновления).
13. skif47 350 09.10.12 13:45 Сейчас в теме
Еще один вариант предложили на партнерском форуме:

Создать регистр сведений в котором Измерение будет строка (по сути название константы) и ресурс - любая ссылка (по сути - значение константы)
Напишите функцию для доступа к такой псевдоконстанте и конструкция не будет громозкой.
Это позволит и легко поменять механизм хранения не затрагивая прикладной код.

Тоже вполне жизнеспособно.
18. Gandalf Белый 09.10.12 16:08 Сейчас в теме
Большое спасибо!интересно было посмотреть на данную проблему с такой стороны. ))
19. amiralnar 9 09.10.12 18:05 Сейчас в теме
Что мне нравится в предопределенных, и в чем я вижу их смысл - это именованное обращение.
Для справедливаости, можно заметить, что в 8.2 при обновлении можно безболезненно объединять списки предопределенных знаений. Тоесть обновление перестает быть проблемой.
Что касается ссылок в базе, то я, для быстрой разработки, применяю такой метод:

Значение = Справочники.Контрагенты.ПолучитьСсылку(Новый УникальныйИдентификатор("10c6e765-deec-11de-b685-505054503030")) //Мой любимый контраент

Где идентификатор выявляется с помощью табло вот такой командой:

Справочники.Контрагенты.НайтиПоКоду("000001835").УникальныйИдентификатор()

Занимает 2 минуты, элемент жестко свзяан, проблем с изменением реквизитов не будет, РБД тоже правильно сработает.
20. pumbaE 09.10.12 18:14 Сейчас в теме
(19) amiralnar, РБД может неправильно сработать, если по правилам.
И вдруг ваш любимый контрагент поменяется, только ручное изменение исходного кода вам сможет помочь, но справедливости ради, если прошла любовь и завяли помидоры, то с другим контрагентом чаще всего и другие условия работы :).
23. KulSer 10.10.12 14:03 Сейчас в теме
(19)amiralnar,ващ способ хорош, но, увы, абсолютно нечитабелен. На мой взгляд, предложенное автором решение оптимальное, лучше пока не встречал.
35. Антон Ширяев 530 19.03.13 11:23 Сейчас в теме
А я плюсую т.к. до меня в УПП в кучу справочников для различных нужд добавили новые предопределенные. Тоже думал как от них избавиться.
Первое что мне пришло в голову это вариант из (19). Но тут теряется читаемость.
Вариант же предложенный в статье для меня самый оптимальный. Все что мне нужно сделать это перенести добавленные Предопределенные в новый справочник и везде где они использовались исправить Справочники.ТиповойСправочник.ДобавленныйПредопределенный на Справочники.СправочникПредопределенных.ДобавленныйПредопределенный.Значение даже без вникания в суть кода :)
37. AlexO 135 19.03.13 11:28 Сейчас в теме
(35) Антон Ширяев,
т.к. до меня в УПП в кучу справочников для различных нужд добавили новые предопределенные.

Так ты и отталкиваешься "от имеющегося", а не от "а каким бы способом это сделать" - который ставится негластно в статье, и какой "лоббируется" как "вопрос прочитавшего статью новичка".
Т.е., как я и писал уже выше - к исходным посылам статьи очень и очень большие вопросы.
И правильно, если у меня вся конфа будет на Справочниках (Накопления, Сведений, Расчетных), я что - буду использовать регистры (предположим, скорость обработки не имеет значения)? :)
21. nolodin 51 09.10.12 21:31 Сейчас в теме
Когда мне надо добавить предопределенные значения я их спокойно добавляю, только к коду предопределенного элемента добавляю буквенный префикс, и устанавливаю нумерацию с 1. Т.е. коды для моих элементов будут "Р00000001", "Р00000002". И все: при обновлении точно ничего не потеряется и сразу видно какие идут от поставщика конфигурации, а какие я добавил.
22. echo77 1907 10.10.12 06:58 Сейчас в теме
Я в коде частенько указываю ссылку на такой "предопределенный" элемент и после этого уже все равно, сменится ли у элемента код или наименование... главное чтобы смысловая нагрузка на элемент не поменялась
24. skif47 350 10.10.12 16:53 Сейчас в теме
Коллеги, всем большое спасибо за высказанные мнения, особенно за другие варианты, все пойдет в копилку опыта ))
25. V.Nikonov 120 10.10.12 18:23 Сейчас в теме
Кстати, хранение предопределенного значения в таком виде, это выключение периодичности.

Расширение списка предопределённых от типовой конфы - большая редкость. Следовательно, можно попыхтеть при обновлении. Надо только не забывать выборочно отказываться от затирания собственных значений.

Есть ещё одна ветка проблемы с которой я только что столкнулся:
Есть периодические вариации алгоритмов обработки... т.е. для текущего периода один алгоритм, а для документов прошлого периода - другой. Вроде как напрашивается периодический регистр сведений, хранящий в текстовом виде исполняемый код алгоритма... Но быстродействие получится не Айс!
Или придётся ограничиться периодическим параметром, который направляет на разные ветки алгоритма?
38. Антон Ширяев 530 19.03.13 11:33 Сейчас в теме
Мне вот непонятна суть спора :)
Предопределенные элементы нужны лишь для того чтобы к ним можно было обращаться по имени и суть статьи это то что незачем добавлять предопределенные в типовой справочник если их можно добавить в свой и пользоваться ими с тем же удобством, но при этом они не будут мешаться при обновлении никак.
В принципе конечно предопределенные объединяются при обновлении без проблем если в обновлении они добавлены, а если они удалены? Тогда что делать? Опять руками?
39. AlexO 135 19.03.13 11:35 Сейчас в теме
(38) Антон Ширяев,
Не стоит городить справочники там, где есть другие средства.
Более быстрые - РС, и более простые - Перечисления. А то и просто Свойства.
(36) skif47,
Опишите, будьте добры, критерии оптимальности.

Вот и опишите, статья - у вас. Все тезисы уже здесь описаны.
Не хотите прорабатывать тему статьи до конца и полно?
Тогда так и пишите - "лень мне, но вот что есть, то есть" :)
А лоббировать создание "предопределенок" как панацею "от всего" (не указывая "иное"), не прорабатывая материал "вглубь", чтобы новички со слюнями велись и апплодировали - это не самая лучщая метода писать статьи.
Любые. Даже на ИС.
40. skif47 350 19.03.13 12:07 Сейчас в теме
(39) AlexO, увы, кроме общих фраз, я от вас ничего не услышал. Развернуть собственную идею вы тоже не собираетесь. Поэтому манера вашего общения на форуме пока более соответствует троллю.
isn; red80; mikmike; CratosX; TeMochkiN; +5 1 Ответить
41. AlexO 135 19.03.13 12:48 Сейчас в теме
(40) skif47,
пока более соответствует троллю.

Пока тролль - это вы. Троллите своей статьей и ответами.
У меня конкретно написано в ( 29) , ( 31) (и не только у меня - сообщения ( 4), ( 12) ), что "не так" с вашей статьей. Где вам нужно разобраться и переписать/дополнить.
А в ответ о вас - обвинения в троллизме.
Т.е. тролль (либо воинствующий студент) - он всегда в первую очередь обвинит в троллизме других. Главное - громко крикнуть, и собрать толпу таких же студентов.
42. AlexO 135 19.03.13 12:51 Сейчас в теме
(40) skif47,
напугать ежа пытаетесь? :)
Если аргументы все закончились - тогда имейте лицо уйти без "г", если уж не хватает признать "недоработки".
44. Kosstikk 87 08.05.13 09:46 Сейчас в теме
Предопределенные элементы иногда доставляют неудобства при обновлениях.

На моей практике метаданные для которых создавались предопределенные элементы как правило подлежали изменению (доп реквизиты или изменения в модулях) поэтому было не страшно добавить еще один реквизит строку "ПредопределенныйКАК" в который можно поместить нужное нам название этого элемента, а потом искать по реквизиту нужный элемент, не боясь его изменения (в интерфейс его не выводим).

Как уже писали выше в случае псевдо предопределения теряется суть данной возможности, и идеальным была бы реализация со стороны 1с возможность разделения по поставкам таблиц предопределенных данных.
Так же хочу заметить что для каких-то метаданных (например ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные в бухгалтерии) использование не предопределенных данных вызовет некоторые затруднения.
Mizhgan42; CratosX; skif47; +3 Ответить
45. CratosX 114 20.09.13 18:23 Сейчас в теме
(44) Kosstikk, я, кстати, к ПВХ не смог обратиться программно к не предопределеноому значению. Подскажете, как обойти это?
46. DrAku1a 1746 05.12.13 10:16 Сейчас в теме
У нас так:
справочник "ПредопределенныеЗначения", закрытый для редактирования (только с полными правами, т.е. программисты), в справочнике в качестве идентификатора используется поле "Наименование".
в общем модуле - реализована функция типа ПолучитьПредопределенноеЗначение(Имя).

Ну и навороты типа:
+ В качестве значения задавать список значений, таблицу значений, структуру, соответствие (для сложных типов реализованы редакторы значений).
+ Кэширование полученных значений в стандартном КЭШе (без изменения механизма кеширования)
+ Использование в функциях типа "ПолучитьДопПравоПользователя", "ПолучитьНастройкуПользователя" - настройки и доп.права создаются в режиме предприятия, ссылки на них помещаются в значения соответствующих "констант" /именованный элемент справочника "ПредопределенныеЗначения"/ - в коде вызывается по имени этой константы.

Таким образом - не нужно монопольное обновление, а добавляемые доп.права/настройки можно переименовывать.
47. wondermaker 12.12.13 12:54 Сейчас в теме
Мы аналогично сделали, но сам справочник без предопределенных элементов.
Это позволяет делать "предопределенные" без предопределенных.
Поиск делаем по наименованию, которое как-бы является идентификатором/"названием переменной".
Минус, конечно, в том, что в запросах не используешь эти предопределенные, зато не надо монопольно обновляться, можно "динамить".

Плюс развиваем схему дальше - скоро добавим список значений, потом до таблицы значений дойдем...
48. igo1 270 22.11.16 16:06 Сейчас в теме
Очень странно, кода я описал метод которым тут воспользовались многие, меня прям захаили!!!
http://infostart.ru/public/310497/
49. ipoloskov 164 22.11.16 16:18 Сейчас в теме
Вот это
Реквизиты: "Значение", тип - составной: строка (ограниченной длины), число, булево, дата, ЛюбаяСсылка.

не нравится. Строка, число, булево, дата - для предопределенных не нужно, а для составного типа реквизита плохо.
"Любая ссылка" - тоже плохо. Лучше ограничить типами реально используемых для хранения ссылок.
50. alex-l19041 8 22.11.16 16:55 Сейчас в теме
(49) ipoloskov,
"Любая ссылка" - тоже плохо
поясните причину
51. ipoloskov 164 22.11.16 16:58 Сейчас в теме
(50) В форме списка справочника будет выполняться запрос типа
ВЫБРАТЬ
Представление (ПредопределенныеЗначения.Значение) КАК ЗначениеПредставление
ИЗ Справочник.ПредопределенныеЗначения КАК ПредопределенныеЗначения;

При типе ПредопределенныеЗначения.Значение "Любая ссылка" это приведет к тяжеловесному или вовсе невыполнимому плану запроса
Оставьте свое сообщение