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

02.12.15

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

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

Скачать файлы

Наименование Файл Версия Размер
Создание кода на основание списка значений
.epf 8,12Kb
0
.epf 8,12Kb Скачать

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

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

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

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

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

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

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

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

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

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

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

ВАЖНО:

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

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

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

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

См. также

SALE! 20%

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

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    121614    670    389    

711

SALE! 25%

Infostart PrintWizard

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

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

18000 15300 руб.

06.10.2023    7262    21    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 8000 руб.

10.11.2023    3507    11    1    

33

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2520 руб.

14.01.2013    177728    1073    0    

849

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99339    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18102    6    8    

39

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28096    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23596    15    15    

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

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

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

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

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

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


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

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

Ещё раз НАМЕКАЮ. Публикация не о истории решения а о методе уменьшить трудозатраты при создании многих строк кода когда есть список из которого их можно сформировать...
6. palsergeich 04.12.15 23:56 Сейчас в теме
а не проще тоже самое сделать в excel одной формулой?
7. AnryMc 849 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 120 10.12.15 17:56 Сейчас в теме
А если завтра понадобится ваять кодовые строки требующие подстановки из 2-х колонок? Новую обработку ваять?
Сколько раз удалось воспользоваться этой обработкой?
Оставьте свое сообщение