вторник, 1 марта 2011 г.

Сегодня впервые разрабатывала программу в деревне. Ценность: самореализация

Это моя программа, как ее видит пользователь
А так выглядит текст процедуры печати бланка План переговоров

Процедура ОсновныеДействияФормыПлан(Кнопка)
    естьБланк=Ложь;
    Для каждого б из бланки цикл
        Если (б.Бланк.Предопределенный=Истина) и (СтрЧислоВхождений(б.Бланк.Код,"переговоры")>0) тогда
            СТэги=б.Бланк.НаборТэгов.Тэги.Выгрузить();   
            естьбланк=истина;
        КонецЕсли;
    КонецЦикла;   
    Если естьБланк=Ложь Тогда
        сообщить("Не выбран бланк");
        Возврат;
    КонецЕсли;   
    ТабДок = Новый ТабличныйДокумент;
    Макет = ПолучитьМакет("План");
    ТабДок.ОриентацияСтраницы=ОриентацияСтраницы.Ландшафт;   
    //// Именуем области////////////////////////////////////////////
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");   
    ОбластьВизит = Макет.ПолучитьОбласть("Визит");   
    ОбластьШапкаУсловия = Макет.ПолучитьОбласть("ШапкаУсловие");   
    ОбластьСтрокаУсловие=Макет.ПолучитьОбласть("Условие");
    ОбластьЗаголовокЦель=Макет.ПолучитьОбласть("ЗаголовокЦель");
    ОбластьШапкаЦель=Макет.ПолучитьОбласть("ШапкаЦель");
    ОбластьСтрокаЦель=Макет.ПолучитьОбласть("Цель");
    ОбластьЗаголовокТема=Макет.ПолучитьОбласть("ЗаголовокТема");
    ОбластьШапкаТема=Макет.ПолучитьОбласть("ШапкаТема");
    ОбластьСтрокаТема=Макет.ПолучитьОбласть("Тема");
    ОбластьПотребности=Макет.ПолучитьОбласть("СкрытыеПотребности");
    ОбластьПерспективы=Макет.получитьОбласть("Перспективы");
    ОбластьХозяйство=Макет.получитьОбласть("Хозяйство");
    ОбластьФинансы=Макет.получитьОбласть("Финансы");
    ОбластьПроблемы=Макет.получитьОбласть("ПроблемыЗадачи");
    ТабДок.Очистить();
    ТабДок.Вывести(ОбластьЗаголовок);
    ОбластьВизит.Параметры.Регион=Регион;
    ОбластьВизит.Параметры.Контрагент=Контрагент;
    ОбластьВизит.Параметры.Менеджер=Менеджер;
    ФИО="";
    Для Каждого Кон из Контакты Цикл
        ФИО=ФИО+Строка(кон.Контакт.Наименование)+" ("+кон.Контакт.Должность+")"+"тел:"+кон.Контакт.ТелефонРабочий+" ;  ";
    КонецЦикла;   
    ОбластьВизит.Параметры.Контакт=ФИО;   
    ОбластьВизит.Параметры.ДатаСобытия=лев(Дата,16);
    ТабДок.Вывести(ОбластьВизит);
   
    ТабДок.Вывести(ОбластьШапкаУсловия);   
    ////////////////////////////вывод строк условия////////////
    Для Каждого нс из СТэги Цикл
        печ="-";
        Запрос=Новый запрос("ВЫБРАТЬ     Досье.Тэг,    Досье.Значение ИЗ    РегистрСведений.Досье КАК Досье ГДЕ Досье.Клиент = &Клиент     И Досье.Тэг = &Тэг И Досье.Тэг.МножественныеЗначения = &ВыбЗначение");
        Запрос.УстановитьПараметр("Клиент",Контрагент);
        Запрос.УстановитьПараметр("Тэг",нс.Тэг);
        Запрос.УстановитьПараметр("ВыбЗначение",Ложь);
        Результат=Запрос.Выполнить();
        //ОбластьТэг.Параметры.ЗначениеТэга=Результат;
        ТР=Результат.Выгрузить();
        со =Новый Структура("Тэг"); // структура отбора
        Для каждого тс из ТР Цикл
            печ="-";
            со.Тэг=тс.Тэг;
            к=ТР.НайтиСтроки(со);   
            ном=1;
            Для каждого тк из к Цикл
                Если Ном=1 Тогда   
                    печ=Строка(тк.Значение);
                Иначе
                    Печ=Печ+", "+Строка(тк.Значение);
                КонецЕсли;                   
                Ном=Ном+1;       
            КонецЦикла;                   
        КонецЦикла;       
        ОбластьСтрокаУсловие.Параметры.ИмяТэга=нс.Тэг.Наименование;   
        ОбластьСтрокаУсловие.Параметры.ЗначениеТэга=печ;
        ТабДок.Вывести(ОбластьСтрокаУсловие);                                 
    КонецЦикла;   
    ////////////////////////////////////////
    ТабДок.Вывести(ОбластьЗаголовокЦель);   
    ТабДок.Вывести(ОбластьШапкаЦель);
    Для каждого ц из Цели Цикл
        ОбластьСтрокаЦель.Параметры.ЦельПереговоров=ц.ЦельПереговоров.Наименование;
        ОбластьСтрокаЦель.Параметры.тип=ц.ТипЦели;
        ОбластьСтрокаЦель.Параметры.Формулировка=ц.ЦельПереговоров.Формулировка;
        ТабДок.Вывести(ОбластьСтрокаЦель);
    КонецЦикла;   
    ////////////////////////////вывод строк цель////////////
    ТабДок.Вывести(ОбластьЗаголовокТема);
    ТабДок.Вывести(ОбластьШапкаТема);
    ////////////////////////////вывод строк тема////////////
    Для каждого т из Темы Цикл
        ОбластьСтрокаТема.Параметры.ТемаОбсуждения=т.Тема;
        ОбластьСтрокаТема.Параметры.формат=т.Формат;
        ОбластьСтрокаТема.Параметры.Аргументы=т.Преимущества;
        ТабДок.Вывести(ОбластьСтрокаТема);
    КонецЦикла;        
    ТабДок.Вывести(ОбластьХозяйство);
    ТабДок.Вывести(ОбластьФинансы);
    ТабДок.Вывести(ОбластьПерспективы);
    ТабДок.Вывести(ОбластьПотребности);
    ТабДок.Вывести(ОбластьПроблемы);
    ТабДок.ОтображатьСетку = Ложь;
    ТабДок.Защита = Ложь;
    ТабДок.ТолькоПросмотр = Истина;
    ТабДок.ОтображатьЗаголовки = Ложь;
    ТабДок.Показать();     
   
КонецПроцедуры


Комментариев нет:

Отправить комментарий