|
Проверить вывод | ☑ | ||
---|---|---|---|---|
0
pele
10.01.13
✎
14:13
|
Помогите написать проверку вывода, чтобы таб. док выводился до средины а следующий таб док после средины, иначе если проверка вывода = ложь тогда вывести на весь лист...плииз!
|
|||
1
palpetrovich
10.01.13
✎
14:16
|
экспериментально наверное, в зависимости от количества строк
|
|||
2
pele
10.01.13
✎
14:16
|
Таб = Новый ТабличныйДокумент;
Таб.ВерхнийКолонтитул.Выводить = Ложь; Таб.НижнийКолонтитул.Выводить = Ложь; Таб.АвтоМасштаб = Ложь; МассивТаблиц = Новый Массив(); Макет = ПолучитьМакет("ДоставочнаяКарта"); Запрос = Новый запрос(); Запрос.Текст = "ВЫБРАТЬ | мсРаспределениеЗаказовПоВодителям.ЗаказКлиента, | мсРаспределениеЗаказовПоВодителям.Водитель, | мсРаспределениеЗаказовПоВодителям.МаршрутДоставки, | мсРаспределениеЗаказовПоВодителям.Смена, | мсРаспределениеЗаказовПоВодителям.ДатаДоставки |ИЗ | РегистрСведений.мсРаспределениеЗаказовПоВодителям КАК мсРаспределениеЗаказовПоВодителям |ГДЕ | мсРаспределениеЗаказовПоВодителям.ЗаказКлиента = &ЗаказКлиента"; Запрос.УстановитьПараметр("ЗаказКлиента",строкаИзМассивОбъектов); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ОбластьМакетаЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьМакетаЗаголовок.Параметры.ФИОВодителя = Выборка.Водитель; КонецЦикла; Запрос = Новый запрос(); Запрос.Текст = "ВЫБРАТЬ | ЗаказКлиента.Номер КАК КодЗаказа, | ЗаказКлиента.Договор.Номер КАК КодКлиента, | ЗаказКлиента.Партнер.Наименование КАК НаименованиеКлиента, | ЗаказКлиента.мсДатаДоставки КАК ДатаДоставки, | ЗаказКлиента.мсВремяДоставкиС КАК ВремяДоставкиС, | ЗаказКлиента.мсВремяДоставкиПо КАК ВремяДоставкиПо, | ЗаказКлиента.Партнер КАК Клиент, | ЗаказКлиента.мсАдресДоставки.НаселенныйПункт КАК АдресГород, | ЗаказКлиента.мсАдресДоставки.Улица КАК АдресУлица, | ЗаказКлиента.мсАдресДоставки.Строение КАК АдресДом, | ЗаказКлиента.мсАдресДоставки.Строение.Корпус КАК АдресКорпус, | ЗаказКлиента.мсАдресДоставки.Подъезд КАК АдресПодъезд, | ЗаказКлиента.мсАдресДоставки.КодПодъезда КАК АдресКодПодъезда, | ЗаказКлиента.мсАдресДоставки.Этаж КАК АдресЭтаж, | ЗаказКлиента.мсАдресДоставки.НомерКвартиры КАК АдресКвартиры, | мсАдресаДоставкиТелефоныДоставки.Телефон КАК ТелефонныйНомер, | ЗаказКлиента.мсПримечаниеВодителю КАК ПримечаниеВодителю, | ЗаказКлиента.Ссылка |ИЗ | Документ.ЗаказКлиента КАК ЗаказКлиента | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.мсАдресаДоставки.ТелефоныДоставки КАК мсАдресаДоставкиТелефоныДоставки | ПО ЗаказКлиента.мсАдресДоставки.ТелефоныДоставки.Ссылка = мсАдресаДоставкиТелефоныДоставки.Ссылка |ГДЕ | ЗаказКлиента.Ссылка = &ЗаказКлиента"; Запрос.УстановитьПараметр("ЗаказКлиента",строкаИзМассивОбъектов); РезультатВыборки = Запрос.Выполнить().Выбрать(); Пока РезультатВыборки.Следующий() Цикл ОбластьМакетаЗаголовок.Параметры.КодЗаказа = РезультатВыборки.КодЗаказа; ОбластьМакетаЗаголовок.Параметры.КодДоговора = РезультатВыборки.КодКлиента; ОбластьМакетаЗаголовок.Параметры.НаименованиеКлиента = РезультатВыборки.НаименованиеКлиента; ОбластьМакетаЗаголовок.Параметры.ДатаДоставки = Формат(РезультатВыборки.ДатаДоставки, "ДЛФ=DD"); ОбластьМакетаЗаголовок.Параметры.ВремяДоставки = Формат(РезультатВыборки.ВремяДоставкиС,"ДЛФ=T") + "-"+ Формат(РезультатВыборки.ВремяДоставкиПо, "ДЛФ=T"); Таб.Вывести(ОбластьМакетаЗаголовок); ОбластьМакетаАдресДоставки = Макет.ПолучитьОбласть("АдресДоставки"); ОбластьМакетаАдресДоставки.Параметры.АдресГород = РезультатВыборки.АдресГород; ОбластьМакетаАдресДоставки.Параметры.АдресУлица = РезультатВыборки.АдресУлица; ОбластьМакетаАдресДоставки.Параметры.АдресДом = РезультатВыборки.АдресДом; ОбластьМакетаАдресДоставки.Параметры.АдресКорпус = РезультатВыборки.АдресКорпус; ОбластьМакетаАдресДоставки.Параметры.АдресОфисКвартира = РезультатВыборки.АдресКвартиры; ОбластьМакетаАдресДоставки.Параметры.АдресЭтаж = РезультатВыборки.АдресЭтаж; ОбластьМакетаАдресДоставки.Параметры.АдресПодъезд = РезультатВыборки.АдресПодъезд; ОбластьМакетаАдресДоставки.Параметры.КодПодъезда = РезультатВыборки.АдресКодПодъезда; ОбластьМакетаАдресДоставки.Параметры.ТелефонныйНомер = РезультатВыборки.ТелефонныйНомер; Таб.Вывести(ОбластьМакетаАдресДоставки); ОбластьМакетаПримечание = Макет.ПолучитьОбласть("Примечание"); ОбластьМакетаПримечание.Параметры.ПримечаниеКЗаказу = РезультатВыборки.ПримечаниеВодителю; КонецЦикла; Запрос = Новый запрос(); Запрос.Текст = "ВЫБРАТЬ | ЗаказКлиентаТовары.Номенклатура, | ЗаказКлиентаТовары.КоличествоУпаковок КАК Количество, | ЗаказКлиентаТовары.мсДвижение |ИЗ | Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары |ГДЕ | ЗаказКлиентаТовары.Ссылка = &ЗаказКлиента"; Запрос.УстановитьПараметр("ЗаказКлиента",строкаИзМассивОбъектов); РезультатВыборки = Запрос.Выполнить().Выбрать(); Пока РезультатВыборки.Следующий() Цикл Если РезультатВыборки.мсДвижение = Перечисления.мсВидыДвиженийПозиций.Отгрузка тогда ОбластьМакетаЗаказ = Макет.ПолучитьОбласть("Заказ"); ОбластьМакетаЗаказ.Параметры.Номенклатура = РезультатВыборки.Номенклатура; ОбластьМакетаЗаказ.Параметры.Количество = РезультатВыборки.Количество; Таб.Вывести(ОбластьМакетаЗаказ); ИначеЕсли РезультатВыборки.мсДвижение = Перечисления.мсВидыДвиженийПозиций.Возврат тогда ОбластьМакетаВозврат = Макет.ПолучитьОбласть("Возврат"); ОбластьМакетаВозврат.Параметры.Номенклатура = РезультатВыборки.Номенклатура; ОбластьМакетаВозврат.Параметры.Количество = РезультатВыборки.Количество; Таб.Вывести(ОбластьМакетаВозврат); ИначеЕсли РезультатВыборки.мсДвижение = Перечисления.мсВидыДвиженийПозиций.Замена тогда ОбластьМакетаЗамена = Макет.ПолучитьОбласть("Замена"); ОбластьМакетаЗамена.Параметры.Номенклатура = РезультатВыборки.Номенклатура; ОбластьМакетаЗамена.Параметры.Количество = РезультатВыборки.Количество; Таб.Вывести(ОбластьМакетаЗамена); КонецЕсли; КонецЦикла; ОбластьМакетаИтого = Макет.ПолучитьОбласть("Итого"); Таб.Вывести(ОбластьМакетаИтого); Таб.Вывести(ОбластьМакетаПримечание); ОбластьМакетаПодвал = Макет.ПолучитьОбласть("Подвал"); Таб.Вывести(ОбластьМакетаПодвал); КонецЦикла; Возврат Таб; |
|||
3
Шапокляк
10.01.13
✎
14:17
|
Добавь в макет область высотой поллиста и проверяй вывод вместе с ней.
|
|||
4
palpetrovich
10.01.13
✎
14:17
|
(2) хвастаешься? ;)
|
|||
5
DexterMorgan
10.01.13
✎
14:19
|
(3) Опередила) Ну да, методом ПроверитьВывод()
|
|||
6
pele
10.01.13
✎
16:06
|
Шапокляк: Добавь в макет область высотой поллиста и проверяй вывод вместе с ней.
Как это так сделать?? |
|||
7
Шапокляк
10.01.13
✎
16:48
|
(6) вот у меня есть кусок кода для своей задачи. Посмотри
ОбластьМакета = Макет.ПолучитьОбласть("КакаяТоОбласть"); ОбластьМакетаПоловинка = Макет.ПолучитьОбласть("ПоловинкаА4"); МассивВыводимыхОбластей.Очистить(); МассивВыводимыхОбластей.Добавить(ОбластьМакета); МассивВыводимыхОбластей.Добавить(ОбластьМакетаПоловинка); Если НЕ ТабДокумент.ПроверитьВывод(МассивВыводимыхОбластей) Тогда //значит не влезло, придется все на листе выводить |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |