Внесение изменений в ТК 1С с использованием программного кода без корректировки форм объекта.
Позволяет упростить обновление конфигураций, не заботиться о форме объектов.
Получить код можно данной обработкой.
1. Добавляем форму объекта в формы обработки - называем ее ("Форма докум ....) (КОНФИГУРАТОР)
2. Комментируем модуль формы (для исключения ошибок вызова, может быть обращение к объекту) и ли удаляем весь текст модуля.
3. Добавляем НОВЫЕ элементы диалога (КОНФИГУРАТОР-ОБРАБОТКА-форма объекта)
4. Сохраняем обработку.
5. Запускаем обработку в режиме предприятия, выбираем нужную форму, получаем текст,
который добавляем в процедуру "ПриОткрытии" (лучше в отдельную процедуру вызываемую при открытии) модуля формы объекта конфигурации.
Бесплатные
ВНИМАНИЕ:
Файлы из Базы знаний - это исходный код разработки.
Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы.
Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных.
Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Узнавайте о новых бесплатных решениях в нашей телеграм-группе
Инфостарт БЕСПЛАТНО
Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
0% комиссии — оплата напрямую исполнителю;
Исполнители любого масштаба — от отдельных специалистов до команд под проект;
Прямой обмен контактами между заказчиком и исполнителем;
Безопасная сделка — при необходимости;
Рейтинги, кейсы и прозрачная система откликов.
Файлы
ВНИМАНИЕ:
Файлы из Базы знаний - это исходный код разработки.
Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы.
Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных.
Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя.
Решение в Реестре отечественного ПО
Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше.
Далее в публикации:
MCP для поиска по метаданым 1С, справке синтакс-помошника и проверки синтаксиса.
Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26
Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.
Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.
Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки. 1.3.11 Доработан механизм контекстной подсказки по метаданным
Есть уже вариант который позволяет получать таблицы, колонки,
события на элементах и формах. Выдает только элементы с определенным префиксом.
Но это чуть позже. Надо подумать.
Сначала подумал, что вот оно!
Но теперь посмотрел и понял, что не оно и затея в общем то гиблая.
Добавь на вложенную панель элемент формы любой и поймешь, что нельзя его однозначно воссоздать. У элемента формы нет ссылки на панель, к сожалению.
да есть тупички но на что нам наши руки,
а формы объектов типовых конфигураций лучше не трогать
товоя цитата "Если это делать прямо в диалоге формы, то обновление релиза может преподнести неприятные сюрпризы."
В модуле обработки заменить строку 180 на:
Текст.ДобавитьСтроку(Таб + "ЭлементыФормы."+ЭлементТаблицы.Панель+".ТекущаяСтраница = ЭлементыФормы."+ЭлементТаблицы.Панель+".Страницы."+ЭлементТаблицы.Страница+";");
Иначе неверно формируется обращение к текущей странице
По-хорошему нужно сделать выбор формы через дерево метаданных. Если подобных наработок у тебя в наличии нет, то конечно немного придется попотеть. Зато в итог будет намного большая универсальность.
Строгий алгоритм такого "разворачивания" структуры формы в код должен использовать полное описание всех типов элементов управления вместе с их расширениями. Такое полное описание есть в , правда в отношении элементов форм функционал пока не доведен до ума, но описание всех свойств по типам и расширениям типов элементов управления есть.
Сортировка по элементам некорректно работает - командная панель пытается создаться раньше, чем табличное поле, на основании которого она работает.
Для правильно работы КП необходимо условие изменить (по заполнению кнопок)
ИначеЕсли ЭлементФормыСтр = "Командная панель" Тогда
Если НЕ Элемент.Автозаполнение Тогда
Для Каждого Кнопка Из Элемент.Кнопки Цикл
ТекстКнопка = "Кнопка";
ТекстЭлемент = Элемент.Имя; //ЭлементТаблицы.Имя;
ДобавитьКнопку(Элемент,ТекстЭлемент,ТекстКнопка,Кнопка,Таб,0,ТолькоКнопки);
КонецЦикла;
КонецЕсли;
1. Сложные формы с панелями не обрабатывает, вылетает с ошибкой:
{ВнешняяОбработка.ДекомпиляцияИАнализФорм.МодульОбъекта(428)}: Метод объекта не обнаружен (ПолучитьПривязку)
Элемент.ПолучитьПривязку( Граница, ПервыйЭлемент, ГраницаПервогоЭлемента, ВторойЭлемент,
2. Из чисел можно было сразу убирать Символы.НПП и заменять запятую на точку.