![]() |
![]() |
![]() |
|
Не добавляются предопределенные значения в справочник в расширении bvb, Олдж, Hawk_1c, phabeZ, Федя Тяпкин, Волшебник, Vstur, Homer, craxx, YaFedor, Мультук, Fish, Михаил_, Климов Сергей, Ненавижу 1С, Прохожий, maxab72, maxar, Eiffil123, Кукуев, Ногаминебить, vicof, Terrixus, Timon1405, mikecool, Bell, Масянька, Somebody, MWWRuza, abfm, San787, НаборДанных, wildivan, tan76, Kigo_Kigo, 2S, GreenLab, АнализДанных, Stepashkin, butterbean, trad, Karamzin, DimR_71, Pprog151713, ass1c, BayJay, qwerty, Доминошник, skafandr, Fedor-1971, Trosskin, Гипервизор, backfire, Smit1C, PuhUfa, who respawn, arsik, b_ru, dva1c, d4rkmesa, denk32, formista2000, Metman, alexxx961503, программистище, andryscha1c
| ☑ | ||
---|---|---|---|---|
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) Чет может напортачили при названии документа. Кстати журналы документов по типам доков из основной и расширения лучше не использовать. Возможность применять журналы в расширениях вообще появилась сравнительно недавно Кстати я не упертый : Если в конфе до меня было включено изменение - я добавляю объекты метаданных непосредственно в основную конфу (так спокойней). А логику модулей форм, создание полей форм , менеджеров и объектов удобнее дописать в расширении в ДО И После. И ошибки как правило сразу видно при проверке возможности применения |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |