Помогите с печатной формой (макетом)

1. Nigelist 17.10.17 08:24 Сейчас в теме
Имеется внешняя печатная форма для документа перемещения товара. В номенклатуре добавили новое свойство: Температурный режим. Подскажите, как правильно сформировать запрос? Точнее как указать, что нужно отбирать только свойство ТемпературныйРежим? Вот пример запроса:
	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
	Запрос.УстановитьПараметр("ТемпературныйРежим", );
	Запрос.УстановитьПараметр("Дата", СсылкаНаОбъект.Дата);

	Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
	               |	ПеремещениеТоваровТовары.НомерСтроки,
	               |	ПеремещениеТоваровТовары.Номенклатура,
	               |	ПеремещениеТоваровТовары.Номенклатура.Наименование КАК Наименование,
	               |	ВЫРАЗИТЬ(ПеремещениеТоваровТовары.Номенклатура.НаименованиеПолное КАК СТРОКА(250)) КАК Товар,
	               |	ВЫРАЗИТЬ("""" КАК СТРОКА(250)) КАК Штрихкод,
	               |	ПеремещениеТоваровТовары.Номенклатура.Код КАК Код,
	               |	ПеремещениеТоваровТовары.Номенклатура.Артикул КАК Артикул,
	               |	ПеремещениеТоваровТовары.Количество,
	               |	ПеремещениеТоваровТовары.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
	               |	ПеремещениеТоваровТовары.Цена,
	               |	ПеремещениеТоваровТовары.ХарактеристикаНоменклатуры КАК Характеристика,
	               |	ПеремещениеТоваровТовары.СерияНоменклатуры КАК Серия,
	               |	"""" КАК МестоХранения,
	               |	ЗначенияСвойствОбъектов.Объект,
	               |	ЗначенияСвойствОбъектов.Свойство КАК ТемпературныйРежим,
	               |	ЗначенияСвойствОбъектов.Значение КАК ТемпературныйРежимЗначение
	               |ИЗ
	               |	Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
	               |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
	               |		ПО ПеремещениеТоваровТовары.Номенклатура = ЗначенияСвойствОбъектов.Объект
	               |ГДЕ
	               |	ПеремещениеТоваровТовары.Ссылка = &ТекущийДокумент
	               |	И ЗначенияСвойствОбъектов.Свойство = &Свойство";
Показать

Во вложении сама внешняя печатная форма, пока без изменений.
Прикрепленные файлы:
НапечататьПеремещениеШКСортировкаПоМестуХраненияЭлком_U.epf
По теме из базы знаний
Найденные решения
6. BackinSoda 17.10.17 08:52 Сейчас в теме
(4) простой вариант:
ТоСамоеСвойство= ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Температурный режим");
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. BackinSoda 17.10.17 08:40 Сейчас в теме
(1)
Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
    Запрос.УстановитьПараметр("Свойство", ТоСамоеСвойство);

    Запрос.Текст = 
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
|    ПеремещениеТоваровТовары.НомерСтроки,
|    ПеремещениеТоваровТовары.Номенклатура,
|    ПеремещениеТоваровТовары.Номенклатура.Наименование КАК Наименование,
|    ВЫРАЗИТЬ(ПеремещениеТоваровТовары.Номенклатура.НаименованиеПолное КАК СТРОКА(250)) КАК Товар,
|    ВЫРАЗИТЬ("""" КАК СТРОКА(250)) КАК Штрихкод,
|    ПеремещениеТоваровТовары.Номенклатура.Код КАК Код,
|    ПеремещениеТоваровТовары.Номенклатура.Артикул КАК Артикул,
|    ПеремещениеТоваровТовары.Количество,
|    ПеремещениеТоваровТовары.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
|    ПеремещениеТоваровТовары.Цена,
|    ПеремещениеТоваровТовары.ХарактеристикаНоменклатуры КАК Характеристика,
|    ПеремещениеТоваровТовары.СерияНоменклатуры КАК Серия,
|    """" КАК МестоХранения,
|    ЗначенияСвойствОбъектов.Значение КАК ТемпературныйРежим
|ИЗ
|    Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
|        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
|        ПО ПеремещениеТоваровТовары.Номенклатура = ЗначенияСвойствОбъектов.Объект
|        И ЗначенияСвойствОбъектов.Свойство = &Свойство
|ГДЕ
|    ПеремещениеТоваровТовары.Ссылка = &ТекущийДокумент"
Показать
4. Nigelist 17.10.17 08:49 Сейчас в теме
(2) А как указать "ТоСамоеСвойство"? Это ведь не предопределенный объект.
6. BackinSoda 17.10.17 08:52 Сейчас в теме
(4) простой вариант:
ТоСамоеСвойство= ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Температурный режим");
3. comptr 30 17.10.17 08:41 Сейчас в теме
Перенести условие на свойство из ГДЕ в связь соединения. И на поля ЕСТЬNULL наложить.
5. Nigelist 17.10.17 08:50 Сейчас в теме
7. Nigelist 17.10.17 09:33 Сейчас в теме
Вроде получилось, но теперь проблема с макетом. Посмотрите, кто может. Обработка во вложении.
Прикрепленные файлы:
НапечататьПеремещениеШКСортировкаПоМестуХранения_U.epf
8. BackinSoda 17.10.17 09:50 Сейчас в теме
(7) для начала, если склад не розничный, то п.ф. отвалится с ошибкой (в область строка тоже добавить ТемпературныйРежимЗначение).
В другой области ("СтрокаСЦеной") параметр не выводится потому, что он начинается на пересечении области "НомерСтроки", а для вывода он обозначен в "Данные" т.е. там где начинается параметр "Товар" (прям над ним должно быть)
Еще по мелочи: в месте где поиск свойства там пробел какой-то после ("
9. Nigelist 17.10.17 11:06 Сейчас в теме
(8)
Еще по мелочи: в месте где поиск свойства там пробел какой-то после ("
Там всё нормально, это само название с пробелом в начале, чтобы указанный пункт отображался в начале списка свойств.

(8)
для начала, если склад не розничный, то п.ф. отвалится с ошибкой (в область строка тоже добавить ТемпературныйРежимЗначение).
Спасибо, исправлю.

(8)
В другой области ("СтрокаСЦеной") параметр не выводится потому, что он начинается на пересечении области "НомерСтроки", а для вывода он обозначен в "Данные" т.е. там где начинается параметр "Товар" (прям над ним должно быть)
Исправил, вроде бы работает, но не группирует по температурному режиму. Как сделать, чтобы группировал?
10. BackinSoda 17.10.17 11:28 Сейчас в теме
(9) А он и не рассчитан сейчас на группировку. Тогда надо повозиться. Сперва поставить в запросе Сортировку по температуре, МестоХранения, Товар, потом Итоги по температуре (да и лишние поля типа .Объект, .Свойство можно убрать из выборки. Дальше идёт запрос. выгрузить() , надо переделать на выбрать(). Строку с сортировкой таблицы удалить. Обходы таблицы в цикле переделать на цикл Пока Выборка.Следующий(ОбходРезультатаЗапроса.ПоГруппировкам) Цикл
Внутри которого сделать еще одну выборку : ВыборкаДетали = Выборка.Выбрать(); ну и Цикл по ней : Пока ВыборкаДетали.Следующий() Цикл ... внутри которого практически всё что сейчас в цикле по "Для каждого ВыборкаСтрокТовары Из ТаблицаТоваров Цикл" (который надо переделать) . Делать всё под отладчиком и смотреть в какой выборке что приходит, и где назначать параметры в строки. Плюс надо разбить область "СтрокаСЦенами", чтоб темп.режим был отдельной областью, её надо в верхнем цикле выводить, а во внутреммен - саму строкуСценами. (Скопируй всю область, вставь куда-то, а потом уже удаляй ненужные строки, так вертикальные строки не запорятся). Как-то так.
11. Nigelist 17.10.17 13:19 Сейчас в теме
(10) Я так понял лучше вообще с начала сделать?
12. BackinSoda 17.10.17 14:19 Сейчас в теме
(11) Расписал как делать, может и не совсем понятно. Минут на 20 работы если переделывать, и знать что делать и как. Если бы не всякие штрихкоды, было бы легче )
13. Nigelist 18.10.17 12:47 Сейчас в теме
(12) ок, спасибо. Буду разбираться.
Оставьте свое сообщение
Вакансии
Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день

Программист 1C
Волгоград
зарплата от 200 000 руб.
Полный день

Аналитик
Санкт-Петербург
зарплата от 200 000 руб. до 250 000 руб.
Полный день