Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Печатная форма. Ориентация ландшафт выводится неправильно          
Max Street Подменю пользователя
сообщение 18.03.14, 16:55
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 13
Спасибо сказали: 0 раз
Рейтинг: 0

День добрый. Хочу создать печатную форму на управляемых формах. Ориентация - ландшафт. В левой части макета 3 области(сверху вниз): шапка, ТЧ, подвал. В правой части 2 области: договор и информация(выводится в цикле). Помогите, пожалуйста, вывести область договор(правая часть макета) вверху справа.

Конфигурация самописная. Версия платформы: 8.2.15.289

Вот такой макет:
и такой результат печатной формы:

Вол листинг процедуры печати:
Процедура СпецификацияДоговорЗаказ(ТабДок, Ссылка) Экспорт

    Макет = Документы.Заказы.ПолучитьМакет("СпецификацияДоговорЗаказ");

    ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьТЧ = Макет.ПолучитьОбласть("ТЧ");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");    
    ОбластьИнформация = Макет.ПолучитьОбласть("Информация");
    ОбластьДоговор = Макет.ПолучитьОбласть("Договор");    
    ТабДок.Очистить();                                                
    
    ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    Заказы.СуммаПоДокументу КАК СуммаИтого
    |ИЗ
    |    Документ.Заказы КАК Заказы
    |ГДЕ
    |    Заказы.Ссылка = &Ссылка";

    Запрос.УстановитьПараметр("Ссылка", Ссылка[0]);

    Результат = Запрос.Выполнить();

    Выборка = Результат.Выбрать();

    Если Выборка.Следующий() Тогда
        ТабДок.Вывести(ОбластьШапка);
        
        ОбластьПодвал.Параметры.Заполнить(Выборка);
    КонецЕсли;

    
    ЗапросТЧ = Новый Запрос;
    ЗапросТЧ.Текст =
    "ВЫБРАТЬ
    |    ЗаказыСпецификация.НомерСтроки КАК Номер,
    |    ЗаказыСпецификация.Номенклатура,
    |    ЗаказыСпецификация.ЕдиницаИзмерения КАК Единица,
    |    ЗаказыСпецификация.Количество,
    |    ЗаказыСпецификация.Цена,
    |    ЗаказыСпецификация.Сумма
    |ИЗ
    |    Документ.Заказы.Спецификация КАК ЗаказыСпецификация
    |ГДЕ
    |    ЗаказыСпецификация.Ссылка = &Ссылка
    |    И ЗаказыСпецификация.Номенклатура.ЭтоГруппа = ЛОЖЬ";
    
    ЗапросТЧ.УстановитьПараметр("Ссылка", Ссылка[0]);
    
    РезультатТЧ = ЗапросТЧ.Выполнить();
    
    ВыборкаТЧ = РезультатТЧ.Выбрать();
    
    Пока ВыборкаТЧ.Следующий() Цикл
        ОбластьТЧ.Параметры.Заполнить(ВыборкаТЧ);
        ТабДок.Вывести(ОбластьТЧ, ВыборкаТЧ.Уровень());
    КонецЦикла;
    
    ТабДок.Вывести(ОбластьПодвал);
    
                                              
    ЗапросДоговор = Новый Запрос;
    ЗапросДоговор.Текст =
    "ВЫБРАТЬ
    |    Заказы.ДатаВыполнения КАК Выполнить,
    |    Заказы.Модель КАК Тип,
    |    Заказы.Аванс,
    |    Заказы.Дата
    |ИЗ
    |    Документ.Заказы КАК Заказы
    |ГДЕ
    |    Заказы.Ссылка = &Ссылка
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ЗаказыИнформация.Фамилия,
    |    ЗаказыИнформация.Имя,
    |    ЗаказыИнформация.Отчество,
    |    ЗаказыИнформация.ДатаРождения
    |ИЗ
    |    Документ.Заказы.Информация КАК ЗаказыИнформация
    |ГДЕ
    |    ЗаказыИнформация.Ссылка = &Ссылка";

    ЗапросДоговор.УстановитьПараметр("Ссылка", Ссылка[0]);

    РезультатДоговор = ЗапросДоговор.ВыполнитьПакет();

    Выборка0 = РезультатДоговор[0].Выбрать();

    Если Выборка0.Следующий() Тогда
        ОбластьДоговор.Параметры.Заполнить(Выборка0);
        ОбластьДоговор.Параметры.Выполнить = Формат(Выборка0.Выполнить, "ДФ=dd.MM.yyyy");
        ОбластьДоговор.Параметры.Дата = Формат(Выборка0.Дата, "ДФ=dd.MM.yyyy");
        
        ТабДок.Вывести(ОбластьДоговор);
        ТабДок.Присоединить(ОбластьДоговор);
    КонецЕсли;
        
    Выборка1 = РезультатДоговор[1].Выбрать();

    Пока Выборка1.Следующий() Цикл
        ОбластьИнформация.Параметры.Заполнить(Выборка1);
        ОбластьИнформация.Параметры.ДатаРождения = Формат(Выборка1.ДатаРождения, "ДФ=dd.MM.yyyy");
        
        ТабДок.Вывести(ОбластьИнформация, Выборка1.Уровень());
        ТабДок.ПРисоединить(ОбластьИнформация);
    КонецЦикла;
    
КонецПроцедуры

Vofka Подменю пользователя
сообщение 18.03.14, 20:38
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Может так
Процедура СпецификацияДоговорЗаказ(ТабДок, Ссылка) Экспорт

    Макет = Документы.Заказы.ПолучитьМакет("СпецификацияДоговорЗаказ");

    ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьТЧ = Макет.ПолучитьОбласть("ТЧ");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");    
    ОбластьИнформация = Макет.ПолучитьОбласть("Информация");
    ОбластьДоговор = Макет.ПолучитьОбласть("Договор");    
    ТабДок.Очистить();                                                
    
    ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    Заказы.СуммаПоДокументу КАК СуммаИтого
    |ИЗ
    |    Документ.Заказы КАК Заказы
    |ГДЕ
    |    Заказы.Ссылка = &Ссылка";

    Запрос.УстановитьПараметр("Ссылка", Ссылка[0]);

    Результат = Запрос.Выполнить();

    Выборка = Результат.Выбрать();

    Если Выборка.Следующий() Тогда
        ТабДок.Вывести(ОбластьШапка);
        
        ОбластьПодвал.Параметры.Заполнить(Выборка);
    КонецЕсли;






    ЗапросДоговор = Новый Запрос;
    ЗапросДоговор.Текст =
    "ВЫБРАТЬ
    |    Заказы.ДатаВыполнения КАК Выполнить,
    |    Заказы.Модель КАК Тип,
    |    Заказы.Аванс,
    |    Заказы.Дата
    |ИЗ
    |    Документ.Заказы КАК Заказы
    |ГДЕ
    |    Заказы.Ссылка = &Ссылка
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ЗаказыИнформация.Фамилия,
    |    ЗаказыИнформация.Имя,
    |    ЗаказыИнформация.Отчество,
    |    ЗаказыИнформация.ДатаРождения
    |ИЗ
    |    Документ.Заказы.Информация КАК ЗаказыИнформация
    |ГДЕ
    |    ЗаказыИнформация.Ссылка = &Ссылка";

    ЗапросДоговор.УстановитьПараметр("Ссылка", Ссылка[0]);

    РезультатДоговор = ЗапросДоговор.ВыполнитьПакет();

    Выборка0 = РезультатДоговор[0].Выбрать();

    Если Выборка0.Следующий() Тогда
        ОбластьДоговор.Параметры.Заполнить(Выборка0);
        ОбластьДоговор.Параметры.Выполнить = Формат(Выборка0.Выполнить, "ДФ=dd.MM.yyyy");
        ОбластьДоговор.Параметры.Дата = Формат(Выборка0.Дата, "ДФ=dd.MM.yyyy");
        
        ТабДок.Вывести(ОбластьДоговор);
        ТабДок.Присоединить(ОбластьДоговор);
    КонецЕсли;
        
    Выборка1 = РезультатДоговор[1].Выбрать();

    Пока Выборка1.Следующий() Цикл
        ОбластьИнформация.Параметры.Заполнить(Выборка1);
        ОбластьИнформация.Параметры.ДатаРождения = Формат(Выборка1.ДатаРождения, "ДФ=dd.MM.yyyy");
        
        ТабДок.Вывести(ОбластьИнформация, Выборка1.Уровень());
        ТабДок.ПРисоединить(ОбластьИнформация);
    КонецЦикла;





    
    ЗапросТЧ = Новый Запрос;
    ЗапросТЧ.Текст =
    "ВЫБРАТЬ
    |    ЗаказыСпецификация.НомерСтроки КАК Номер,
    |    ЗаказыСпецификация.Номенклатура,
    |    ЗаказыСпецификация.ЕдиницаИзмерения КАК Единица,
    |    ЗаказыСпецификация.Количество,
    |    ЗаказыСпецификация.Цена,
    |    ЗаказыСпецификация.Сумма
    |ИЗ
    |    Документ.Заказы.Спецификация КАК ЗаказыСпецификация
    |ГДЕ
    |    ЗаказыСпецификация.Ссылка = &Ссылка
    |    И ЗаказыСпецификация.Номенклатура.ЭтоГруппа = ЛОЖЬ";
    
    ЗапросТЧ.УстановитьПараметр("Ссылка", Ссылка[0]);
    
    РезультатТЧ = ЗапросТЧ.Выполнить();
    
    ВыборкаТЧ = РезультатТЧ.Выбрать();
    
    Пока ВыборкаТЧ.Следующий() Цикл
        ОбластьТЧ.Параметры.Заполнить(ВыборкаТЧ);
        ТабДок.Вывести(ОбластьТЧ, ВыборкаТЧ.Уровень());
    КонецЦикла;
    
    ТабДок.Вывести(ОбластьПодвал);
    
КонецПроцедуры
?

Max Street Подменю пользователя
сообщение 18.03.14, 21:22
Сообщение #3

Общительный
**
Группа: Пользователи
Сообщений: 13
Спасибо сказали: 0 раз
Рейтинг: 0

не так. получается такой результат:

Vofka Подменю пользователя
сообщение 18.03.14, 21:29
Сообщение #4

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Вы куда-то не туда делаете Присоединить. Нужно присоединять к ТабДокументу, который выводит Спецификацию.

Спасибо сказали: Max Street,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 30.04.24, 15:39
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!