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