Обновление нетиповой конфигурации и расширение

1. user2127992 14.03.25 15:37 Сейчас в теме
Добрый всем день, такая проблема. При обновлении нетиповой конфигурации у табличной части документа удаляется реквизит, используемый в расширении. Документ не входит в "дважды измененные". Может кто-то подскажет в какую сторону думать?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
8. Torin57 41 14.03.25 20:31 Сейчас в теме
(1)
у табличной части документа удаляется реквизит, используемый в расширении

Этот реквизит есть в табличной части основной конфигурации и он заимствован в расширении? И в основной конфигурации он удален? Я правильно понял?
Тогда его и в расширении нужно удалить. И все будет работать. Или я не прав?
9. user1936660 14.03.25 21:43 Сейчас в теме
(8)
Или я не прав?
А что тебе нейросеть про это ответила?
10. Torin57 41 14.03.25 21:50 Сейчас в теме
(9) Я задал вопрос автору темы, а не ИИ. Не сочиняй.
2. user1936660 14.03.25 15:46 Сейчас в теме
3. user2127992 14.03.25 15:50 Сейчас в теме
В том что при работе выдает ошибку, что расширение не нашло удаленный при обновлении объект
4. user1936660 14.03.25 15:54 Сейчас в теме
(3) Логично. Наверно, надо изменить расширение чтобы оно работало без этого объекта?
5. user2107191 14.03.25 16:25 Сейчас в теме
(4) Это что ж теперь - работать ручками придется? И даже ИИ не выручит?
6. user1936660 14.03.25 16:43 Сейчас в теме
(5)
И даже ИИ
Адептам ИИ некогда, они там в соседней теме плюсиками друг друга милуют.
7. hasarov 14.03.25 20:15 Сейчас в теме
Может имя реквизита в расширении сменить. Уникальное имя ?
11. user2107191 14.03.25 21:57 Сейчас в теме
(7) Конечно. И оно сразу станет существующим в основной конфигурации! И ошибка исчезнет!
12. Torin57 41 14.03.25 22:44 Сейчас в теме
(11) Я сливаюсь. Автору нужно другое, но ответ я не знаю. Могу выложить ответ Claude 3.7 Sonnet, если это чем-то поможет:
Заключение
Проблема с удалением реквизита табличной части при обновлении нетиповой конфигурации 1С требует внимательного анализа и планирования. Основное решение заключается в адаптации расширения к изменениям в основной конфигурации либо путем удаления заимствованного реквизита из расширения, либо созданием собственного реквизита с уникальным именем. Также важно следовать рекомендациям по корректному обновлению нетиповых конфигураций и тщательно тестировать все изменения перед применением в рабочей среде.
13. hasarov 15.03.25 00:34 Сейчас в теме
(11) мля, там не сказано , что реквизит из основной конфы. Может он в расширении создан.
14. user2107191 15.03.25 07:41 Сейчас в теме
(13) Там сказано, что при обновлении конфы удаляется реквизит используемый в расширении.
Используемый в расширении. Используемый.
При обновлении конфы. Нетиповой конфигурации. Не при обновлении расширения.
Подумай. Или спроси у старших.

Даже ИИ вопрос понял правильно. И даже ответ дал почти правильный.
15. Torin57 41 15.03.25 09:09 Сейчас в теме
(14) Я жажду получить ответ. Возмездно.
(1) Автор, тебя тоже касается. Небось уже во всем без нас разобрался.
16. user2107191 15.03.25 09:22 Сейчас в теме
(15)
Небось уже во всем без нас разобрался.
А че тут разбираться? В основной конфигурации исчез реквизит. Значит он а) или больше не нужен б) или переработана логика его использования.
Отсюда вытекает, что и твое расширение должно быть переработано, чтобы а) или работать без этого реквизита б) или уметь работать с новой логикой основной конфигурации.

Других вариантов не существует.
Ручками, только ручками.
ИИ не поможет.
17. Torin57 41 15.03.25 09:43 Сейчас в теме
(16) То есть это был реквизит из конфигурации поставщика? Его в конфигурации поставщика удалили, и он удалился в основной конфигурации?
Если так, то это нормально. В "дважды измененные" попадают реквизиты которые входят в конфигурацию поставщика, но были изменены в основной конфигурации. Меня сбила с толку фраза
Документ не входит в "дважды измененные".
Я подумал, что это случай автора. Тогда, по идее, такой реквизит не должен удаляться?

По традиции, сначала советуюсь с ИИ:

Анализ ситуации с удалением реквизита при обновлении конфигурации 1С
Да, ответ пользователя форума проясняет ситуацию. Давайте разберемся более детально:

Что произошло
Судя по всему, речь идет о реквизите, который:

Изначально существовал в конфигурации поставщика (типовой)
Был заимствован в расширении
При обновлении был удален из конфигурации поставщика
После обновления основной конфигурации этот реквизит исчез и в ней

Почему документ не попал в "дважды измененные"
"Дважды измененные" объекты — это те, которые были изменены как в вашей основной конфигурации (относительно предыдущей версии конфигурации поставщика), так и в новой версии конфигурации поставщика. То есть, для попадания в "дважды измененные" должны выполняться два условия:
Объект был изменен в вашей основной конфигурации (вы внесли какие-то доработки)
Тот же объект был изменен в новой версии конфигурации поставщика
В вашем случае, похоже, документ не был изменен в вашей основной конфигурации (вы не вносили в него доработки на уровне основной конфигурации), а использовали его "как есть" и только в расширении добавили к нему функциональность. Поэтому документ не попал в "дважды измененные" — с точки зрения механизма обновления, вы не меняли этот документ в основной конфигурации.

Почему реквизит удалился
Реквизит удалился, потому что:

Он был удален в конфигурации поставщика
Ваша основная конфигурация унаследовала это изменение при обновлении
Расширение, которое использовало этот реквизит, теперь не может его найти

Что с этим делать
Ответ пользователя форума абсолютно верен. У вас есть два пути:
Адаптировать расширение для работы без этого реквизита:

Если реквизит больше не нужен в логике работы конфигурации поставщика, вам нужно перестроить расширение так, чтобы оно тоже обходилось без него

Адаптировать расширение к новой логике:

Если в конфигурации поставщика реквизит был заменен чем-то другим или логика работы была изменена, вам нужно изучить эти изменения и соответствующим образом обновить расширение

Дополнительные варианты решения
Создать свой реквизит в расширении:

Если функциональность реквизита все еще необходима для вашего бизнес-процесса, вы можете создать собственный реквизит с тем же назначением в расширении
Это даст вам независимость от изменений в конфигурации поставщика

Проверить, не был ли реквизит переименован или перемещен:

Иногда при обновлении реквизиты не удаляются полностью, а переименовываются или перемещаются в другие структуры
Стоит проверить, не появился ли похожий реквизит с другим именем

Заключение
Эта ситуация — классический пример того, почему при использовании расширений рекомендуется:

По возможности создавать собственные объекты и реквизиты в расширении, а не полагаться на объекты основной конфигурации
Тщательно тестировать работу расширений после каждого обновления основной конфигурации
Иметь стратегию адаптации расширений к изменениям в основной конфигурации
К сожалению, в данном случае действительно требуется ручное вмешательство для адаптации расширения к изменениям в основной конфигурации, и автоматизированного решения этой проблемы не существует.
18. user2107191 15.03.25 09:54 Сейчас в теме
(17)
То есть это был реквизит из конфигурации поставщика?
Конфигурация нетиповая, там вообще может не быть конфигурации поставщика. Опять же мы не знаем авторский способ "обновления" - через поддержку, через сравнение, через загрузку...

UPD. С другой стороны - нам это нафиг неинтересно. Почему он исчез из основной конфигурации - вообще не наше дело. Исчез и исчез. Может поставщик удалил, может шаловливые ручки. Нас интересует только факт основной конфигурации - реквизит был да сплыл. А всё остальное не имеет значения.
19. SlavaKron 15.03.25 11:06 Сейчас в теме
А зачем вообще в нетиповой конфигурации использовать расширение?
20. user2107191 15.03.25 11:20 Сейчас в теме +0.9 $m
(19) Нетиповая <> Самописная.
Может быть имеется ввиду отраслевая. Какой-нибудь УСО или Лизинг.
А может быть и самописка, написанная в головной компании, а в регионе к ней докрутили расширение... Но обновления из министерства приходят.

Кто его знает?
21. Torin57 41 17.03.25 18:33 Сейчас в теме
(20) Мне интересен такой момент. Автор с нами перестал общаться после третьего поста. Почему?
Мои предположения:
1.Во всем разобрался сам, дальше ему с нами общаться неинтересно.
2.Возможно, автор человек неуверенный, не захотел попасть под каток критики в свой адрес. На форуме автор 27 дней, если и в профессии столько же, то наверняка неправильно употребляет термины и не до конца понимает то, о чем говорит. Таких тут порвут как тузик грелку.
22. user2127992 20.03.25 14:41 Сейчас в теме
(21) Да во всем разобрался, простите, забыл про этот вопрос)
23. Torin57 41 20.03.25 15:32 Сейчас в теме
(22) Ясно, а какой ответ ближе всего к истине? То что мне ИИ написал в (17) - это он правильно описал ситуацию?
24. user2127992 25.03.25 17:30 Сейчас в теме
Да, я думал что расширение тоже автоматически обновляется вместе с конфигурацией, но оказалось что так просто все не работает.
25. user2107184 25.03.25 17:36 Сейчас в теме
(24)
расширение тоже автоматически обновляется вместе с конфигурацией
Как это? Конфигурацию написала одна фирма, а расширение - левый разработчик. Они друг про друга ничего не знают.
С чего вдруг обновление конфигурации должно знать о расширении и самостоятельно его как-то обновлять?
26. user2127992 25.03.25 18:02 Сейчас в теме
Теперь это до меня дошло
(25)
28. Torin57 41 25.03.25 18:17 Сейчас в теме
(26) Да, теперь дошло, а по-другому никак. Есть у нас любители рассказывать сказки, что надо читать документацию, и тогда у тебя не будет вопросов. В этой документации черт ногу сломит. А самое главное, какую главу читать, на что обратить внимание? Не факт, что в документации фокус внимания на твоем вопросе сосредоточен. Возможно, там что-то где-то мельком сказано, и все.
29. user1936660 25.03.25 19:09 Сейчас в теме
(28)
В этой документации черт ногу сломит. А самое главное, какую главу читать, на что обратить внимание? Не факт, что в документации фокус внимания на твоем вопросе сосредоточен. Возможно, там что-то где-то мельком сказано, и все.

А вот поддержу! Доколе? Совсем уже классику забыли:
Дурака лелеют, дурака заботливо взращивают, дурака удобряют… Дурак стал нормой, еще немного — и дурак станет идеалом, и доктора философии заведут вокруг него восторженные хороводы. А форумы водят хороводы уже сейчас. Ах, какой ты у нас славный, дурак! Ах, какой ты бодрый и здоровый, дурак! Ах, какой ты оптимистический, дурак, и какой ты, дурак, умный, какое у тебя тонкое чувство юмора, и как ты ловко решаешь кроссворды!.. Ты, главное, только не волнуйся, дурак, все так хорошо, все так отлично, и наука к твоим услугам, дурак, и литература, чтобы тебе было весело, дурак, и ни о чем не надо думать… А всяких там вредно влияющих хулиганов и скептиков мы с тобой, дурак, разнесем (с тобой, да не разнести!).
user2107184; Sashares; +2 Ответить
27. Torin57 41 25.03.25 18:14 Сейчас в теме
(25)
Как это?

Легко. Если фирма 1С захочет чтобы было так, то будет так. Спорить никто не будет. Нелогично, неправильно? Что ж, бывает и так.
(25)
Конфигурацию написала одна фирма, а расширение - левый разработчик. Они друг про друга ничего не знают.

Это очевидно для тех кто уже 10 лет пользуется расширениями и столько же сидит на форуме, для всех остальных это неочевидно. Более того, не может и не должно быть очевидно.
30. user2107184 25.03.25 20:57 Сейчас в теме
(27)
Это очевидно для тех кто уже 10 лет пользуется расширениями и столько же сидит на форуме, для всех остальных это неочевидно. Более того, не может и не должно быть очевидно.
А элементарную логику включать?
"Не может и не должно". Смешно.
31. Torin57 41 26.03.25 17:53 Сейчас в теме
(30) Ну хорошо. Тогда объясни, пож-та, такой момент. В модуле команды могут быть использованы следующие директивы компиляции:
&НаКлиенте – процедура/функция исполняется в управляемом клиенте;
&НаСервере – процедура/функция исполняется на сервере;
&НаКлиентеНаСервере – процедура/функция может исполняться и в управляемом клиенте, и на сервере.

Директива &НаСервере намекает на то, что на сервере будет доступен некий контекст. Я бы так подумал с точки зрения логики. По крайней мере, в модуле формы это работает так: есть директива &НаСервере и &НаСервереБезКонтекста. А тут какой контекст? В модуле формы можно обратиться к контексту напрямую, либо написать ЭтотОбъект и через точку нужный реквизит. А тут какие реквизиты в модуле команды?
Было бы логично использовать директиву &НаСервереБезКонтекста с точки зрения логики.
32. Sashares 33 26.03.25 18:11 Сейчас в теме
(31) Если контекста нет, какой контекст ты собираешься ограничить директивой &НаСервереБезКонтекста?
Видимо, разработчики платформы подумали, что раз контекста нет, то и заставлять писать эту фразу каждый раз не имеет смысла. Просто упростили жизнь разработчикам конфигураций.
Вот и вся логика.
34. Torin57 41 26.03.25 21:40 Сейчас в теме
(32) Это подтверждает мою мысль, что на логику опереться не получится. А у меня другая логика, что будем делать? Я бы разрешил обе директивы, и &НаСервере, и &НаСервереБезКонтекста.
Я бы не назвал директиву &НаСервереБезКонтекста ограничением. Я бы назвал это скорее разрешением. Разрешением серверу отдохнуть, не гонять данные с клиента на сервер и обратно.
35. Sashares 33 26.03.25 22:07 Сейчас в теме
(34) Ну запили свою платформу со своей логикой.
А раз пользуешься платформой от 1С, то учитывай документацию и логику разработчиков платформы. Это единственно, что важно.
Платформа работает именно так.
А отдельные мнения, твое, мое, других пользователей по этому вопросу никого не интересуют, т.к. ни на что не влияют, и ничего изменить не могут.
Это как в Вкусно и точка слоган - "жри че дали".
36. Torin57 41 26.03.25 22:10 Сейчас в теме
(33) Это еще и идеология. Не знаешь, не умеешь - твои проблемы. Можно и так жить, но это тяжело.
37. Sashares 33 26.03.25 22:11 Сейчас в теме
(36)
Не знаешь, не умеешь - твои проблемы.

А чьи это проблемы?
Конечно это твои проблемы, если ты не умеешь/не знаешь.
Изучай, учись. Кто это будет делать другой за тебя?
38. Torin57 41 27.03.25 10:00 Сейчас в теме
(37)
Кто это будет делать другой за тебя?

Это будут делать роботы, такие как Бот консультант ИТС
Он находит и обобщает информацию с сайта ИТС. Подискутировать с ним не получается, но это все равно лучше чем раньше, когда ты должен был сам заходить по ссылкам, читать и обобщать информацию. Можно и самому провалиться в ссылку и почитать документацию. Если ссылок 3, то это уже вполне выполнимо.
39. user1936660 27.03.25 10:05 Сейчас в теме
(38)
Это будут делать роботы
И кому тогда ты будешь предьявлять своё "в этой документации черт ногу сломит", если ответ не осилишь?
40. Torin57 41 27.03.25 10:10 Сейчас в теме
(39) Если ответ сформулировал бот консультант ИТС, то можно написать претензию на webits-info@1c.ru. Кроме того, в самом боте есть окошко для обратной связи. Если проблема в самой документации, то на v8@1c.ru
Прикрепленные файлы:
42. user1936660 27.03.25 15:09 Сейчас в теме
(40)
Если ответ сформулировал бот консультант ИТС, то можно написать претензию
Ну, то есть, получается, чтобы понять, что информация неверна, тебе надо уже знать правильный ответ. А зачем тогда вообще бота спрашивать? Или формулировка претензии будет "я вообще ничего не понял, что ваш бот мне говорит"?
43. Torin57 41 27.03.25 15:12 Сейчас в теме
(42) Для того чтобы узнать, что ответ неправильный, нужно попробовать применить ответ бота на практике. Если он скажет, что можно использовать директиву &НаСервереБезКонтекста в модуле команды (он такого не говорил, но предположим гипотетически), то я попробую использовать директиву &НаСервереБезКонтекста в модуле команды, получу ошибку и напишу на бота жалобу в отдел ИТС.

UPD
С Claude Sonnet такой фокус не пройдет. Жаловаться непонятно куда. Клод мне настоятельно советовал использовать директиву &НаСервереБезКонтекста в модуле приложения.
44. Torin57 41 27.03.25 15:18 Сейчас в теме
(42) Пока что план по использованию бота ИТС следующий. Спрашивать я все равно буду сначала у Клода, если же нужно верифицировать ответ, то буду обращаться к боту ИТС.
45. user1936660 27.03.25 15:21 Сейчас в теме
(44)
Спрашивать я все равно буду сначала у Клода
А жаловаться на бота ИТС. Ага.
46. Torin57 41 27.03.25 15:25 Сейчас в теме
(45) Да, жаловаться буду на бота ИТС. Естественно, я смогу жаловаться, только если получу доказательства вины бота ИТС. Иначе в отделе ИТС скажут, что ошибка у них не воспроизводится, что бот ИТС отвечает правильно.
47. Sashares 33 27.03.25 20:20 Сейчас в теме
(44)
Спрашивать я все равно буду сначала у Клода

Columbia Journalism Review провели исследование, в 60% на вопросы нейронки уверенно врут. Вот ролик с сюжетом по этой теме на 7 минут.
https://www.youtube.com/watch?v=O8t_ubzmOBQ&t=106s

Ну так, для информации.

Оригинал статьи - https://www.cjr.org/tow_center/we-compared-eight-ai-search-engines-theyre-all-bad-at-citing-news.php
48. Torin57 41 27.03.25 21:24 Сейчас в теме
(47) Это слишком абстрактно. Предлагаю обсудить ответы Клода в данной теме. Например, в (17)
41. Sashares 33 27.03.25 11:07 Сейчас в теме
(38) Учиться роботы за тебя не будут.
Это просто дополнительный помощник/источник информации, необходимости учиться это никак не отменяет.
user1619761; Trucker; user1936660; user2107184; +4 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот