|
Вывести все номера документов через запятую | ☑ | ||
---|---|---|---|---|
0
OASU
18.10.11
✎
08:45
|
Документ "Инвентаризация расчетов с кнтрагентами". Необходимо в поле "Документы" для каждого контрагента и договора, вывести наименование документа и все номера. Например перечислить все плтежки.
Данные по Платежкам получаю с помощью запроса. ТЗ = Запрос.Выполнить().Выгрузить(); Конт = неопределено; Для Каждого Стр Из Контрагенты Цикл ... СтрокиДок = ТЗ.НайтиСтроки(Новый Структура("СчетРасчетов,Контрагент,ДоговорКонтрагента", Стр.СчетРасчетов, Стр.Контрагент, Стр.ДоговорКонтрагента)); дд=""; кк=СтрокиДок.Количество(); Док = Неопределено; Для Каждого Ст Из СтрокиДок Цикл Если Стр.ВидЗадолженности = Перечисления.ВидыЗадолженности.Дебиторская И Ст.СуммаДт > 0 Тогда Если Конт = Ст.Контрагент тогда Док = Ст.ДокументВозникновенияЗадолженности; ДокументАктСверки = Ст.ДокументАктСверки; дд = дд + ?(ЗначениеЗаполнено(дд), ", " , "" ) + Строка(Док.Номер); Иначе Док = Ст.ДокументВозникновенияЗадолженности; ДокументАктСверки = Ст.ДокументАктСверки; Конт = Ст.Контрагент; дд = Док; Прервать; КонецЕсли; ИначеЕсли Стр.ВидЗадолженности = Перечисления.ВидыЗадолженности.Кредиторская И Ст.СуммаКт > 0 Тогда // тоже самое как для Дебета КонецЕсли; КонецЦикла; Стр.ДокументВозникновенияЗадолженности = Док; Стр.НомераДок = дд; Стр.АктСверки = ДокументАктСверки; КонецЦикла; Цикл как то не верно организован, на одних контрагентах все нормально срабатывает, а на других номера повторяются. |
|||
1
lamme
18.10.11
✎
08:47
|
либо запрос смотри - корректируй на дубли
либо свою ТЗ с данными - сверни (освободись от дублей) |
|||
2
OASU
18.10.11
✎
08:51
|
(1) в запросе нет дублей, проверено.
|
|||
3
OASU
18.10.11
✎
08:52
|
и в ТЗ их нет
|
|||
4
НЕА123
18.10.11
✎
09:18
|
(0)
Для Каждого Ст Из СтрокиДок Цикл Если Стр.ВидЗадолженности = Перечисления.ВидыЗадолженности.Дебиторская И Ст.СуммаДт > 0 Тогда // Если Конт = Ст.Контрагент тогда Док = Ст.ДокументВозникновенияЗадолженности; ДокументАктСверки = Ст.ДокументАктСверки; дд = дд + ?(ЗначениеЗаполнено(дд), ", " , "" ) + Строка(Док.Номер); // Иначе // Док = Ст.ДокументВозникновенияЗадолженности; // ДокументАктСверки = Ст.ДокументАктСверки; // Конт = Ст.Контрагент; // дд = Док; // Прервать; // КонецЕсли; ИначеЕсли Стр.ВидЗадолженности = Перечисления.ВидыЗадолженности.Кредиторская И Ст.СуммаКт > 0 Тогда ....... 1. закомментировал то, что считаю вредным; 2. док может быть по Дт и Кт одновременно? |
|||
5
OASU
18.10.11
✎
09:29
|
(4) 1. да, спасибо, у меня уже тоже получилось ))
2. ничего страшного для Дт и Кт разные кнопки и разные таблицы предусмотренны. Еще подскажите пожалуйста, нужно сначало вывести название документов (например: Платежное поручение №11, 12, 13...), без даты и времени документа. Как сделать? использовать "Формат"? |
|||
6
jenny_tea
18.10.11
✎
09:32
|
можно использовать типЗнч
|
|||
7
НЕА123
18.10.11
✎
09:34
|
Док.Метаданные().Синоним
|
|||
8
OASU
18.10.11
✎
10:45
|
(7) о, здорово. Спасибо всем.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |