![]() |
|
Помогите с построителем отчета в обмене с сайтом | ☑ | ||
---|---|---|---|---|
0
seregapplk
01.10.19
✎
16:34
|
Перехожу с ут10,3
на ут для украины 2,3 в обмене с сайтом нет отбора по - категория номенклатуры как добавить, потому что выгружает чуш, Процедура НастроитьПостроительОтчета(ПостроительОбъект) Экспорт МассивДопустимыхТиповНоменклатуры = Новый Массив; МассивДопустимыхТиповНоменклатуры.Добавить(Перечисления.ТипыНоменклатуры.Товар); //МассивДопустимыхТиповНоменклатуры.Добавить(Перечисления.ТипыНоменклатуры.Услуга); ПостроительОбъект.Параметры.Вставить("МассивДопустимыхТиповНоменклатуры", МассивДопустимыхТиповНоменклатуры); ПостроительОбъект.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | Товары.НоменклатураСсылка КАК НоменклатураСсылка, | Товары.НоменклатураСсылка.БазоваяЕдиницаИзмерения КАК ЕдиницаИзмерения, | Товары.НоменклатураСсылка.ЕдиницаХраненияОстатков КАК ЕдиницаДляШтрихКода, | Товары.НоменклатураСсылка.ВидНоменклатуры.Наименование КАК ВидНоменклатуры, | Товары.НоменклатураСсылка.ВидНоменклатуры.ТипНоменклатуры КАК ТипНоменклатуры, | РегистрШтрихКоды.Штрихкод КАК ШтрихКод, | Товары.ХарактеристикаСсылка КАК ХарактеристикаСсылка, | ЗначенияСвойствХарактеристик.Свойство КАК ХарактеристикаСвойство, | ЗначенияСвойствХарактеристик.Значение КАК ХарактеристикаЗначениеСвойства, | Выбор Когда ЦеныНоменклатуры.Цена Есть NULL | Тогда ЦеныНоменклатурыБезХарактеристики.ТипЦен | Иначе ЦеныНоменклатуры.ТипЦен | КОНЕЦ КАК ТипЦен, | Выбор Когда ЦеныНоменклатуры.Цена Есть NULL | Тогда ЦеныНоменклатурыБезХарактеристики.Валюта | Иначе ЦеныНоменклатуры.Валюта | КОНЕЦ КАК Валюта, | Выбор Когда ЦеныНоменклатуры.Цена Есть NULL | Тогда ЦеныНоменклатурыБезХарактеристики.Цена | Иначе ЦеныНоменклатуры.Цена | КОНЕЦ КАК Цена, | Выбор Когда ЦеныНоменклатуры.Цена Есть NULL | Тогда ЦеныНоменклатурыБезХарактеристики.ЕдиницаИзмерения | Иначе ЦеныНоменклатуры.ЕдиницаИзмерения | КОНЕЦ КАК ЕдиницаИзмеренияЦены, | ЕстьNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) + ЕстьNULL(ТоварыВРозницеОстатки.КоличествоОстаток, 0) + | ЕстьNULL(ТоварыВНТТОстатки.КоличествоОстаток, 0) - ЕстьNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) - | ЕстьNULL(ТоварыКПередачеСоСкладовОстатки.КоличествоОстаток, 0) КАК Остаток, | | ЗначенияСвойствОбъектов.Значение КАК СвойствоНоменклатурыЗначение, | ЗначенияСвойствОбъектов.Свойство КАК СвойствоНоменклатуры |ИЗ | (ВЫБРАТЬ | Номенклатура.Ссылка КАК НоменклатураСсылка, | Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаДляШтрихКода, | ХарактеристикиНоменклатуры.Наименование КАК ХарактеристикаНаименование, | ВЫБОР | КОГДА ХарактеристикиНоменклатуры.Ссылка ЕСТЬ NULL | ТОГДА Значение(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) | ИНАЧЕ ХарактеристикиНоменклатуры.Ссылка | КОНЕЦ КАК ХарактеристикаСсылка | ИЗ | Справочник.Номенклатура КАК Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры | ПО Номенклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец | ГДЕ | Номенклатура.ЭтоГруппа = ЛОЖЬ | И Номенклатура.ВидНоменклатуры.ТипНоменклатуры В(&МассивДопустимыхТиповНоменклатуры) | {ГДЕ | Номенклатура.Ссылка.* КАК Номенклатура}) КАК Товары | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствХарактеристик | ПО ЗначенияСвойствХарактеристик.Объект = Товары.ХарактеристикаСсылка | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК РегистрШтрихКоды | ПО Товары.НоменклатураСсылка = РегистрШтрихКоды.Владелец | И Товары.ХарактеристикаСсылка = РегистрШтрихКоды.ХарактеристикаНоменклатуры | И Товары.ЕдиницаДляШтрихКода = РегистрШтрихКоды.ЕдиницаИзмерения | | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ЗначенияСвойствОбъектов.Объект КАК Объект, | ЗначенияСвойствОбъектов.Свойство КАК Свойство, | ЗначенияСвойствОбъектов.Значение КАК Значение | ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов | ГДЕ | ЗначенияСвойствОбъектов.Свойство.НазначениеСвойства = Значение(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура) | {ГДЕ | ЗначенияСвойствОбъектов.Свойство КАК Свойство}) КАК ЗначенияСвойствОбъектов | | ПО Товары.НоменклатураСсылка = ЗначенияСвойствОбъектов.Объект | | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаОтчета, {(ТипЦен).*}) КАК ЦеныНоменклатуры | ПО Товары.НоменклатураСсылка = ЦеныНоменклатуры.Номенклатура | И Товары.ХарактеристикаСсылка = ЦеныНоменклатуры.ХарактеристикаНоменклатуры | | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаОтчета, {(ТипЦен).*}) КАК ЦеныНоменклатурыБезХарактеристики | ПО Товары.НоменклатураСсылка = ЦеныНоменклатурыБезХарактеристики.Номенклатура | И ЦеныНоменклатурыБезХарактеристики.ХарактеристикаНоменклатуры = Значение(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) | | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаОтчета, {(Склад).*}) КАК ТоварыНаСкладахОстатки | ПО Товары.НоменклатураСсылка = ТоварыНаСкладахОстатки.Номенклатура | И Товары.ХарактеристикаСсылка = ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры | | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРознице.Остатки(&ДатаОтчета, {(Склад).*}) КАК ТоварыВРозницеОстатки | ПО Товары.НоменклатураСсылка = ТоварыВРозницеОстатки.Номенклатура | И Товары.ХарактеристикаСсылка = ТоварыВРозницеОстатки.ХарактеристикаНоменклатуры | | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВНТТ.Остатки(&ДатаОтчета, {(Склад).*}) КАК ТоварыВНТТОстатки | ПО Товары.НоменклатураСсылка = ТоварыВНТТОстатки.Номенклатура | И Товары.ХарактеристикаСсылка = ТоварыВНТТОстатки.ХарактеристикаНоменклатуры | | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ДатаОтчета, {(Склад).*}) КАК ТоварыВРезервеНаСкладахОстатки | ПО Товары.НоменклатураСсылка = ТоварыВРезервеНаСкладахОстатки.Номенклатура | И Товары.ХарактеристикаСсылка = ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры | | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(&ДатаОтчета, {(Склад).*}) КАК ТоварыКПередачеСоСкладовОстатки | ПО Товары.НоменклатураСсылка = ТоварыКПередачеСоСкладовОстатки.Номенклатура | И Товары.ХарактеристикаСсылка = ТоварыКПередачеСоСкладовОстатки.ХарактеристикаНоменклатуры | |ГДЕ Истина |{ГДЕ | ЕстьNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) + ЕстьNULL(ТоварыВРозницеОстатки.КоличествоОстаток, 0) + | ЕстьNULL(ТоварыВНТТОстатки.КоличествоОстаток, 0) - ЕстьNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) - | ЕстьNULL(ТоварыКПередачеСоСкладовОстатки.КоличествоОстаток, 0) КАК Остаток} |ИТОГИ | МАКСИМУМ(ЕдиницаИзмерения), | МАКСИМУМ(ЕдиницаДляШтрихКода), | МАКСИМУМ(ВидНоменклатуры), | МАКСИМУМ(ТипНоменклатуры), | МАКСИМУМ(ШтрихКод), | МАКСИМУМ(ХарактеристикаЗначениеСвойства), | МАКСИМУМ(ТипЦен), | МАКСИМУМ(Валюта), | МАКСИМУМ(Цена), | МАКСИМУМ(ЕдиницаИзмеренияЦены), | МАКСИМУМ(Остаток), | МАКСИМУМ(СвойствоНоменклатурыЗначение) |ПО | НоменклатураСсылка, | ХарактеристикаСсылка, | ХарактеристикаСвойство, | СвойствоНоменклатуры |АВТОУПОРЯДОЧИВАНИЕ"; КонецПроцедуры Процедура ЗаполнитьОтборПостроителя(ПостроительОбъект) Экспорт ОтборКоличество = ПостроительОбъект.Отбор.Количество(); Для Н = 1 По ОтборКоличество Цикл ПостроительОбъект.Отбор.Удалить(ОтборКоличество - Н); КонецЦикла; ПостроительОбъект.Отбор.Добавить("Номенклатура", , "Номенклатура"); ПостроительОбъект.Отбор.Добавить("ТипЦен", , "Тип цен"); ПостроительОбъект.ДоступныеПоля.ТипЦен.Представление = "Тип цен"; ПостроительОбъект.Отбор.Добавить("Склад", , "Остатки по складам"); ПостроительОбъект.ДоступныеПоля.Склад.Представление = "Остатки по складам"; ПостроительОбъект.Отбор.Добавить("Остаток", , "Остаток"); ПостроительОбъект.ДоступныеПоля.Остаток.Представление = "Остаток"; ПостроительОбъект.Отбор.Добавить("КатегорияНоменклатуры", , "Категория номенклатуры"); ПостроительОбъект.ДоступныеПоля.КатегорияНоменклатуры.Представление = "Категория номенклатуры"; |
|||
1
palsergeich
01.10.19
✎
16:36
|
Пл моему проще переписать
|
|||
2
FIXXXL
01.10.19
✎
16:50
|
по хорошему, надо переписать на СКД...
|
|||
3
seregapplk
01.10.19
✎
16:57
|
ПостроительОбъект.Отбор.Добавить("КатегорияНоменклатуры", , "Категория номенклатуры");
ПостроительОбъект.ДоступныеПоля.КатегорияНоменклатуры.Представление = "Категория номенклатуры"; это неправильно это я дописал вот этот код добваляет в построитель отбор по контрагенту, как сделать чтобы отбирать по категориям? ДоступныеПоля = Построитель.Отбор.ПолучитьДоступныеПоля(); Поле = ДоступныеПоля.Добавить("Контрагент", "Контрагент", Новый ОписаниеТипов("СправочникСсылка.Контрагенты")); Поле.Отбор = Истина; |
|||
4
ам794123
01.10.19
✎
17:08
|
Отбор это коллекция элементов отбора. Элемент отбора имеет свойства ВидСравнения, Использование, Значение и т.д. и метод - Установить. Исходите из этого, а подробности можно узнать в синтаксис-помощнике
|
|||
5
seregapplk
02.10.19
✎
07:48
|
Нет в коллекции категорий как в ут 10.3 код сильно отличается
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |