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

02.12.15

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Создание кода на основание списка значений
.epf 8,12Kb
0
0 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

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

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

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

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

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

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

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

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

ВАЖНО:

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

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

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

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

См. также

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

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

15500 руб.

02.09.2020    179891    999    403    

953

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

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

8400 руб.

20.08.2024    21354    140    80    

141

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

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

22200 руб.

06.10.2023    19353    51    19    

84

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

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

15000 руб.

10.11.2023    13143    55    33    

72

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

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

9360 руб.

17.05.2024    29456    101    48    

147

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

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 руб.

07.10.2021    18783    7    32    

43

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

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    1927    2    0    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Infector 205 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 394 03.12.15 18:54 Сейчас в теме
я такое в экселе делаю.
4. Infector 205 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 122 10.12.15 17:56 Сейчас в теме
А если завтра понадобится ваять кодовые строки требующие подстановки из 2-х колонок? Новую обработку ваять?
Сколько раз удалось воспользоваться этой обработкой?
Оставьте свое сообщение