«Опциональная цепочка не защищает от вызова несуществующей функции»
А в чем теперь будет защита? Будет ошибка, которую не заметим? Что-то не очень… Как в добром Basic: On Error GoTo 0
Я имею ввиду, что структуру данных по некой заданной теме должен определять не программист, а пользователь. Поэтому делим данные на 2 типа: Элементы(вес 0) и Сборки (вес > 0). Типа: страница (Элемент вес 0) — Книга (Сборка вес 1), а книги на полках и т.д.Но если некий роман написан в 3х томах (вес романа=2), нужно следить чтобы Польз. не поместил книжную полку, где размещается этот роман ( ее вес=3) в качестве еще главы упомянутого романа. Т.е. в некоторой степени база должна быть готова к решению еще не возникших задач (автор еще и не думает писать 2ю главу). Да, вставка поддерева.
С чем-то подобным я публиковал сообщение 25.05.2015 на www.cyberforum.ru/ms-access/thread60797-page3.html
У Вас это «вес», у меня «уровень». Конечно сейчас я уже пользуюсь схемой без связи по
уровню, но главная проблема — это когда данные меняются, и необходимо вставлять
в элемент разветвленного дерева, которой ближе к корню, элемент большего веса. Увеличивать вес этого элемента и всех родителей-не выход, потому как может оказаться,
что предлагают заглотить «папу».
"-все хорошо"
Не работал в 1С, но, извините, как оценивать цитату из той же Справки:
«ПланСчетовМенеджер.<Имя плана счетов> (ChartOfAccountsManager.<Имя плана счетов>)
Метод
УстановитьОбновлениеПредопределенныхДанных (SetPredefinedDataUpdate)
Описан:
… Доступность:
Сервер, толстый клиент, внешнее соединение.
Вызов метода выполняет обращение к серверу.
Примечание:
В режиме совместимости конфигурации Версия8_3_4 доступность метода не зависит от использования в сеансе разделителей.
В режиме совместимости конфигурации Версия8_3_3 необходимость обновлять определяется следующим образом:
Обновление не будет производиться:
если в метаданных или в данных установлено НеОбновлятьАвтоматически,
если в метаданных или в данных установлено Авто, и текущий узел является периферийным.
В противном случае предопределенные данные будут обновлены и/или созданы при первом обращении к данным.
»
Автор умолчал еще об одном недостатке: в 1С из «поздние версии» не совместимы с ранними, иначе говоря код, написанный в версии Version8_1 может уже не работать в Version8_3_10, его необходимо менять. Это все равно, что Excel документ 97 г. не откроется в Office 2010.
На это прямо указывает Справка 1С: ОбъектМетаданныхКонфигурация, свойство
РежимСовместимости (CompatibilityMode)
А в чем теперь будет защита? Будет ошибка, которую не заметим? Что-то не очень… Как в добром Basic: On Error GoTo 0
о своих объектах «на счетчике».
www.cyberforum.ru/ms-access/thread60797-page3.html
У Вас это «вес», у меня «уровень». Конечно сейчас я уже пользуюсь схемой без связи по
уровню, но главная проблема — это когда данные меняются, и необходимо вставлять
в элемент разветвленного дерева, которой ближе к корню, элемент большего веса. Увеличивать вес этого элемента и всех родителей-не выход, потому как может оказаться,
что предлагают заглотить «папу».
Не работал в 1С, но, извините, как оценивать цитату из той же Справки:
«ПланСчетовМенеджер.<Имя плана счетов> (ChartOfAccountsManager.<Имя плана счетов>)
Метод
УстановитьОбновлениеПредопределенныхДанных (SetPredefinedDataUpdate)
Описан:
… Доступность:
Сервер, толстый клиент, внешнее соединение.
Вызов метода выполняет обращение к серверу.
Примечание:
В режиме совместимости конфигурации Версия8_3_4 доступность метода не зависит от использования в сеансе разделителей.
В режиме совместимости конфигурации Версия8_3_3 необходимость обновлять определяется следующим образом:
Обновление не будет производиться:
если в метаданных или в данных установлено НеОбновлятьАвтоматически,
если в метаданных или в данных установлено Авто, и текущий узел является периферийным.
В противном случае предопределенные данные будут обновлены и/или созданы при первом обращении к данным.
»
На это прямо указывает Справка 1С: ОбъектМетаданныхКонфигурация, свойство
РежимСовместимости (CompatibilityMode)