Групповая обработка реквизитов + консоль запросов












Расширение конфигурации, которое в типовую обработку «Групповое изменение реквизитов» добавляет возможность отбирать объекты для обработки запросом. Необходимо наличие обработки «Консоль запросов» с ИТС.

Типовая обработка "Групповое изменение реквизитов", входящая в состав конфигураций 1С Управление Торговлей 11.4, 1С Бухгалтерия 3.0, 1С УНФ 1.6  (и других с поддержкой БСП), обладает большим спектром возможностей:

  • Изменение реквизитов табличных частей; можно выбирать строки табличной части (условием), которые необходимо обработать;
  • Использование произвольных алгоритмов;
  • Выполнение изменений в транзакции;
  • Выполнение изменений в режиме "ОбменДанными = Истина" (чтобы отключить контроль при записи объекта);

Чего очень не хватает в этой обработке — возможности выбирать объекты не отбором, а каким-то более сложным запросом. Приходится писать свои мини-обработки, которые включают в себя отбор объектов запросом, и дальнейшую обработку. И это довольно странно, ведь например в обработке "Регистрация изменений для обмена данными" есть возможность выбирать объекты для регистрации запросом.

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

Расширение необходимо добавлять со снятым флагом "безопасный режим" (т.к. идет обращение к контексту сервера)

Теперь можно проверить новые возможности групповой обработки. Заходим в типовую обработку

Выбираем тип объектов, которые будем менять

Заходим в настройку отбора. Появилась кнопка "Добавить результаты запроса"

При первом вызове будет необходимо указать путь к обработке "Консоль запросов" — это типовая обработка, которую можно найти на ИТС.

И повторно нажать "Добавить результаты запроса". Будет вызвана типовая консоль запросов, где необходимо написать текст запроса. Консоль запросов замечательна тем, что конструктор запросов в ней работает и в тонком клиенте. В результаты выполнения запроса должно обязательно входить поле "Ссылка". Нажимаем "Выполнить", а потом "Выбрать результат"

Кнопка выбора результатов в "Консоли запросов" может выглядеть по-другому:

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

Идеей для разработки послужила шикарная обработка г-на Поручика Универсальные подбор и обработка объектов, в которой есть еще и возможности для:

  • перенумерации документов
  • операций с движениями и регистрами
  • и многое другое

Для любителей "классики" есть Групповая обработка справочников и документов (Управляемая форма) от Андрея Волина.

Работа расширения протестирована на конфигурациях:

  • 1С Управление Торговлей 11.4.7.128
  • 1С Бухгалтерия ПРОФ Бухгалтерия 3.0.69.32
  • 1С УНФ 1.6.16.219
  • КонсольЗапросов_8.3.5.epf.

6 Comments

  1. ksnik

    А еще в групповой обработке можно например указать номера документов полученные запросом следующим образом


    Процедура КоманднаяПанельПостроительОтчетаЗагрузитьНомераИзФайла(Кнопка)
    
    СписокНомеров = Новый СписокЗначений;
    
    ТекстовыйФайл = Новый ТекстовыйДокумент;
    ТекстовыйФайл.Прочитать(«X:Exchange1.txt»);
    Для Сч = 1 По ТекстовыйФайл.КоличествоСтрок() Цикл
    СписокНомеров.Добавить(ТекстовыйФайл.ПолучитьСтроку(Сч));
    КонецЦикла;
    
    ПостроительОтчета.Отбор[0].Значение = СписокНомеров;
    
    КонецПроцедуры
    
    

    Показать

    Reply
  2. user929348

    Добрый день, не понятно, откуда взять КонсольЗапросов_8.3.5.epf. С ИТС есть другая консоль, и в ней нет кнопки «Выбрать результат»

    Reply
  3. Kutuzov

    (2) Добрый день! Если ее просто открывать через Файл — Открыть, то кнопка выбора результатов там не отображается. А если ее подключать для выбора результатов (как описано в публикации), то там появляется кнопка выбора. Посмотрел другую версию консоли запросов, там кнопка выглядит так:

    Reply
  4. for-elenak

    Скачала все файлы, как написано. И Консоль запросов для упр. приложения с диска ИТС за февраль этого года. Но не хочет

    Reply
  5. Kutuzov

    (4) У вас видимо база 1С серверная. Надо либо адрес обработки прописать сетевой (со слешами), который доступен из того места, где крутится сервер 1С, либо доработать наше решение, чтобы обработка эта (консоль) копировалась с клиента на сервер.

    Reply
  6. for-elenak

    (5)Спасибо! База и правда серверная

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *