gifts2017

Передача номенклатуры в отбор отчета

Опубликовал Max Черепахин (tamaks) в раздел Программирование - Работа с интерфейсом

Быстрое заполнение отбора по номенклатуре в любом отчете.

Бывает необходимо сформировать отчет по некоторой номенклатуре, список которой может быть достаточно большим. При стандартном методе работы необходимо открыть нужный отчет и перейти в настройки. На вкладке "Отбор" необходимо добавить отбор по номенклатуре, установить "Тип сравнения в списке" и вручную заполнить список отбора по номенклатуре.

 Для ускорения и упрощения работы предлагаю воспользоваться внешней обработкой. Она позволяет установить в любой отчет в качестве отбора номенклатуру полученую из:

  • любого документа, где в табличной части есть колонка "Номенклатура";
  • напрямую с терминала сбора данных (сканера штрихкодов);
  • или копированием из буфера обмена наименований.

В случае вставки из буфера обмена поиск номенклатуры (получение ссылок на неё) осуществляется по наименованию.

P.S. есть возможность встраивания данной обработки в отчеты и вызывать заполнение непосредственно из открытого отчета. Для этого потребуется небольшая доработка отчетов, а именно в отчете нужно разместить код програмного создания кнопки в процедуре ПриОткрытии() и процедуру обработки нажатия на данную кнопку вызывающую запуск данной обработки. У себя я использую комбинированый способ, т.е. можно запустить отчет и выбрать из него пункт "Заполнить из...", а можно запустить обработку и выбрать из неё нужный отчет.

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

Наименование Файл Версия Размер
Передача списка отбора в отчет.epf 10
.epf 15,31Kb
28.11.13
10
.epf 2 15,31Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Сергей Сергеев (Рамзес) 19.11.14 14:47
2. Сергей Сергеев (Рамзес) 19.11.14 15:14
При попытке заполнить из буфера обмена:
{Форма.ФормаДляВнесенияНоменклатурыСписком.Форма(9,67)}: Переменная не определена (Дополнительные)
ТекОбласть = ЭлементыФормы.ПолеТабличногоДокумента1.Область("R"+<<?>>Дополнительные.ПолучитьТолькоЦифры(Строка(НомСтр))+"C1");

3. Сергей Сергеев (Рамзес) 19.11.14 15:34
(2) Насколько я понял Дополнительные - это название нетипового общего модуля (либо он отсутствует в конфигурации "УПП 1.3"). Поэтому предлагаю соответствующий фрагмент кода написать так:
	НомСтр = Формат(НомСтр,  "ЧГ=0"); // форматируем так, чтобы убрать группировку числа по разрядам (пробел между триадами)
	ТекОбласть = ЭлементыФормы.ПолеТабличногоДокумента1.Область("R"+Строка(НомСтр)+"C1");
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа