Имеется внешняя печатная форма для документа перемещения товара. В номенклатуре добавили новое свойство: Температурный режим. Подскажите, как правильно сформировать запрос? Точнее как указать, что нужно отбирать только свойство ТемпературныйРежим? Вот пример запроса:
Во вложении сама внешняя печатная форма, пока без изменений.
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
Запрос.УстановитьПараметр("ТемпературныйРежим", );
Запрос.УстановитьПараметр("Дата", СсылкаНаОбъект.Дата);
Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ПеремещениеТоваровТовары.НомерСтроки,
| ПеремещениеТоваровТовары.Номенклатура,
| ПеремещениеТоваровТовары.Номенклатура.Наименование КАК Наименование,
| ВЫРАЗИТЬ(ПеремещениеТоваровТовары.Номенклатура.НаименованиеПолное КАК СТРОКА(250)) КАК Товар,
| ВЫРАЗИТЬ("""" КАК СТРОКА(250)) КАК Штрихкод,
| ПеремещениеТоваровТовары.Номенклатура.Код КАК Код,
| ПеремещениеТоваровТовары.Номенклатура.Артикул КАК Артикул,
| ПеремещениеТоваровТовары.Количество,
| ПеремещениеТоваровТовары.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| ПеремещениеТоваровТовары.Цена,
| ПеремещениеТоваровТовары.ХарактеристикаНоменклатуры КАК Характеристика,
| ПеремещениеТоваровТовары.СерияНоменклатуры КАК Серия,
| """" КАК МестоХранения,
| ЗначенияСвойствОбъектов.Объект,
| ЗначенияСвойствОбъектов.Свойство КАК ТемпературныйРежим,
| ЗначенияСвойствОбъектов.Значение КАК ТемпературныйРежимЗначение
|ИЗ
| Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
| ПО ПеремещениеТоваровТовары.Номенклатура = ЗначенияСвойствОбъектов.Объект
|ГДЕ
| ПеремещениеТоваровТовары.Ссылка = &ТекущийДокумент
| И ЗначенияСвойствОбъектов.Свойство = &Свойство";
ПоказатьВо вложении сама внешняя печатная форма, пока без изменений.
Прикрепленные файлы:
НапечататьПеремещениеШКСортировкаПоМестуХраненияЭлком_U.epf
По теме из базы знаний
- Вывод колонтитула или логотипа внизу страницы, вне зависимости от количества строк в печатной форме.
- Заметка о некоторых приемах форматирования макета в MS Word при разработке печатной формы
- Параметризация печатных форм под контрагентов (подключаемое расширение)
- Конструктор печатных форм (PrintWizard). Часть 1: Печатные формы. А что, собственно, не так?
- Infostart PrintWizard - создание и редактирование печатных форм в 1С 8.3
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
Запрос.УстановитьПараметр("Свойство", ТоСамоеСвойство);
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ПеремещениеТоваровТовары.НомерСтроки,
| ПеремещениеТоваровТовары.Номенклатура,
| ПеремещениеТоваровТовары.Номенклатура.Наименование КАК Наименование,
| ВЫРАЗИТЬ(ПеремещениеТоваровТовары.Номенклатура.НаименованиеПолное КАК СТРОКА(250)) КАК Товар,
| ВЫРАЗИТЬ("""" КАК СТРОКА(250)) КАК Штрихкод,
| ПеремещениеТоваровТовары.Номенклатура.Код КАК Код,
| ПеремещениеТоваровТовары.Номенклатура.Артикул КАК Артикул,
| ПеремещениеТоваровТовары.Количество,
| ПеремещениеТоваровТовары.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| ПеремещениеТоваровТовары.Цена,
| ПеремещениеТоваровТовары.ХарактеристикаНоменклатуры КАК Характеристика,
| ПеремещениеТоваровТовары.СерияНоменклатуры КАК Серия,
| """" КАК МестоХранения,
| ЗначенияСвойствОбъектов.Значение КАК ТемпературныйРежим
|ИЗ
| Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
| ПО ПеремещениеТоваровТовары.Номенклатура = ЗначенияСвойствОбъектов.Объект
| И ЗначенияСвойствОбъектов.Свойство = &Свойство
|ГДЕ
| ПеремещениеТоваровТовары.Ссылка = &ТекущийДокумент"
Показать
Вроде получилось, но теперь проблема с макетом. Посмотрите, кто может. Обработка во вложении.
Прикрепленные файлы:
НапечататьПеремещениеШКСортировкаПоМестуХранения_U.epf
(7) для начала, если склад не розничный, то п.ф. отвалится с ошибкой (в область строка тоже добавить ТемпературныйРежимЗначение).
В другой области ("СтрокаСЦеной") параметр не выводится потому, что он начинается на пересечении области "НомерСтроки", а для вывода он обозначен в "Данные" т.е. там где начинается параметр "Товар" (прям над ним должно быть)
Еще по мелочи: в месте где поиск свойства там пробел какой-то после ("
В другой области ("СтрокаСЦеной") параметр не выводится потому, что он начинается на пересечении области "НомерСтроки", а для вывода он обозначен в "Данные" т.е. там где начинается параметр "Товар" (прям над ним должно быть)
Еще по мелочи: в месте где поиск свойства там пробел какой-то после ("
(8)
(8)
(8)
Еще по мелочи: в месте где поиск свойства там пробел какой-то после ("
Там всё нормально, это само название с пробелом в начале, чтобы указанный пункт отображался в начале списка свойств.
(8)
для начала, если склад не розничный, то п.ф. отвалится с ошибкой (в область строка тоже добавить ТемпературныйРежимЗначение).
Спасибо, исправлю.
(8)
В другой области ("СтрокаСЦеной") параметр не выводится потому, что он начинается на пересечении области "НомерСтроки", а для вывода он обозначен в "Данные" т.е. там где начинается параметр "Товар" (прям над ним должно быть)
Исправил, вроде бы работает, но не группирует по температурному режиму. Как сделать, чтобы группировал?
(9) А он и не рассчитан сейчас на группировку. Тогда надо повозиться. Сперва поставить в запросе Сортировку по температуре, МестоХранения, Товар, потом Итоги по температуре (да и лишние поля типа .Объект, .Свойство можно убрать из выборки. Дальше идёт запрос. выгрузить() , надо переделать на выбрать(). Строку с сортировкой таблицы удалить. Обходы таблицы в цикле переделать на цикл Пока Выборка.Следующий(ОбходРезультатаЗапроса.ПоГруппировкам) Цикл
Внутри которого сделать еще одну выборку : ВыборкаДетали = Выборка.Выбрать(); ну и Цикл по ней : Пока ВыборкаДетали.Следующий() Цикл ... внутри которого практически всё что сейчас в цикле по "Для каждого ВыборкаСтрокТовары Из ТаблицаТоваров Цикл" (который надо переделать) . Делать всё под отладчиком и смотреть в какой выборке что приходит, и где назначать параметры в строки. Плюс надо разбить область "СтрокаСЦенами", чтоб темп.режим был отдельной областью, её надо в верхнем цикле выводить, а во внутреммен - саму строкуСценами. (Скопируй всю область, вставь куда-то, а потом уже удаляй ненужные строки, так вертикальные строки не запорятся). Как-то так.
Внутри которого сделать еще одну выборку : ВыборкаДетали = Выборка.Выбрать(); ну и Цикл по ней : Пока ВыборкаДетали.Следующий() Цикл ... внутри которого практически всё что сейчас в цикле по "Для каждого ВыборкаСтрокТовары Из ТаблицаТоваров Цикл" (который надо переделать) . Делать всё под отладчиком и смотреть в какой выборке что приходит, и где назначать параметры в строки. Плюс надо разбить область "СтрокаСЦенами", чтоб темп.режим был отдельной областью, её надо в верхнем цикле выводить, а во внутреммен - саму строкуСценами. (Скопируй всю область, вставь куда-то, а потом уже удаляй ненужные строки, так вертикальные строки не запорятся). Как-то так.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот