Создание строк кода по шаблону и списку

02.12.15

Разработка - Инструментарий разработчика

Бывает необходимо создать код, содержащий много одинаковых строк

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Создание кода на основание списка значений
.epf 8,12Kb
0 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Когда-то была необходимость создать отчет, который бы "интерпретировал" данные на основании информации, которой нет в базе.

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

Так как писать мне это было лень - появилась эта простая обработка.

Задается шаблон кода, например:

СписикЗначений_ТМЦ_Исключения.Добавить(Справочники.Номенклатура.НайтиПоНаименованию("*****"));

Берется справочник "Номенклатура", отбирается по нужным параметрам и выводится в таблицу, которая копируется в обработку...

В результате работы получается "блок" кода:

СписикЗначений_ТМЦ_Исключения.Добавить(Справочники.Номенклатура.НайтиПоНаименованию("Товар_1"));
СписикЗначений_ТМЦ_Исключения.Добавить(Справочники.Номенклатура.НайтиПоНаименованию("Товар_2"));
...
СписикЗначений_ТМЦ_Исключения.Добавить(Справочники.Номенклатура.НайтиПоНаименованию("Товар_1000"));

Готов параметр, например, для передачи в запрос, содержащий 1000 наименований из справочника. 

ПРАВИЛА РАБОТЫ:

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

ВАЖНО:

Вставлять таблицу значений в текстовое поле на обработке с первой строки и ТОЛЬКО в ПЕРВУЮ колонку.

ДОПОЛНИТЕЛЬНО:

Возможна работа с нумерацией - до максимального количества.

Возможна (опционально) замена "кавычки" на """ - для текстовых строк в коде.

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

24900 руб.

20.08.2024    58787    314    156    

285

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    242269    1323    419    

1116

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданым 1С, справке синтакс-помошника и проверки синтаксиса.

15250 руб.

25.08.2025    38359    77    19    

89

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С:Предприятие 8 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Библиотека стандартных подсистем Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм.

22570 руб.

06.10.2023    34529    87    35    

111

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

17000 руб.

10.11.2023    23310    84    42    

98

Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9500 руб.

17.05.2024    48422    166    63    

203

Разработка Инструментарий разработчика Работа с интерфейсом Адаптация типовых решений Нейросети 1C:Бухгалтерия 1C:ERP 1С:ЗУП 1С:КА 1С:УНФ 1С:УТ 1С:Розница 1С:ДО 1С:ERP Управление предприятием 2 Платные (руб)

Разработка "Дизайнер форм 1С" реализована в виде расширения 1С и является универсальным инструментом для разработки прототипа форм с целью демонстраций, технических заданий и т.д. Без участия разработчика с возможностью экспорта в файл внешней обработки и генерации формы используя искусственный интеллект.

36600 руб.

28.08.2025    5644    2    2    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Infector 192 02.12.15 13:34 Сейчас в теме
Топорный подход изначально. Свойства объектов чем вам не угодили, если конфигурацию менять нет желания. Если нужно больше измерений - есть регистры сведений, которые позволяют изменить конфигурацию без ущерба для сложности поддержки.
HiKS; jan27; maksa2005; +3 1 Ответить
3. AnryMc 850 04.12.15 12:02 Сейчас в теме
(1) Infector,
Например:
- клиент запретил включать изменения в конфигурации.
- есть ещё базовые конфигурации в которых вообще нельзя писать

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

Источник: http://infostart.ru/public/324775/
Автор: http://infostart.ru/profile/349973/ Infector

ПС. Публикация о методе решения конкретной проблемы: Заполнить кучу строк кода по существующему списку, а не о методологии программирования...
2. dj_serega 396 03.12.15 18:54 Сейчас в теме
я такое в экселе делаю.
4. Infector 192 04.12.15 12:53 Сейчас в теме
С базовыми конфигурациями, конечно, тяжелее, однако я бы заморочился все-таки с решением, не зашивающим справочную информацию в недра кода. Файлом dbf, например. Клиент-серверный вариант недоступен все-равно.

- клиент запретил включать изменения в конфигурации.
Возможный вариант, хотя и не представляю такого на практике. Обычно клиенту все-таки интересно "чтобы работало". Ну и опять же - другие варианты выхода из ситуации в первую очередь

P.S.: минус не ставлю.
5. AnryMc 850 04.12.15 14:05 Сейчас в теме
(4) Infector,
P.S.: минус не ставлю.


Ставьте. Разрешаю.

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

Ещё раз НАМЕКАЮ. Публикация не о истории решения а о методе уменьшить трудозатраты при создании многих строк кода когда есть список из которого их можно сформировать...
6. palsergeich 04.12.15 23:56 Сейчас в теме
а не проще тоже самое сделать в excel одной формулой?
7. AnryMc 850 07.12.15 10:02 Сейчас в теме
(6) palsergeich,
Для этого на компе должен стоять excel (платный продукт). А 1С есть по умолчанию, раз обработка для 1С прогера.

А если выложить здесь эту формулу - будет ещё лучше...
8. gaglo 09.12.15 10:54 Сейчас в теме
(7) А формулы, по-моему, и ни одной не надо. И Excel необязательно, скажем, что Open Office сгодится...
Список значений выделяем, копируем из 1С , вставляем в колонку 2 пустой таблицы. Получаем колонку, заполненную значениями Товар1, Товар2, ...Товар1000.
Все ячейки колонки 1 заполняем одинаковым значением:
СписикЗначений_ТМЦ_Исключения.Добавить(Справочники.Номенклатура.НайтиПоНаименованию("
Все ячейки колонки 3 заполняем одинаковым значением:
"));
Сохраняем лист в TXT-формате.
А! Поди, для этого и возможностей редактирования MXL хватит....
9. V.Nikonov 124 10.12.15 17:56 Сейчас в теме
А если завтра понадобится ваять кодовые строки требующие подстановки из 2-х колонок? Новую обработку ваять?
Сколько раз удалось воспользоваться этой обработкой?
Для отправки сообщения требуется регистрация/авторизация