|
Программно вывести новое поле на уровне группировки Mulber, zuza, LoreLeii, d4rkmesa, nick86, JohnGilbert, skafandr, spiller26, maxar, zenik, 1cVandal, mr_K, Fish, toypaul, sikuda, AntiBuh, Silgis, AlexKimp, Garikk, shuhard, Garykom, 2S, АгентБезопаснойНацио, crotnn, reg0303, maxab72, okmail, КонецЕсли, takefive, DemonShinji2, elka302, lucky-nn, Кир Пластелинин, LuckyStar
| ☑ | ||
|---|---|---|---|---|
|
0
Mulber
30.05.26
✎
19:25
|
Всем привет. Есть отчет формируемый полностью программно через ПостроительОтчета, без схемы, там 3 уровня группировки: счет, ТМЦ, партия. Добавил в выборку запроса дополнительное строковое поле. но теперь оно выводится под группировкой партии. Можно его как-то вывести на уровне ТМЦ? например как выводится на том уровне единица измерения, так как оно япринадлежит ТМЦ, а мое поле не агрегатное, строковое, берется из РС, с которым связь по ТМЦ
|
|||
|
1
Chameleon1980
31.05.26
✎
11:32
|
Полностью программно и через построитель - это, как бы - разные вещи.
Кто на чем стоял? код покажи хоть что-ли. |
|||
|
2
Mulber
01.06.26
✎
16:02
|
(1) добавил поле АдресХранения. Попробовал сделать итоговым полем, но тоже не идеально. В СКД в ресурсах указал бы Рассчитывать по - ТМЦ..
ПостроительОтчетаОстаткиТМЦНаСкладах.ИзмеренияСтроки.Добавить("СчетУчета"); ПостроительОтчетаОстаткиТМЦНаСкладах.ИзмеренияСТроки.Добавить("ТМЦ"); ПостроительОтчетаОстаткиТМЦНаСкладах.ИзмеренияСтроки.Добавить("Партия"); ПостроительОтчетаОстаткиТМЦНаСкладах.Текст = ОтчетОбъект.ТекстПостроителя(); ПостроительОтчетаОстаткиТМЦНаСкладах.Параметры.Вставить("Дата", Новый Граница(КонецДня(Дата),ВидГраницы.Включая)); ОформитьЗаголовокОтчета(); ПостроительОтчетаОстаткиТМЦНаСкладах.Выполнить(); ПостроительОтчетаОстаткиТМЦНаСкладах.РазмещениеИзмеренийВСтроках = ТипРазмещенияИзмерений.Вместе; ПостроительОтчетаОстаткиТМЦНаСкладах.РазмещениеРеквизитовИзмеренийВСтроках = ТипРазмещенияРеквизитовИзмерений.Отдельно; ПостроительОтчетаОстаткиТМЦНаСкладах.РазмещениеРеквизитовИзмеренийВКолонках = ТипРазмещенияРеквизитовИзмерений.Вместе; Построитель.Текст = ... ПодробностиВЫБРАТЬ КОЛИЧЕСТВЕННОСУММОВОЙ.Организация КАК Организация, КОЛИЧЕСТВЕННОСУММОВОЙ.МОЛ КАК МОЛ, КОЛИЧЕСТВЕННОСУММОВОЙ.ТМЦ КАК ТМЦ, КОЛИЧЕСТВЕННОСУММОВОЙ.Склад КАК Склад, КОЛИЧЕСТВЕННОСУММОВОЙ.ХарактеристикаТМЦ КАК ХарактеристикаТМЦ, КОЛИЧЕСТВЕННОСУММОВОЙ.Партия КАК Партия, КОЛИЧЕСТВЕННОСУММОВОЙ.СчетУчетаТМЦ.Родитель КАК СчетУчета, КОЛИЧЕСТВЕННОСУММОВОЙ.ВидТМЦ КАК ВидТМЦ, КОЛИЧЕСТВЕННОСУММОВОЙ.Валюта КАК Валюта, КОЛИЧЕСТВЕННОСУММОВОЙ.Контрагент КАК Контрагент, КОЛИЧЕСТВЕННОСУММОВОЙ.Договор КАК Договор, КОЛИЧЕСТВЕННОСУММОВОЙ.Количество КАК КоличествоХранения, КОЛИЧЕСТВЕННОСУММОВОЙ.Количество * КОЛИЧЕСТВЕННОСУММОВОЙ.ТМЦ.ЕдиницаХраненияОстатков.КоэффициентПересчета КАК КоличествоБазовая, ВЫБОР КОГДА НЕ КОЛИЧЕСТВЕННОСУММОВОЙ.ТМЦ.ЕдиницаОтчетов.КоэффициентПересчета = 0 ТОГДА КОЛИЧЕСТВЕННОСУММОВОЙ.Количество * КОЛИЧЕСТВЕННОСУММОВОЙ.ТМЦ.ЕдиницаХраненияОстатков.КоэффициентПересчета / КОЛИЧЕСТВЕННОСУММОВОЙ.ТМЦ.ЕдиницаОтчетов.КоэффициентПересчета ИНАЧЕ 0 КОНЕЦ КАК КоличествоОтчетов, ВЫБОР КОГДА НЕ КОЛИЧЕСТВЕННОСУММОВОЙ.ТМЦ.ЕдиницаОтчетов.ХС8_КоэфПлМ = 0 ТОГДА ВЫРАЗИТЬ(КОЛИЧЕСТВЕННОСУММОВОЙ.Количество / КОЛИЧЕСТВЕННОСУММОВОЙ.ТМЦ.ЕдиницаХраненияОстатков.ХС8_КоэфПлМ КАК ЧИСЛО(20, 3)) ИНАЧЕ 0 КОНЕЦ КАК КоличествоВпалетах, ВЫБОР КОГДА НЕ КОЛИЧЕСТВЕННОСУММОВОЙ.ТМЦ.ЕдиницаПодборов.КоэффициентПересчета = 0 ТОГДА КОЛИЧЕСТВЕННОСУММОВОЙ.Количество * КОЛИЧЕСТВЕННОСУММОВОЙ.ТМЦ.ЕдиницаХраненияОстатков.КоэффициентПересчета / КОЛИЧЕСТВЕННОСУММОВОЙ.ТМЦ.ЕдиницаПодборов.КоэффициентПересчета ИНАЧЕ 0 КОНЕЦ КАК КоличествоПодборов, КОЛИЧЕСТВЕННОСУММОВОЙ.СебестоимостьВалютная КАК ВалютнаяСебестоимость, КОЛИЧЕСТВЕННОСУММОВОЙ.Себестоимость КАК СуммаСебестоимость, КОЛИЧЕСТВЕННОСУММОВОЙ.ОбъектУчета КАК ОбъектУчета, КОЛИЧЕСТВЕННОСУММОВОЙ.Качество КАК Качество, ВЫРАЗИТЬ(ХС8_РеквизитыСправочников.Значение КАК ЧИСЛО(5, 0)) КАК НомерЯчейки, МИНИМУМ(ВЫРАЗИТЬ(ХС8_РеквизитыСправочниковАдресХранения.Значение КАК СТРОКА(80))) КАК АдресХранения {ВЫБРАТЬ Организация.*, МОЛ.*, ТМЦ.*, Склад.*, ОбъектУчета.*, Качество.*, ХарактеристикаТМЦ.*, Партия.*, СчетУчета.*, ВидТМЦ.*, Валюта.*, Контрагент.*, Договор.*, КоличествоХранения, КоличествоБазовая, КоличествоОтчетов, КоличествоВпалетах, КоличествоПодборов, ВалютнаяСебестоимость, СуммаСебестоимость, НомерЯчейки, АдресХранения} ИЗ (ВЫБРАТЬ СОБСТВЕННЫЕ.Организация КАК Организация, СОБСТВЕННЫЕ.Склад КАК Склад, СОБСТВЕННЫЕ.МОЛ КАК МОЛ, СОБСТВЕННЫЕ.ТМЦ КАК ТМЦ, СОБСТВЕННЫЕ.ХарактеристикаТМЦ КАК ХарактеристикаТМЦ, СОБСТВЕННЫЕ.Партия КАК Партия, СОБСТВЕННЫЕ.СчетУчетаТМЦ КАК СчетУчетаТМЦ, СОБСТВЕННЫЕ.ВидТМЦ КАК ВидТМЦ, СОБСТВЕННЫЕ.Валюта КАК Валюта, СОБСТВЕННЫЕ.Контрагент КАК Контрагент, СОБСТВЕННЫЕ.Договор КАК Договор, СУММА(СОБСТВЕННЫЕ.Количество) КАК Количество, СУММА(СОБСТВЕННЫЕ.Себестоимость) КАК Себестоимость, СУММА(СОБСТВЕННЫЕ.СебестоимостьВалютная) КАК СебестоимостьВалютная, СОБСТВЕННЫЕ.ОбъектУчета КАК ОбъектУчета, СОБСТВЕННЫЕ.Качество КАК Качество ИЗ (ВЫБРАТЬ ТМЦНаСкладах_КоличествоОстатки.Организация КАК Организация, ТМЦНаСкладах_КоличествоОстатки.Склад КАК Склад, ТМЦНаСкладах_КоличествоОстатки.МОЛ КАК МОЛ, ТМЦНаСкладах_КоличествоОстатки.ТМЦ КАК ТМЦ, ТМЦНаСкладах_КоличествоОстатки.ХарактеристикаТМЦ КАК ХарактеристикаТМЦ, ТМЦНаСкладах_КоличествоОстатки.Партия КАК Партия, ТМЦНаСкладах_КоличествоОстатки.СчетУчетаТМЦ КАК СчетУчетаТМЦ, ТМЦНаСкладах_КоличествоОстатки.ВидТМЦ КАК ВидТМЦ, NULL КАК Валюта, ТМЦНаСкладах_КоличествоОстатки.Партия.Контрагент КАК Контрагент, ТМЦНаСкладах_КоличествоОстатки.Партия.Договор КАК Договор, ТМЦНаСкладах_КоличествоОстатки.КоличествоВЕдиницеХраненияОстаток КАК Количество, 0 КАК Себестоимость, 0 КАК СебестоимостьВалютная, ТМЦНаСкладах_КоличествоОстатки.ОбъектУчета КАК ОбъектУчета, ТМЦНаСкладах_КоличествоОстатки.Качество КАК Качество ИЗ РегистрНакопления.ТМЦНаСкладах_Количество.Остатки(&Дата, ) КАК ТМЦНаСкладах_КоличествоОстатки ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ТМЦНаСкладах_СуммаОстатки.Организация, ТМЦНаСкладах_СуммаОстатки.Склад, ТМЦНаСкладах_СуммаОстатки.МОЛ, ТМЦНаСкладах_СуммаОстатки.ТМЦ, ТМЦНаСкладах_СуммаОстатки.ХарактеристикаТМЦ, ТМЦНаСкладах_СуммаОстатки.Партия, ТМЦНаСкладах_СуммаОстатки.СчетУчетаТМЦ, ТМЦНаСкладах_СуммаОстатки.ВидТМЦ, NULL, ТМЦНаСкладах_СуммаОстатки.Партия.Контрагент, ТМЦНаСкладах_СуммаОстатки.Партия.Договор, 0, ТМЦНаСкладах_СуммаОстатки.СебестоимостьОстаток, 0, ТМЦНаСкладах_СуммаОстатки.ОбъектУчета, ТМЦНаСкладах_СуммаОстатки.Качество ИЗ РегистрНакопления.ТМЦНаСкладах_Сумма.Остатки(&Дата, ) КАК ТМЦНаСкладах_СуммаОстатки) КАК СОБСТВЕННЫЕ СГРУППИРОВАТЬ ПО СОБСТВЕННЫЕ.Организация, СОБСТВЕННЫЕ.Склад, СОБСТВЕННЫЕ.МОЛ, СОБСТВЕННЫЕ.ТМЦ, СОБСТВЕННЫЕ.ХарактеристикаТМЦ, СОБСТВЕННЫЕ.Партия, СОБСТВЕННЫЕ.СчетУчетаТМЦ, СОБСТВЕННЫЕ.ВидТМЦ, СОБСТВЕННЫЕ.Валюта, СОБСТВЕННЫЕ.Контрагент, СОБСТВЕННЫЕ.Договор, СОБСТВЕННЫЕ.ОбъектУчета, СОБСТВЕННЫЕ.Качество ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ХРАНЕНИЕ.Организация, ХРАНЕНИЕ.Склад, ХРАНЕНИЕ.МОЛ, ХРАНЕНИЕ.ТМЦ, ХРАНЕНИЕ.ХарактеристикаТМЦ, ХРАНЕНИЕ.Партия, ХРАНЕНИЕ.СчетУчетаТМЦ, ХРАНЕНИЕ.ВидТМЦ, ХРАНЕНИЕ.ВалютаТМЦ, ХРАНЕНИЕ.Контрагент, ХРАНЕНИЕ.Договор, ХРАНЕНИЕ.КоличествоВЕдиницеХраненияОстаток, ХРАНЕНИЕ.СебестоимостьОстаток, ХРАНЕНИЕ.СебестоимостьВалютная, ХРАНЕНИЕ.ОбъектУчета, ХРАНЕНИЕ.Качество ИЗ (ВЫБРАТЬ ТМЦНаХраненииОстатки.Организация КАК Организация, ТМЦНаХраненииОстатки.Склад КАК Склад, ТМЦНаХраненииОстатки.МОЛ КАК МОЛ, ТМЦНаХраненииОстатки.ТМЦ КАК ТМЦ, ТМЦНаХраненииОстатки.ХарактеристикаТМЦ КАК ХарактеристикаТМЦ, ТМЦНаХраненииОстатки.Партия КАК Партия, ТМЦНаХраненииОстатки.СчетУчетаТМЦ КАК СчетУчетаТМЦ, ТМЦНаХраненииОстатки.ВидТМЦ КАК ВидТМЦ, ТМЦНаХраненииОстатки.ВалютаТМЦ КАК ВалютаТМЦ, ТМЦНаХраненииОстатки.Контрагент КАК Контрагент, ТМЦНаХраненииОстатки.Договор КАК Договор, ТМЦНаХраненииОстатки.КоличествоВЕдиницеХраненияОстаток КАК КоличествоВЕдиницеХраненияОстаток, ВЫРАЗИТЬ(ТМЦНаХраненииОстатки.СебестоимостьОстаток * ЕСТЬNULL(КурсыВалютСрезПоследних.Курс, 1) / ЕСТЬNULL(КурсыВалютСрезПоследних.Кратность, 1) КАК ЧИСЛО(19, 2)) КАК СебестоимостьОстаток, ТМЦНаХраненииОстатки.СебестоимостьОстаток КАК СебестоимостьВалютная, ТМЦНаХраненииОстатки.ОбъектУчета КАК ОбъектУчета, ТМЦНаХраненииОстатки.Качество КАК Качество ИЗ РегистрНакопления.ТМЦНаХранении.Остатки(&Дата, ) КАК ТМЦНаХраненииОстатки ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&Дата, ) КАК КурсыВалютСрезПоследних ПО ТМЦНаХраненииОстатки.ВалютаТМЦ = КурсыВалютСрезПоследних.Валюта) КАК ХРАНЕНИЕ) КАК КОЛИЧЕСТВЕННОСУММОВОЙ ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ХС8_РеквизитыСправочников КАК ХС8_РеквизитыСправочников ПО КОЛИЧЕСТВЕННОСУММОВОЙ.ТМЦ = ХС8_РеквизитыСправочников.Объект И (ХС8_РеквизитыСправочников.ИмяРеквизита = "НомерЯчейкиНаСкладе") И (ХС8_РеквизитыСправочников.Объект ССЫЛКА Справочник.Номенклатура) ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ХС8_РеквизитыСправочников КАК ХС8_РеквизитыСправочниковАдресХранения ПО КОЛИЧЕСТВЕННОСУММОВОЙ.ТМЦ = ХС8_РеквизитыСправочниковАдресХранения.Объект И (ХС8_РеквизитыСправочниковАдресХранения.ИмяРеквизита = "УИ_АдресХранения") И (ХС8_РеквизитыСправочниковАдресХранения.Объект ССЫЛКА Справочник.Номенклатура) {ГДЕ КОЛИЧЕСТВЕННОСУММОВОЙ.Организация.*, КОЛИЧЕСТВЕННОСУММОВОЙ.МОЛ.*, КОЛИЧЕСТВЕННОСУММОВОЙ.ТМЦ.*, КОЛИЧЕСТВЕННОСУММОВОЙ.Склад.*, КОЛИЧЕСТВЕННОСУММОВОЙ.ОбъектУчета.*, КОЛИЧЕСТВЕННОСУММОВОЙ.Качество.*, КОЛИЧЕСТВЕННОСУММОВОЙ.ХарактеристикаТМЦ.*, КОЛИЧЕСТВЕННОСУММОВОЙ.Партия.*, КОЛИЧЕСТВЕННОСУММОВОЙ.СчетУчетаТМЦ.Родитель.* КАК СчетУчета, КОЛИЧЕСТВЕННОСУММОВОЙ.ВидТМЦ.*, КОЛИЧЕСТВЕННОСУММОВОЙ.Валюта.*, КОЛИЧЕСТВЕННОСУММОВОЙ.Контрагент.*, КОЛИЧЕСТВЕННОСУММОВОЙ.Договор.*, КОЛИЧЕСТВЕННОСУММОВОЙ.Количество, (КОЛИЧЕСТВЕННОСУММОВОЙ.Количество * КОЛИЧЕСТВЕННОСУММОВОЙ.ТМЦ.ЕдиницаХраненияОстатков.КоэффициентПересчета) КАК Поле1, (КОЛИЧЕСТВЕННОСУММОВОЙ.Количество / КОЛИЧЕСТВЕННОСУММОВОЙ.ТМЦ.ЕдиницаОтчетов.КоэффициентПересчета) КАК Поле2, (КОЛИЧЕСТВЕННОСУММОВОЙ.Количество / КОЛИЧЕСТВЕННОСУММОВОЙ.ТМЦ.ЕдиницаПодборов.КоэффициентПересчета) КАК Поле3, КОЛИЧЕСТВЕННОСУММОВОЙ.Себестоимость, КОЛИЧЕСТВЕННОСУММОВОЙ.СебестоимостьВалютная, (ВЫРАЗИТЬ(ХС8_РеквизитыСправочников.Значение КАК ЧИСЛО(5, 0))) КАК НомерЯчейки, (МИНИМУМ(ВЫРАЗИТЬ(ХС8_РеквизитыСправочниковАдресХранения.Значение КАК СТРОКА(80)))) КАК Поле4} СГРУППИРОВАТЬ ПО КОЛИЧЕСТВЕННОСУММОВОЙ.Организация, КОЛИЧЕСТВЕННОСУММОВОЙ.МОЛ, КОЛИЧЕСТВЕННОСУММОВОЙ.ТМЦ, КОЛИЧЕСТВЕННОСУММОВОЙ.Склад, КОЛИЧЕСТВЕННОСУММОВОЙ.ХарактеристикаТМЦ, КОЛИЧЕСТВЕННОСУММОВОЙ.Партия, КОЛИЧЕСТВЕННОСУММОВОЙ.СчетУчетаТМЦ.Родитель, КОЛИЧЕСТВЕННОСУММОВОЙ.ВидТМЦ, КОЛИЧЕСТВЕННОСУММОВОЙ.Валюта, КОЛИЧЕСТВЕННОСУММОВОЙ.Контрагент, КОЛИЧЕСТВЕННОСУММОВОЙ.Договор, КОЛИЧЕСТВЕННОСУММОВОЙ.Количество, КОЛИЧЕСТВЕННОСУММОВОЙ.СебестоимостьВалютная, КОЛИЧЕСТВЕННОСУММОВОЙ.Себестоимость, КОЛИЧЕСТВЕННОСУММОВОЙ.ОбъектУчета, КОЛИЧЕСТВЕННОСУММОВОЙ.Качество, КОЛИЧЕСТВЕННОСУММОВОЙ.Количество * КОЛИЧЕСТВЕННОСУММОВОЙ.ТМЦ.ЕдиницаХраненияОстатков.КоэффициентПересчета, ВЫБОР КОГДА НЕ КОЛИЧЕСТВЕННОСУММОВОЙ.ТМЦ.ЕдиницаОтчетов.КоэффициентПересчета = 0 ТОГДА КОЛИЧЕСТВЕННОСУММОВОЙ.Количество * КОЛИЧЕСТВЕННОСУММОВОЙ.ТМЦ.ЕдиницаХраненияОстатков.КоэффициентПересчета / КОЛИЧЕСТВЕННОСУММОВОЙ.ТМЦ.ЕдиницаОтчетов.КоэффициентПересчета ИНАЧЕ 0 КОНЕЦ, ВЫБОР КОГДА НЕ КОЛИЧЕСТВЕННОСУММОВОЙ.ТМЦ.ЕдиницаОтчетов.ХС8_КоэфПлМ = 0 ТОГДА ВЫРАЗИТЬ(КОЛИЧЕСТВЕННОСУММОВОЙ.Количество / КОЛИЧЕСТВЕННОСУММОВОЙ.ТМЦ.ЕдиницаХраненияОстатков.ХС8_КоэфПлМ КАК ЧИСЛО(20, 3)) ИНАЧЕ 0 КОНЕЦ, ВЫБОР КОГДА НЕ КОЛИЧЕСТВЕННОСУММОВОЙ.ТМЦ.ЕдиницаПодборов.КоэффициентПересчета = 0 ТОГДА КОЛИЧЕСТВЕННОСУММОВОЙ.Количество * КОЛИЧЕСТВЕННОСУММОВОЙ.ТМЦ.ЕдиницаХраненияОстатков.КоэффициентПересчета / КОЛИЧЕСТВЕННОСУММОВОЙ.ТМЦ.ЕдиницаПодборов.КоэффициентПересчета ИНАЧЕ 0 КОНЕЦ, ВЫРАЗИТЬ(ХС8_РеквизитыСправочников.Значение КАК ЧИСЛО(5, 0)) {УПОРЯДОЧИТЬ ПО Организация.*, МОЛ.*, ТМЦ.*, НомерЯчейки, АдресХранения, Склад.*, ОбъектУчета.*, Качество.*, ХарактеристикаТМЦ.*, Партия.*, СчетУчета.*, ВидТМЦ.*, Валюта.*, Контрагент.*, Договор.*, КоличествоХранения, КоличествоБазовая, КоличествоОтчетов, КоличествоВпалетах, КоличествоПодборов, ВалютнаяСебестоимость, СуммаСебестоимость} ИТОГИ СУММА(КоличествоХранения), СУММА(КоличествоБазовая), СУММА(КоличествоОтчетов), СУММА(КоличествоВпалетах), СУММА(КоличествоПодборов), СУММА(ВалютнаяСебестоимость), СУММА(СуммаСебестоимость), МИНИМУМ(АдресХранения) ПО ОБЩИЕ, ВидТМЦ, СчетУчета, Контрагент, МОЛ, ТМЦ, ОбъектУчета, Качество, ХарактеристикаТМЦ, Склад, Партия, Валюта, Договор, Организация, НомерЯчейки
|
|||
|
3
Mulber
01.06.26
✎
15:50
|
а изначально было так (поле было в детальных)
ПодробностиВЫРАЗИТЬ(ХС8_РеквизитыСправочниковАдресХранения.Значение КАК СТРОКА(80)) КАК АдресХранения
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |