В помощь программисту: "Групповая обработка справочников и документов" с выполнением произвольного кода.

26.11.08

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

Расширение возможностей типовой обработки "Групповая обработка справочников и документов".

Файлы

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

Наименование Скачано Купить файл
ГрупповаяОбработкаСправочниковИДокументов
.1227666914 45,15Kb
668 1 850 руб. Купить

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

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

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

Мне часто приходиться пользоваться типовой обработкой "Групповая обработка справочников и документов". Она довольна удобна: можно обработать любые справочники и документы, имеющиеся в конфигурации, встроенный гибкий отбор, возможность изменять реквизиты и табличные части. Вот только иногда бывают ситуации, когда новое значение реквизита нельзя задать в виде константы для всех обрабатываемых элементов, а нужно формировать его из каких-нибудь данных текущего обрабатываемого элемента. Или с отобранными элементами нужно провести более широкий ряд действий, чем просто пометка на удаление, проведение, отмена проведения и т.д. То есть, выполнить какой-то произвольный код, вписанный в обработку в режиме "Предприятия".

Чтобы было понятнее, можно рассмотреть ситуацию, когда для всех элементов справочника номенклатура у которых не задан реквизит "ПолноеНаименование" необходимо в этот реквизит записать Наименование и Артикул этого элемента.

В самой форме обработки нововедений всего два: в списке действий появилось действие "Выполнить код[...]", и появилась новая закладка с полем для кода, который будет исполняться.

Открываем обработку, выбираем справочник "Номенклатура", в поле "Отбор" добавляем новую строку: Поле = ПолноеНаименование; ТипСравнения=Равно; Значение=""; (то есть пустая строка) и нажимаем кнопку "Отобрать". Переходим на закладку "Обработка" там должна появиться таблица с элементами справочника, удовлетворяющих указанному условию отбора (то есть с незаполненным ПолнымНаименованием).

Теперь собственно основной момент. Переходим на закладку "Код обработки" и вводим там код, который будет выполняться над каждым отмеченным элементом справочника номенклатура отобранным в прошлом шаге. Код будет примерно такой:

//Значение ссылки на элемент справочника или документа
//обрабатываемой в текущей итерации отобранных и отмеченных элементов
//доступно через переменную "ТекСсылка"
СпрОбъект = ТекСсылка.ПолучитьОбъект();
СпрОбъект.ПолноеНаименование = СокрЛП(ТекСсылка.Наименование)+" "+СокрЛП(ТекСсылка.Артикул);

Попытка
   СпрОбъект.Записать();
   Сообщить(""+ТекСсылка+" элемент записан.");
Исключение
   Сообщить("Не удалось записать элемент: "+ТекСсылка+" "+ОписаниеОшибки());
КонецПопытки;



То есть обработка будет в цикле перебирать все отмеченные строки таблицы с отобранными объектами, и в каждой итерации вызывать оператор "Выполнить()" с нашим кодом.

Возвращаемся на закладку "Обработка" , в списке действий выбираем "Выполнить код[...]" и нажимаем кнопку "Выполнить".

Вот в принципе и все.

Остается только лишний раз напомнить что в неумелых руках данная обработка может натворить много бед, а в умелых стать хорошим подспорьем. Поэтому не забывайте и не ленитесь лишний раз делать резервные копии базы, и проверять код который вы собираетесь запускать на выполнение. Всем успехов!

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

См. также

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

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

15500 руб.

02.09.2020    208347    1143    413    

1039

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

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

8400 руб.

20.08.2024    37971    215    111    

203

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

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

16000 руб.

10.11.2023    17370    75    39    

92

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

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

22200 руб.

06.10.2023    25051    65    29    

95

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

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

9500 руб.

17.05.2024    36046    131    53    

174

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

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

9900 руб.

25.08.2025    1189    4    7    

10

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

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

3600 руб.

27.12.2024    3163    7    0    

12
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. German 414 26.11.08 09:59 Сейчас в теме
Было уже во многих обработках:
Например в Ei:
Кроме встроенного языка+установка реквизитов+проведение+загрузка данных. Причем для любых данных не только находящихся в БД...
2. kitt 323 26.11.08 10:06 Сейчас в теме
German так я на эксклюзивный патент и не претендую.
3. kitt 323 26.11.08 10:09 Сейчас в теме
Кроме того Ei - 2.5 Mb, ГрупповаяОбработкаСправочниковИДокументов - 45 Kb.
5. kitt 323 26.11.08 10:41 Сейчас в теме
Меня длинным гуглевским урлом не напугаешь ))
6. WiseSnake 1521 26.11.08 13:58 Сейчас в теме
У меня тоже есть такая же разработка(сам писал) ))) но со временем я от нее отказался...
Попробуйте попользоваться http://www.infostart.ru/profile/15778/projects/2795/, но со временем Вам понравится(я уже пользуюсь только ей), тем более я скоро продолжу описание http://www.infostart.ru/profile/15778/blogs/709/ (извините за рекламу я не со зла)
7. lakzn 29.10.09 16:06 Сейчас в теме
kitt, спасибо! Быстро, просто и как раз то, что нужно ))
8. scoboy 02.12.09 20:00 Сейчас в теме
9. Shin0o 22.06.10 11:24 Сейчас в теме
Спасибо хорошая обработка а самое главное очень гибкая.
Респект kitt :idea:
10. Lizi60 08.10.10 10:38 Сейчас в теме
Плюс, конечно. Спасибо.
11. Alex@ander 20.09.11 03:51 Сейчас в теме
Спасибо огромное, в своё время обработка очень мне помогла!
12. arjuna 20.09.11 23:09 Сейчас в теме
Спасибо, мне помогла. Есть пожелание: для примера показать в закомментированом виде наиболее распространенные варианты кода.
13. pannamara 01.10.11 16:07 Сейчас в теме
Спасибо, постоянно использую, очень удобно
14. Lizi60 18.11.11 15:12 Сейчас в теме
Очень полезная обработка. Пользуюсь постоянно. Спасибо автору.
15. Murik_1984 2 18.11.11 15:27 Сейчас в теме
Я считаю, чем обработка универсальнее, тем она так сказать неудобнее. Я заметил, что в универсальных обработках есть бока, которые проявляются в нетиповых решениях. Поэтому конечно люди пишут свои. Мне например эта подошла как раз, и интерфейс я сделал бы таким же, если бы писал сам. Спасибо автору и удачи.
16. balabani 23.11.11 02:11 Сейчас в теме
Спасибо хорошая обработка
17. hedgehog.net 21.12.11 18:06 Сейчас в теме
Я не понял, а как обратится к объекту если нужно обработать и табличные части и реквизиты документов ?
19. CratosX 115 20.02.12 15:27 Сейчас в теме
(17) hedgehog.net,
Документ.ПоступлениеТоваров.Товары.__НужныйРеквизит__
18. пользователь 04.01.12 16:12
Сообщение было скрыто модератором.
...
20. mihaizum 17.07.13 22:17 Сейчас в теме
Обработка классная! спасибо!
21. Automatik 975 29.06.15 09:41 Сейчас в теме
Приветствую всех! Кому надо разработать код для данной обработки, пишите на isihome@yandex.ru (предоплата)
22. fixin 4291 09.10.15 13:27 Сейчас в теме
да. действительно маст-хэв. Можно отобрать сразу несколько документов и сделать с ними что захочешь, например я использовал для удаления объектов. ;-)
23. Automatik 975 23.11.16 07:52 Сейчас в теме
На управляемых формах ? В описании надо бы указать, это важно.
25. kitt 323 23.11.16 13:42 Сейчас в теме
(23) IsiKosta, смотри дату публикации и включай голову
24. Automatik 975 23.11.16 07:53 Сейчас в теме
Картинку очень желательно добавлять в описание!
26. Fedor1970 33 14.07.17 08:47 Сейчас в теме
Для Розница, редакция 1.0 потребовались незначительные изменения в коде, но РАБОТАЕТ!
Доволен заказчик, доволен Я, автору Респект
27. graphbuh 263 13.01.22 22:14 Сейчас в теме
Есть ли отбор по вхождению текстового реквизита в строку неопределеной длиным? // например артикул входит в ... вставляем текст содержащий большое количество артикулов...
Для отправки сообщения требуется регистрация/авторизация