|
Дублирование строк на макете в печатной форме | ☑ | ||
---|---|---|---|---|
0
Валидатор
27.08.13
✎
14:26
|
При выводе строк данные по колонкам ДатаИзвещения дублируются, в документе они берутся из табличной части одноименной графы, и получается следующая картина:
Номенклатура Датаизвещения Круг 01.01.2013 Ромб 01.02.2013 Квадрат 01.03.2013 в печатную форму в колонку извещение будет такой вывод: Номенклатура январь\ февраль\ март Круг 2013 Ромб 2013 2013 Квадрат 2013 2013 2013 и т.д. вот как сделать, чтобы не было такого дублирования? вот мой цикл, который заполняет печатную форму: Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Номер = Номер + 1 ; Строка.Параметры.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура; Строка.Параметры.Порядковый = Номер; Строка.Параметры.Закупка = ВыборкаДетальныеЗаписи.Закупка; Строка.Параметры.Артикул = ВыборкаДетальныеЗаписи.Артикул; Строка.Параметры.Количество = ВыборкаДетальныеЗаписи.Количество; Строка.Параметры.Сумма = ВыборкаДетальныеЗаписи.Цена * ВыборкаДетальныеЗаписи.Количество ; Строка.Параметры.ОКДП = ВыборкаДетальныеЗаписи.НоменклатураАртикул; Строка.Параметры.ЕдОКЕИ = ВыборкаДетальныеЗаписи.ЕдОКЕИ; Строка.Параметры.ОКАТОРегион = ВыборкаДетальныеЗаписи.КодОкато; Строка.Параметры.НаименованиеРегион = ВыборкаДетальныеЗаписи.Наименование; Строка.Параметры.Требования = ВыборкаДетальныеЗаписи.МинимальныеТребования; Строка.Параметры.ЕдНаименование = ВыборкаДетальныеЗаписи.ЕдиницаИзмеренияНаименование; Строка.Параметры.СпособЗакупки = ВыборкаДетальныеЗаписи.СпособЗакупки; //заполняем по дате планирования месяцы Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 1 Тогда Строка.Параметры.я = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 2 Тогда Строка.Параметры.ф = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 3 Тогда Строка.Параметры.март = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 4 Тогда Строка.Параметры.апр = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 5 Тогда Строка.Параметры.май = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 6 Тогда Строка.Параметры.июнь = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 7 Тогда Строка.Параметры.июль = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 8 Тогда Строка.Параметры.авг = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 9 Тогда Строка.Параметры.с = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 10 Тогда Строка.Параметры.о = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 11 Тогда Строка.Параметры.н = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 12 Тогда Строка.Параметры.д = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy"); КонецЕсли; //заполняем по дате извещения месяцы Если Месяц(ВыборкаДетальныеЗаписи.ДатаИзвещения)= 1 И НЕ ВыборкаДетальныеЗаписи.ДатаИзвещения = '00010101'Тогда Строка.Параметры.январь = формат(ВыборкаДетальныеЗаписи.ДатаИзвещения,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаИзвещения)= 2 Тогда Строка.Параметры.февраль = формат(ВыборкаДетальныеЗаписи.ДатаИзвещения,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаИзвещения)= 3 Тогда Строка.Параметры.мартИсп = формат(ВыборкаДетальныеЗаписи.ДатаИзвещения,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаИзвещения)= 4 Тогда Строка.Параметры.апрИсп = формат(ВыборкаДетальныеЗаписи.ДатаИзвещения,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаИзвещения)= 5 Тогда Строка.Параметры.майИсп = формат(ВыборкаДетальныеЗаписи.ДатаИзвещения,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаИзвещения)= 6 Тогда Строка.Параметры.июньИсп = формат(ВыборкаДетальныеЗаписи.ДатаИзвещения,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаИзвещения)= 7 Тогда Строка.Параметры.июльИсп = формат(ВыборкаДетальныеЗаписи.ДатаИзвещения,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаИзвещения)= 8 Тогда Строка.Параметры.авгИсп = формат(ВыборкаДетальныеЗаписи.ДатаИзвещения,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаИзвещения)= 9 Тогда Строка.Параметры.сентябрь = формат(ВыборкаДетальныеЗаписи.ДатаИзвещения,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаИзвещения)= 10 Тогда Строка.Параметры.октярь = формат(ВыборкаДетальныеЗаписи.ДатаИзвещения,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаИзвещения)= 11 Тогда Строка.Параметры.нобярь = формат(ВыборкаДетальныеЗаписи.ДатаИзвещения,"ДФ=yyyy"); КонецЕсли; Если Месяц(ВыборкаДетальныеЗаписи.ДатаИзвещения)= 12 Тогда Строка.Параметры.декабрь = формат(ВыборкаДетальныеЗаписи.ДатаИзвещения,"ДФ=yyyy"); КонецЕсли; //Строка.Параметры.ДатаПланирования = формат(ВыборкаДетальныеЗаписи.ДатаПланирования,"ДФ=yyyy"); //Строка.Параметры.ДатаИзвещения = формат(ВыборкаДетальныеЗаписи.ДатаИзвещения,"ДФ=yyyy"); ТабДок.Вывести(строка); КонецЦикла; |
|||
1
Wobland
27.08.13
✎
14:28
|
я тебе ещё вчера сказал. делай две колонки про номенклатуру и месяц и присоединяй
|
|||
2
Wobland
27.08.13
✎
14:29
|
(1) в смысле две области
|
|||
3
Валидатор
27.08.13
✎
14:30
|
(2) а почему в одной области нельзя так?
|
|||
4
Wobland
27.08.13
✎
14:31
|
(3) в одной и нужно. а вот это явный г-код:
Если Месяц(ВыборкаДетальныеЗаписи.ДатаПланирования)= 1 Тогда |
|||
5
Валидатор
27.08.13
✎
14:32
|
(4) втф? только что ты писал делать 2 области, я говорю можно ли в одной, ты говоришь в одной и нужно ? оО
|
|||
6
Dimochka
27.08.13
✎
14:34
|
(0) жесть, сделай одну область и присоединяй а цикле по месецам
|
|||
7
Dimochka
27.08.13
✎
14:35
|
месяцам*
|
|||
8
Валидатор
27.08.13
✎
14:36
|
убрать тогда в отдеьную область эти Даты косячные, и потом в цикле, где заполняю номенклатуру делать присоединение?
|
|||
9
Dimochka
27.08.13
✎
14:40
|
(8) Выведи вначале данные номенклатуры а потом в цикле присоедини по месяцам сумму количество и что там еще у тебя меняется
|
|||
10
Валидатор
27.08.13
✎
14:45
|
Если Месяц(ВыборкаДетальныеЗаписи.ДатаИзвещения)= 1 И НЕ ВыборкаДетальныеЗаписи.ДатаИзвещения = '00010101'Тогда
Строка.Параметры.январь = формат(ВыборкаДетальныеЗаписи.ДатаИзвещения,"ДФ=yyyy"); Иначе Строка.Параметры.январь = ""; КонецЕсли; вот так сделал для каждого месяца |
|||
11
Dimochka
27.08.13
✎
16:41
|
(10) Сделай такую область (Шапка|Заголовок), (Шапка|Данные) (Подвал|Заголовок), (Подвал|Данные) и выводи в первом цикле в Подвал/Заголовок а во втором Присоединяй по периодам
СписокЗначений = Новый СписокЗначений; СписокЗначений.Добавить("Январь"); СписокЗначений.Добавить("Февраль"); СписокЗначений.Добавить("Март"); СписокЗначений.Добавить("Апрель"); СписокЗначений.Добавить("Май"); СписокЗначений.Добавить("Июнь"); СписокЗначений.Добавить("Июль"); СписокЗначений.Добавить("Август"); СписокЗначений.Добавить("Сентябрь"); СписокЗначений.Добавить("Октябрь"); СписокЗначений.Добавить("Ноябрь"); СписокЗначений.Добавить("Декабрь"); Для м=1 по СписокЗначений.Количество() Цикл Значение = СписокЗначений.Получить(м); КонецЦикла; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |