|
Строки печатной формы | ☑ | ||
---|---|---|---|---|
0
Su60ta_SunRise
14.08.13
✎
14:02
|
Нид ХЕЛП
Попросили вытащить печатную форму АктаСверки из БП И туда запихнуть номенклатуру и количество по документам реализации. //Создадим список документов по организации и контрагенту СписокДокументов = новый массив; СписокДокументовК = новый массив; Пока ОбходПоДокументам.Следующий() Цикл Если ОбходПоДокументам.Дата<>NULL Тогда СписокДокументов.Добавить(новый структура("ДатаДокумента,РегистраторПредставление,Регистратор,СуммаОборотДт,СуммаОборотКт,Товары,Количество", ОбходПоДокументам.Дата,ОбходПоДокументам.Представление,ОбходПоДокументам.Документ,ОбходПоДокументам.СуммаДогДт,ОбходПоДокументам.СуммаДогКт)); КонецЕсли; Если ОбходПоДокументам.ДатаК<>NULL Тогда СписокДокументовК.Добавить(новый структура("ДатаДокументаКонтр,РегистраторПредставлениеКонтр,СуммаОборотДтКонтр,СуммаОборотКтКонтр", ОбходПоДокументам.ДатаК,ОбходПоДокументам.ПредставлениеК,ОбходПоДокументам.СуммаДогДтКонтр,ОбходПоДокументам.СуммаДогКтКонтр)); КонецЕсли; КонецЦикла; //Для упрощения вывода, сравним списки по количеству элементов, добавив пустые МаксИндекс = Макс(СписокДокументов.Количество(), СписокДокументовК.Количество())-1; МинИндекс = Мин(СписокДокументов.Количество(), СписокДокументовК.Количество())-1; Если СписокДокументов.Количество()<СписокДокументовК.Количество() Тогда Для инд = МинИндекс По МаксИндекс-1 Цикл СписокДокументов.Добавить(новый структура("ДатаДокумента,РегистраторПредставление,Регистратор,СуммаОборотДт,СуммаОборотКт","","","","","")); КонецЦикла; ИначеЕсли СписокДокументов.Количество()>СписокДокументовК.Количество() Тогда Для инд = МинИндекс По МаксИндекс-1 Цикл СписокДокументовК.Добавить(новый структура("ДатаДокументаКонтр,РегистраторПредставлениеКонтр,СуммаОборотДтКонтр,СуммаОборотКтКонтр","","","","")); КонецЦикла; КонецЕсли; Для Инд = 0 По МаксИндекс Цикл ОбластьОбороты.Параметры.Заполнить(СписокДокументов[Инд]); ОбластьОбороты.Параметры.Заполнить(СписокДокументовК[Инд]); //как тут ему сказать, чтоб не выводил строки? ТабДок.Вывести(ОбластьОбороты); ///ДОБАВЛЯЕМ НОМЕНКЛАТУРУ И КОЛИЧЕСТВО Если ТипЗнч(СписокДокументов[Инд].Регистратор) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда ТаблицаТоваров = СписокДокументов[Инд].Регистратор.Товары; Для каждого СтрДок Из ТаблицаТоваров Цикл ОблНом = Макет.ПолучитьОбласть("Обороты"); ОблНом.Параметры.РегистраторПредставление = СтрДок.Номенклатура; ОблНом.Параметры.КоличествоТовара = СтрДок.Количество; ТабДок.Вывести(ОблНом); КонецЦикла; КонецЕсли; КонецЦикла; Все делает, что нужно было. Но проблема вот в чем: Сам акт сверки делится на две части: Левые Колонки организации и Правые колонки контрагентов и по формированию Печат.формы в правой части контрагентов появляются пустые строки, из за того, что добавляется номенклатура. Как убрать эти строки в правой части печатной формы Контрагентов. Вот |
|||
1
Su60ta_SunRise
14.08.13
✎
14:59
|
Ема, никто не поможет)
|
|||
2
capitanjack1
14.08.13
✎
15:16
|
Тоесть тебя попросили сделать акт с детализаций до номенклатуры ? (за которую висит задолженность) но так не получится, разррез ведется в разрезе догооворов/документов расчета/ заказов но не номенклатуры.
|
|||
3
Su60ta_SunRise
14.08.13
✎
15:23
|
http://yadi.sk/d/0QeCkIG77uQXE
Ну вот, вытащил, только строки теперь мешаются. |
|||
4
capitanjack1
14.08.13
✎
15:31
|
(3) пусть не придумывают велосипед, есть стандартная форма акта. двойным щелчком можно по расшифровке открыть документ посмотреть за что оплата или что за продажа. Контрагент с которым акт делается тоже в свою очередь может это посмотреть по исходящим документам.
|
|||
5
Su60ta_SunRise
14.08.13
✎
15:36
|
хотят это видеть сразу на бумаге, что и сделано впринципе.
Осталось только убрать строки тут: МаксИндекс = Макс(СписокДокументов.Количество(), СписокДокументовК.Количество())-1; МинИндекс = Мин(СписокДокументов.Количество(), СписокДокументовК.Количество())-1; Если СписокДокументов.Количество()<СписокДокументовК.Количество() Тогда Для инд = МинИндекс По МаксИндекс-1 Цикл СписокДокументов.Добавить(новый структура("ДатаДокумента,РегистраторПредставление,Регистратор,СуммаОборотДт,СуммаОборотКт","","","","","")); КонецЦикла; ИначеЕсли СписокДокументов.Количество()>СписокДокументовК.Количество() Тогда Для инд = МинИндекс По МаксИндекс-1 Цикл СписокДокументовК.Добавить(новый структура("ДатаДокументаКонтр,РегистраторПредставлениеКонтр,СуммаОборотДтКонтр,СуммаОборотКтКонтр","","","","")); КонецЦикла; КонецЕсли; Для Инд = 0 По МаксИндекс Цикл ОбластьОбороты.Параметры.Заполнить(СписокДокументов[Инд]); ОбластьОбороты.Параметры.Заполнить(СписокДокументовК[Инд]); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |