|
Как убрать в печатной форме пустые строки? | ☑ | ||
---|---|---|---|---|
0
Miss1C
20.10.12
✎
14:56
|
http://s59.radikal.ru/i166/1210/09/ad70563d21be.bmp
Функция ПолучитьПечатнуюФормуМаршрутногоЛиста() Экспорт ТекстЗапроса = "ВЫБРАТЬ | ВозвратнаяТара.Номенклатура КАК Номенклатура |ИЗ | РегистрСведений.ВозвратнаяТара КАК ВозвратнаяТара | |УПОРЯДОЧИТЬ ПО | ВозвратнаяТара.ПорядокСортировки, | ВозвратнаяТара.Номенклатура.Наименование"; Запрос = Новый Запрос(ТекстЗапроса); ПереченьТары = Запрос.Выполнить().Выгрузить(); Таб = Новый ТабличныйДокумент; Макет = ПолучитьМакет("МаршрутныйЛист"); Область = Макет.ПолучитьОбласть("Шапка|Общая"); Область.Параметры.Заполнить(СсылкаНаОбъект); Если СсылкаНаОбъект.НомерХодки > 1 Тогда Область.Параметры.Дозагруз = "Дозагруз"; Иначе Область.Параметры.Дозагруз = ""; КонецЕсли; Область.Параметры.ДатаДокумента = Формат(СсылкаНаОбъект.Дата,"ДФ=dd.MM.yyyy"); Таб.Вывести(Область); Для каждого СтрокаТары из ПереченьТары Цикл Область = Макет.ПолучитьОбласть("Шапка|Тара"); Область.Параметры.НазваниеТары = СтрокаТары.Номенклатура; Таб.Присоединить(Область); КонецЦикла; ТаблицаНакладных = СсылкаНаОбъект.РасходныеНакладные.Выгрузить(); ТаблицаНакладных.Сортировать("ПорядокПосещения Возр"); //ТекПорядокПосещения = Число(ТаблицаНакладных[0].ПорядокПосещения); ТекПорядокПосещения = Неопределено; ОбластьЛево = 1; ОбластьПраво = 1; ОбластьВерх = 9; ОбластьНиз = 10; ОбластьВерхРеал = ОбластьВерх; ОбластьНизРеал = ОбластьНиз; ТекстЗапроса = "ВЫБРАТЬ | КоординатыОбъектов.Объект, | КоординатыОбъектов.Широта, | КоординатыОбъектов.Долгота, | КоординатыОбъектов.КоординатыУточнены |ИЗ | РегистрСведений.КоординатыОбъектов КАК КоординатыОбъектов |ГДЕ | КоординатыОбъектов.Объект = &Объект"; Запрос = Новый Запрос(ТекстЗапроса); Запрос.УстановитьПараметр("Объект", ТаблицаНакладных[0].ТорговаяТочка); Выборка = Запрос.Выполнить().Выбрать(); НетКоординат = Истина; Если Выборка.Следующий() Тогда Если Выборка.КоординатыУточнены Тогда НетКоординат = Ложь; КонецЕсли; КонецЕсли; ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("Контрагент"); ТЗ.Колонки.Добавить("ТорговаяТочка"); Для каждого Накладная из ТаблицаНакладных Цикл Отбор = Новый Структура(); Отбор.Вставить("Контрагент",Накладная.ТорговаяТочка.Владелец); Отбор.Вставить("ТорговаяТочка",Накладная.ТорговаяТочка); ИскомаяСтрока = ТЗ.НайтиСтроки(Отбор); Если ИскомаяСтрока.Количество() = 0 Тогда СтрокаТЗ = ТЗ.Добавить(); СтрокаТЗ.Контрагент = Накладная.ТорговаяТочка.Владелец; СтрокаТЗ.ТорговаяТочка = Накладная.ТорговаяТочка; КонецЕсли; //Область = Макет.ПолучитьОбласть("СтрокаКонтрагент|Общая"); //Область.Параметры.Заполнить(Накладная); Если ИскомаяСтрока.Количество() = 0 Тогда Область = Макет.ПолучитьОбласть("СтрокаКонтрагент|Общая"); Область.Параметры.Заполнить(Накладная); Область.Параметры.Контрагент = Накладная.ТорговаяТочка.Владелец; Область.Параметры.Адрес = тглОбщегоНазначения.ПолучитьПредставлениеАдресаТорговойТочки(Накладная.ТорговаяТочка); КонецЕсли; Обл = Макет.ПолучитьОбласть("СтрокаДокумент|Общая"); Обл.Параметры.Заполнить(Накладная); Обл.Параметры.НомерНакладной = Накладная.РасходнаяНакладная.Номер; Если Накладная.РасходнаяНакладная.Сделка.Пустая() Тогда Примечание = ""; Иначе Примечание = Накладная.РасходнаяНакладная.Сделка.Комментарий; КонецЕсли; НомерСтрокиМаршрута = СсылкаНаОбъект.Маршрут.Найти(Накладная.ТорговаяТочка,"ТорговаяТочка"); Если НомерСтрокиМаршрута <> Неопределено Тогда Если Примечание = "" Тогда Примечание = НомерСтрокиМаршрута.Комментарий; Иначе Примечание = Примечание + "/" + НомерСтрокиМаршрута.Комментарий; КонецЕсли; ПорядокПосещения = НомерСтрокиМаршрута.НомерСтроки; Если ТекПорядокПосещения = Неопределено Тогда ТекПорядокПосещения = ПорядокПосещения; КонецЕсли; Иначе // Примечание = ""; ПорядокПосещения = 0; КонецЕсли; Обл.Параметры.Примечание = Примечание; Если ИскомаяСтрока.Количество() = 0 Тогда Область.Параметры.ПорядокПосещения = ПорядокПосещения; КонецЕсли; ТекстЗапроса = "ВЫБРАТЬ | КоординатыОбъектов.Объект, | КоординатыОбъектов.Широта, | КоординатыОбъектов.Долгота, | КоординатыОбъектов.КоординатыУточнены |ИЗ | РегистрСведений.КоординатыОбъектов КАК КоординатыОбъектов |ГДЕ | КоординатыОбъектов.Объект = &Объект"; Запрос = Новый Запрос(ТекстЗапроса); Запрос.УстановитьПараметр("Объект", Накладная.ТорговаяТочка); Выборка = Запрос.Выполнить().Выбрать(); НетКоординатРеал = Истина; Если Выборка.Следующий() Тогда Если Выборка.КоординатыУточнены Тогда НетКоординатРеал = Ложь; КонецЕсли; КонецЕсли; Если Число(ПорядокПосещения) <> ТекПорядокПосещения Тогда ОбластьОбъединения = Таб.Область("R" + ОбластьВерх + "C" + ОбластьЛево + ":R" + ОбластьНиз + "C" + ОбластьПраво); ОбластьОбъединения.Объединить(); ОбластьОбъединения.Текст = Число(ТекПорядокПосещения); Если НетКоординат Тогда ОбластьОбъединения.ЦветФона = Новый Цвет(205, 205, 205); КонецЕсли; ТекПорядокПосещения = Число(ПорядокПосещения); ОбластьВерх = ОбластьВерхРеал; ОбластьНиз = ОбластьНизРеал; НетКоординат = НетКоординатРеал; Иначе ОбластьНиз = ОбластьНизРеал; КонецЕсли; ОбластьВерхРеал = ОбластьВерхРеал + 2; - - - вот сдесь трабл ОбластьНизРеал = ОбластьНизРеал + 2; Если ИскомаяСтрока.Количество() = 0 Тогда Таб.Вывести(Область); КонецЕсли; Таб.Вывести(Обл); Для каждого СтрокаТары из ПереченьТары Цикл Отбор = Новый Структура("Номенклатура,Документ",СтрокаТары.Номенклатура,Накладная.РасходнаяНакладная); СтрокиТарыВНакладной = СсылкаНаОбъект.Тара.НайтиСтроки(Отбор); Если СтрокиТарыВНакладной.Количество() = 0 Тогда КоличествоТары = ""; Иначе КоличествоТары = Формат(СтрокиТарыВНакладной[0].Количество,"ЧДЦ=0"); КонецЕсли; Область = Макет.ПолучитьОбласть("СтрокаДокумент|Тара"); Обл = Макет.ПолучитьОбласть("СтрокаКонтрагента|Тара""); Область.Параметры.КоличествоТары = КоличествоТары; Таб.Присоединить(Область); Таб.Вывести(Обл); КонецЦикла; КонецЦикла; Область = Макет.ПолучитьОбласть("Итог|Общая"); Область.Параметры.ИтогоТоннаж = ТаблицаНакладных.Итог("Тоннаж"); Таб.Вывести(Область); СтрокиТарыМаршрута = СсылкаНаОбъект.Тара.Выгрузить(); СтрокиТарыМаршрута.Свернуть("Номенклатура","Количество"); Для каждого СтрокаТары из ПереченьТары Цикл СтрокаТарыМаршрута = СтрокиТарыМаршрута.Найти(СтрокаТары.Номенклатура,"Номенклатура"); Если СтрокаТарыМаршрута = Неопределено Тогда Итог = ""; Иначе Итог = Формат(СтрокаТарыМаршрута.Количество,"ЧДЦ=0; ЧГ=0"); КонецЕсли; Область = Макет.ПолучитьОбласть("Итог|Тара"); Область.Параметры.Итог = Итог; Таб.Присоединить(Область); КонецЦикла; Возврат Таб; КонецФункции Если в коде убрать ОбластьВерхРеал = ОбластьВерхРеал + 2; ОбластьНизРеал = ОбластьНизРеал + 2; Отрабатывает нормально, но области не объединяет |
|||
1
Живой Ископаемый
20.10.12
✎
14:59
|
не выводить их. Рисонок - лажа, не видно что нужно убрать
|
|||
2
Живой Ископаемый
20.10.12
✎
14:59
|
Сорри, рисунок - лайно.
|
|||
3
Miss1C
20.10.12
✎
15:01
|
(1)По номером 3 выводятся 2 пустые строки после накладных, мне их нужно убрать
|
|||
4
Miss1C
20.10.12
✎
15:01
|
(1)Загвоздка в
ОбластьВерхРеал = ОбластьВерхРеал + 2; ОбластьНизРеал = ОбластьНизРеал + 2; |
|||
5
Живой Ископаемый
20.10.12
✎
15:02
|
не выводи их.
|
|||
6
Miss1C
20.10.12
✎
15:03
|
(5) Тогда получится что Область"Номер" будит захватывать только контрагента, нужно чтобы и документы входили в номер
|
|||
7
Живой Ископаемый
20.10.12
✎
15:18
|
Если ты думаешь что твое возражение что-то объясняет, ты ошибаешься.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |