|
Нужен совет, как перенести отчет в СКД | ☑ | ||
---|---|---|---|---|
0
K1RSAN
10.12.19
✎
09:44
|
В общем, есть отчет, который смог топорно реализовать в коде.
В нем надо взять данные из заказов, которые частично оплачены или оплата после отгрузки, и получить остаток необходимой оплаты. И в этот же отчет под каждый заказ надо добавить несколько строчек с товарами (номенклатура, количество, цена) Без СКД это получилось реализовать кодом. По сути затык именно в необходимости указать номенклатуру, то сумма начинает чудить, то контрагент не показывается (а надо сумму по контрагенту еще желательно, но это быстро накидать) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗаказЗаказ.Контрагент КАК Контрагент, | ЗаказЗаказ.Ссылка КАК Заказ, | ЗаказЗаказ.СуммаДокумента КАК Сумма, | ЕСТЬNULL(РасчетыСКлиентамиОстаткиИОбороты.КОплатеРасход, 0) КАК Оплачено, | ЗаказЗаказ.Ссылка.СуммаДокумента - ЕСТЬNULL(РасчетыСКлиентамиОстаткиИОбороты.КОплатеРасход, 0) КАК Долг, | ЗаказЗаказ.Товары.( | Номенклатура КАК Номенклатура, | Цена КАК Цена, | Количество КАК Количество | ) КАК Товары |ИЗ | Документ.ЗаказКлиента КАК ЗаказЗаказ | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКлиентами.ОстаткиИОбороты КАК РасчетыСКлиентамиОстаткиИОбороты | ПО ЗаказЗаказ.Ссылка = РасчетыСКлиентамиОстаткиИОбороты.ЗаказКлиента |ГДЕ | ЗаказЗаказ.Товары.ВариантОбеспечения В (ЗНАЧЕНИЕ(Перечисление.ВариантыОбеспечения.Отгрузить), ЗНАЧЕНИЕ(Перечисление.ВариантыОбеспечения.ОтгрузитьОбособленно), ЗНАЧЕНИЕ(Перечисление.ВариантыОбеспечения.ИзЗаказов), ЗНАЧЕНИЕ(Перечисление.ВариантыОбеспечения.Обособленно)) | И НЕ ЗаказЗаказ.Товары.Отменено | И ЗаказЗаказ.СуммаДокумента > ЕСТЬNULL(РасчетыСКлиентамиОстаткиИОбороты.КОплатеРасход, 0) | |УПОРЯДОЧИТЬ ПО | Контрагент, | Заказ |АВТОУПОРЯДОЧИВАНИЕ"; ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Вывести(ОбластьШапка); Выгрузка = Запрос.Выполнить().Выгрузить(); ТабДок.НачатьАвтогруппировкуСтрок(); Для Каждого СтрокаКонтрагент ИЗ Выгрузка Цикл ОбластьКонтрагент.Параметры.Заполнить(СтрокаКонтрагент); ТабДок.Вывести(ОбластьКонтрагент,0); Для Каждого СтрокаТовары ИЗ СтрокаКонтрагент.Товары Цикл ОбластьНоменклатура.Параметры.Заполнить(СтрокаТовары); ТабДок.Вывести(ОбластьНоменклатура,1); КонецЦикла КонецЦикла; ТабДок.ЗакончитьАвтогруппировкуСтрок(); (Не обессудьте, накидал за 15 минут буквально, лишь бы собрало) НО хотелось бы в СКД (отчет красивее получается), такой отчет не хотелось бы ставить никому. |
|||
1
K1RSAN
10.12.19
✎
09:57
|
+ Пробовал использовать за основу регистр "Расчеты с клиентами", но там выходит куча взаимозачетов, потому что КА странным образом не хочет зачитывать оплату и выходит, что вроде в документе поступления стоит объект расчетов - этот заказ, но если проверить остатки по регистру - выходит взаимный долг... Поэтому решился взять за основу именно документы.
|
|||
2
toypaul
гуру
10.12.19
✎
09:58
|
"НО хотелось бы в СКД" хочется сделай. надо начать с простого - жмакнуть по кнопке "Открыть схему компоновки". изучить курсы если знаний 0 (есть на ЮТ бесплатно).
и только после каких-то попыток спрашивать тут конкретные вопросы. или ты предлагаешь за тебя отчет написать? тогда сколько денег пиши :) |
|||
3
K1RSAN
10.12.19
✎
10:05
|
(2) Уже пробовал, потому и пишу сюда. Наз запросом указал, какие проблемы вылезли при попытке реализовать в СКД (проблема с группировками и суммированием при выводе номенклатуры, проблема с выводом контрагента, когда вывожу номенклатуру)
|
|||
4
toypaul
гуру
10.12.19
✎
10:22
|
(3) уже хорошо. тогда картинки всех настроек. результат как есть и результат как надо - в картинках
|
|||
5
D_E_S_131
10.12.19
✎
13:31
|
Бери данные запросом из ТЧ "Товары" и ссылку на Заказ от туда же. Присоединенные долги сгруппируй через "Максимум". Всякие прочие поля вытащи в настройках от "ЗаказСсылка", а "Долг" в расчетных определи. Вот будет самое простое.
|
|||
6
pikachu
10.12.19
✎
13:32
|
условия из ГДЕ перенести в ПО в первую очередь. перестанут отваливаться контрагенты и прочее что временами отваливается
|
|||
7
K1RSAN
10.12.19
✎
13:52
|
(6) (5) (4) Спасибо, вечером займусь)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |