Имя: Пароль:
1C
 
Не добавляются предопределенные значения в справочник в расширении
0 bvb
 
18.07.25
15:27
Добрый день

Нужно добавить предопределенные значения в справочник, созданный в расширения (расширение создавал не я, поэтому версия совместимости у него была старая).

Изначально значения вообще не добавлялись - исправил совместимость с Версия 8.3.17 на Версия 8.3.24 - в конфигураторе значения добавились.

Но в форме списка в предприятии они не видны
1 Волшебник
 
18.07.25
15:29
Не надо создавать справочники в расширениях
2 bvb
 
18.07.25
15:47
(0) Я конечно извиняюсь.
Но  :
1. Я уже это от Вас слышал
2. Ваше мнение идет вразрез с политикой 1С, которая продвигает механизм расширений
3. Данное расширение создавал не я. И вынужден его дорабатывать.

Вопрос :
есть конфа на поддержке с выключенной возможностью изменения.
Пользователь просит добавить 1 (один)  реквизит в документ и создать к нему классификатор.
Нафига мне включать ради такой фигни возможность изменения (процесс необратимый), и иметь лишний гимор при обновлении?
Если это можно реализовать в расширении ?

Даже если какой то дятел случайно выключит активность расширения - поля реквизитов расширения сгенеренные в таблицах скуля никуда не денутся. И после включения эти данные по прежнему будут с нами.
3 Timon1405
 
18.07.25
15:48
(1) что делать если это тиражируемое расширение которое планируется распространять и обновлять, например, интеграция с Озоном?
4 timurhv
 
18.07.25
15:52
(2)
"Пользователь просит добавить 1 (один)  реквизит в документ и создать к нему классификатор."
через БСП доп.реквизит со списком
6 Eiffil123
 
18.07.25
16:13
(0)
1. добавьте элементы вручную.
2. Обработкой заполните у них реквизит "ИмяПредопределенныхДанных" (вроде даже групповая обработка с этим справляется)

собственно вот так и делается предопределенный элемент из непредопределенного
9 Сергиус
 
18.07.25
16:24
(0)После сохранения запустите Предприятие с ключом ЗапуститьОбновлениеИнформационнойБазы
10 bvb
 
18.07.25
19:55
(6) О! Спасибо большое.

Там уже были аналогичные по сущности и названию непредопределенные элементы.
Двойной профит - не нужно убирать дубли.
13 Волшебник
 
18.07.25
20:26
(3) Это редкие случаи. Возможно, что здесь справочники в расширениях уместны, хотя всё равно сомнительны. Если они заполняются на основании исходной базы или содержат неоперативные данные, то имеет место быть.

Но моя общая рекомендация такая: не надо создавать объекты данных в расширениях (справочники, документы, их реквизиты, регистры и т.п.)
14 Волшебник
 
18.07.25
20:25
(2) >> Ваше мнение идет вразрез с политикой 1С, которая продвигает механизм расширений

Расширения хороши для патчей и в очень редких случаях. Но если вы не завязаны на типовые, то расширения вам и не нужны.
Фирма 1С продвигает расширения, чтобы по максимуму сохранить типовой (свой) функционал у конкретных клиентов.
15 bvb
 
21.07.25
11:19
(13)  "Но моя общая рекомендация такая: не надо создавать объекты данных в расширениях (справочники, документы, их реквизиты, регистры и т.п.)"

У меня пытиливый ум, и я хочу понять - почему ?


(14) Так и у меня такая же цель  - я хочу по возможности сохранить основную типовую конфигурацию без изменений, а все кастомизированые доработки вынести в расширение
16 Волшебник
 
21.07.25
11:26
(15) Если не хотите потерять данные или остановить бизнес в связи с недоступностью этих данных, то не делайте этого.
17 Волшебник
 
21.07.25
11:26
(15) >> я хочу по возможности сохранить основную типовую конфигурацию без изменений, а все кастомизированые доработки вынести в расширение

Это плохое желание, я бы даже сказал гельштат.
18 maxab72
 
21.07.25
11:29
(15) иногда при обновлениях платформы, типовой и т.п. это все в расширениях может внезапно и без предупреждения отвалиться и исчезнуть.
Представь себе, что у тебя есть автомобиль, типовой с конвейера. И ты решил ездить на нем в путешествия, но багажник маловат. И ты решаешь расшириться за счет прицепного домика. Все отлично, в домик загружены надувная лодка, примус, любимый фикус тещи и она сама (так как, если она сядет на заднее сидение, то ей тесно, а если на переднее - тогда тесно водителю). И вот на горном серпантине, твое замечательное расширение машины отцепляется и самостоятельно улетает в пропасть... Обидно? Да, но если ты загрузил туда то, с чем не жалко расстаться, то не смертельно.
19 bvb
 
21.07.25
11:36
(16 / 18)
Как исчезнуть объекты метаданных вообще пропадут ?
Или при инициализации расширения создадутся заново но пустые ?
Почему это должно произойти ?  

Какова физика этого процесса ?
Нарушится связь объектов объявленных в расширении с полями таблиц ИБД ?
Разрушится структура таблиц ИБД для объектов расширения ?
20 Волшебник
 
21.07.25
11:38
(19) Учите матчасть.
21 maxab72
 
21.07.25
11:51
(19) я наблюдал случай, когда после обновления справочник в одном расширении создался заново, с другими внутренним именем таблицы. Совершенно пустой. А старая таблица с данными оказалась перепривязана к другому объекту, добавленному другим расширением, и данные в нем были приведены в полную негодность (что случилось с его прежней таблицей - неизвестно, видимо была утрачена). Пришлось откатывать все назад, выгружать данные во что-то промежуточное, а после обновления все перезаливать в расширения заново.
22 bvb
 
21.07.25
11:58
(20) Только и делаю что ее учу...

Вот приобрел книжку в качестве настольного справочника(см. картинку).
Мне теперь ее выбрасывать ?

(21) Может и такое быть. Слоенный пирог из расширений тоже часто встречается. Но ведь проблема решилась ?
И у Вас пока только наблюдения. Без объяснения физики процесса.
23 maxab72
 
21.07.25
12:12
(22) Книжка полезная. Расширения с объектами можно делать, если на фирме есть фикс, чтоб присматривать за этими расширениями. А если расширение это типа тиражный продукт, и у пользователей оно стоит на типовой, которую они обновляют автоматом по интернету, и в какой-то прекрасный момент это все превращается в тыкву? Кто их спасет? И какое у них будет мнение об этом продукте?
24 Fish
 
гуру
21.07.25
12:16
(22) Купи ещё книжку Митичкина.
25 bvb
 
21.07.25
12:17
(24) Вообще то, как бы за всем нужно присматривать специалист.

Люди, которые уповают на то, что у них все должно произойти АВТОМАТИЧЕСКИ, достойны того чтобы у них все превратилось в тыкву.
26 maxab72
 
21.07.25
12:47
(25) а! понял... хвалю! вы, внедряя сей тиражируемый продукт заранее создаете себе грядку для дальнейшего окучивания и стрижки, когда все это будет валиться при каком-нибудь обновлении.
27 bvb
 
21.07.25
13:02
(26) Вот я не понимаю , зачем огульно меня пытаться обвинить в злонамерениях ?

Я где то написал что делаю тиражируемый продукт ?

Я дорабатываю типовую конфу. Хочу максимально локализовать свои добработки и упростить обновления типовой.

Помимо меня там оттоптались два разработчика одного франча и каждый создал по своему расширению,
при этом не удосужившись заморочиться созданием корректных префиксов расширений (чтобы различать что добавилось в одном, а что в другом).
28 maxab72
 
21.07.25
13:15
(27) я наоборот хвалю, за ум и предусмотрительность. Расширения с объектами хранящими данные (будь это дополнительные реквизиты или отдельные новые справочники и т.п.) это всегда мина замедленного действия. Поэтому использовать их не желательно. И особых преимуществ перед встраиваемыми прямо в конфу объектами расширения с добавляемыми таблицами не имеют. Их как и встраиваемые объекты при каждом обновлении необходимо проверять на изменения кода в типовой части, а вот с данными могут случиться неприятные конфузы (каких не будет у встраиваемых объектов). То есть в трудоемкости при обновлениях ничего не выиграете, а вот если расширения еще и меняют логику, например проведения документов, и при обновлении они отвалились, и этого никто не заметил - могут создать проблемы и большие. Так что использовать их - только в самом безвыходном случае.
29 bvb
 
21.07.25
13:36
"а вот с данными могут случиться неприятные конфузы (каких не будет у встраиваемых объектов)"


П-О-Ч-Е-М-У ?

Чем таблица в SQL, созданная по метаданным объекта расширения, отличается от таблицы созданной объектом основной конфигурации ?
И что с ней может случиться ?
30 maxab72
 
21.07.25
13:43
(29) как показывает опыт, с таблицей добавленной расширением может случиться все что угодно, и даже чего не может придумать самая извращенная фантазия. Причем это случиться может в любой, самый неподходящий момент. "Почему?" - так реализованы расширения платформенно. "зачем так реализовали?" - хз, может с самого начала приняли какое-то неудачное решение в какой-нибудь важной детали механизма, а теперь менять поздно и т.п. (может суть в том, что расширения изначально задумывались исключительно как интерфейсная фишка, без создания метаданных, с обычными формами же они не работают в принципе, а там отличие только в интерфейсной части). Для нас таблица ничем не отличается, а вот для самой 1с она отличается существенно.
31 Fish
 
гуру
21.07.25
13:52
(29) Вот тут немного описана физика расширений:
https://wonderland.v8.1c.ru/blog/rasshirenie-dannykh/?ysclid=mdczavnb5x132570640

Но это зазеркалье от 2017-го. С тех пор уже многое могло и поменяться.
32 bvb
 
21.07.25
13:57
(31) Возможно его изначально реализовали криво. Так механизм постоянно совершенствуется.
На то и новые версии платформы выходят

И он действительно удобен.  

Я не вижу каких то причин табуировать его широкое использование.

Например современные версии Data Mobile сделаны целиком как расширение

10 лет назад и простая конфигурация могла отвалиться - приходилось ручками лазить в таблицы скуль

И динамическое обновление - было ай ай
33 Волшебник
 
21.07.25
13:57
(32) То есть причина из сабжа Вас не убедила?
34 Eiffil123
 
21.07.25
14:10
(32) проблем с расширениями несколько:
1. Оно может внезапно (на самом деле нет, но для пользователя это будет внезапно) отключиться. В результате будет работать штатный алгоритм, который вас не устроил. И про это никто не узнает. Например вы изменили проведение документа с помощью расширения, оно отвалилось и часть документов провелась по старому.

2. Трудность обновления. Пока что нет вменяемых методик, что делать с заимствованными модулями и объектами после обновления релиза конфигурации нет.

3. Трудность отладки и чтения кода. Открыв листинг модуля документа совершенно нет уверенности в том, что это именно тот код, который будет выполнен у пользователя. Нет инструмента, чтобы увидеть код, который будет исполняться.

Ну и ранее действительно существовала проблема, когда данные из добавленных объектов в расширении могли пропадать и удаляться. На мой взгляд это болезнь релизов, когда расширения в 1С только появились. Такое же недоверие ранее было к т.н. "динамическому обновлению", т.к. на ранних релизах оно могло ломать конфигурацию.
35 maxab72
 
21.07.25
14:12
(32) ну и используйте на здоровье. будем держать за вас кулаки.
(33) вручите ему наконец медаль "Безумие и отвага" и пусть работает с расширениями как повезет. Может он действительно нереально фартовый.
36 bvb
 
21.07.25
14:13
(33) Так я решил вопрос с помощью (6).

И не факт, что они добавились бы через основную, с учетом того что там уже были элементы с одинаковыми названиями.

Имею опыт геморроя редактирования и схлопывания статей ДДС  и затрат в БП, когда смешиваются типовые предопределенные и добавленные элементы с одинаковыми названиями (назаводят - потом хотят упорядочить).
37 Волшебник
 
21.07.25
14:13
(34) Я динамическому обновлению не доверяю до сих пор
38 Волшебник
 
21.07.25
14:15
(36) Просто Вы новичок, джун. Послушайте сеньоров с большим опытом разработки. Не лезьте в бутылку. Вам сказали: не надо. Примите к сведению. Если будете использовать, то ради бога, это Ваше личное дело, но не учите новичков плохому.
39 Somebody
 
21.07.25
14:20
Читаю с удивлением. Регулярно работаю с расширениями, не бывало и тени проблем.
40 Stepashkin
 
21.07.25
14:27
(39) Та же ерунда.
41 Волшебник
 
21.07.25
14:33
(39) Наверное, вы не разработчик, а скорее всего доработчик типовых.
42 2S
 
21.07.25
14:34
(17) "Гештальт"
43 Волшебник
 
21.07.25
14:36
(42) спасибо
44 Somebody
 
21.07.25
14:36
(41) так и есть.
45 Волшебник
 
21.07.25
14:37
(44) Ну это уровень джуна, максимум миддла, уж извините.
46 Eiffil123
 
21.07.25
14:41
(37) Тогда должны порадоваться новому механизму "Обновление информационной базы без простоев", анонсированному в 8.5.3.

термин динамическое обновление видимо решили заменить, т.к. много негатива к нему ))
47 Eiffil123
 
21.07.25
14:42
(45) ну большинство 1сников - доработчики типовых (даже "сеньоры" с ерп-проектов). кроме программистов вендора, разумеется.
48 Somebody
 
21.07.25
14:45
(47) разумеется. совершенно непонятное заявление в (45)
49 bvb
 
21.07.25
14:49
(37) И я не доверяю - на серверах  1cloud.ru оно глючит. Но в остальных случаях делаю - это удобно

(41)  Естественно в данном контексте- "доработчик".

Если серьёзная глобальная доработка, то нужна отдельная конфа поставщика с поддержкой обновлений. А для "несерьезной" хватит и расширения.  

(34)
1. - вношу меню с иконкой  с логотипом компании в общее меню для вызова кастомизированных отчетов и обработок
И в группа "НомерДата" изменённых документов добавляю эту иконку
Если расширение отвалится (а так бывает после изменения / обновления типовой) - сразу видно.

2. При подготовке обновления нужно отдельно готовить расширение под новый релиз (что и делаю)

3. Да это есть но также решаемо - тупо ставлю Сообщить() в процедуре формы если она меняется в разных расширениях
50 Волшебник
 
21.07.25
14:48
(47) Если ERP уже снята с поддержки и в неё можно вносить изменения в основную конфу, то все "доработчики" сразу становятся РАЗРАБОТЧИКАМИ.
51 Прохожий
 
21.07.25
15:07
(2) А почему реквизит именно справочник. Разве нельзя сделать текстовый и список выбора, а при попытке выбора из всех ранее созданных элементов справочника выбирать все существующие значения? Почему вас так тянет справочники создавать?
52 Прохожий
 
21.07.25
15:09
(2,3) Классификатор предопределенных элементов корректнее хранить в макете в современном мире.
53 Eiffil123
 
21.07.25
15:08
(51) какой-то кошмар предлагаете. а как же ссылочная целостность и всё такое?
54 bvb
 
21.07.25
15:14
(51) Потому что созданный справочник может иметь реквизиты (в том числе и типа "Справочник.Ссылка")
55 Прохожий
 
21.07.25
16:22
(54) А может иметь и "Документ.Ссылка"
(53) У классификаторов бывает ключ как правило. Он же код. Никакая дополнительная целостность не требуется. Если бизнес-логикой целостность гарантирована, то техническая целостность не требуется. Он же говорит, что юзер изобрел классификатор свой. Если юзер сразу может, как Карл Маркс, то делаем макет и с него предлагаем списком выбора. Если мысль у юзера ещё не полностью созрела, то просто выбираем все предыдущие варианты в списке выбора. Потому что вялотякучая шизофрения не может иметь кодов даже если пользователь считает что у него Классификатор головного мозга.
Плюс когда его уволят можно безобразие отключить даже без реструктуризации.
56 Eiffil123
 
21.07.25
16:37
(55) кошмар
57 Прохожий
 
21.07.25
16:57
(56) Персональный. На заказ. Что вас смущаем в бизнес-безумии?
58 craxx
 
21.07.25
17:34
(32) Вот свежайший пример проблем расширений. Коллеги в чате пишут
Всегда к расширением относился с подозрением, а сегодня убедился, что мое классовое чутье не подвело меня. При обновлении базы напоролся на ситуацию неуникального индекса в журнале.
1С при обновлении журнала пытается в него пихать данные как из таблиц с наименованием _Document[номер], так и из таблиц _Document[номер]X1. Последние создаются при расширении, в котором есть этот вид документа, но не удаляются при удалении расширения (!!!).
Также интересно то, что количество записей в таблицах  _Document[номер] и _Document[номер]X1 отличаются. В таблице _Document[номер] записи соответствуют периоду до установки расширения. В таблице _Document[номер]X1 присутствуют все записи из _Document[номер]  с учетом их изменений после расширения и новые записи, которые были добавлены после установки расширения.
от ошибки избавился следующим образом:
1. переименовал таблицу _Document[номер] в xxx_Document[номер]
2. создал пустую талицу _Document[номер]
3. обновил конфу
4. прибил  таблицу _Document[номер]
5. переименовал таблицу xxx_Document[номер] в _Document[номер]
59 bvb
 
21.07.25
17:52
(55) Ну насчет макета и списка выбора мысль интересна но не нова.
Минус в том что редактирование классификатора переносится на плечи программиста и  Классификатор головного мозга будет у него

(58) Чет может напортачили при названии документа. Кстати журналы документов по типам доков из основной и расширения лучше не использовать. Возможность применять журналы в расширениях вообще появилась сравнительно недавно

Кстати я не упертый : Если в конфе до меня было включено изменение - я добавляю объекты метаданных непосредственно в основную конфу (так спокойней). А логику модулей форм, создание полей форм , менеджеров и объектов удобнее дописать в расширении в ДО И После.

И ошибки как правило сразу видно при проверке возможности применения
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.