Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 мар 2024, 11:37

Доброе утро!Спасите!!!!!!!!

Автор Alek, 20 окт 2010, 07:06

0 Пользователей и 1 гость просматривают эту тему.

Alek

Уже нескалько дней бъюсь в 7.7 не могу , добавить секцию (мастеров) в таблицу реестра заказ наряда, ничего не выходит,помогите!!! Опишите подробней с чего начать как закончить, мастера как реквизит уже есть

prog1c7.7


Alek

Перем
   спГруппировки,         // Список группировок запроса
   Зап,ЗапОплаты,РазмерГр,          // Запрос и его размерность
   Таб, Обновить,         // Переменные таблицы и запроса для отчета
   спВидовСвойств, КолВС,  // Список и количество видов свойств по подразделениям
   ТЗ_ПодсчетаИтогов,ПромТЗ,
   Разм_Группировки; //чтобы считать итоги по группировкам (ибо функцией не достать

//-----------------------------------------------
Процедура СтрокаСтатуса(Знач _Текст="")
   Форма.СтрокаСтатуса.Заголовок(_Текст);
КонецПроцедуры   //СтрокаСтатуса

//-----------------------------------------------
Функция ПроверкаПорядкаСписка(Сп)
// проверяет порядок в списке группировки
   НомСв1=Сп.НайтиЗначение("Свойство1");
   НомСв2=Сп.НайтиЗначение("Свойство2");
   НомСв3=Сп.НайтиЗначение("Свойство3");
   НомПод=Сп.НайтиЗначение("Подразделение без групп");
   НомДок=Сп.НайтиЗначение("Документ");
   Возврат ?((НомПод<НомСв1) или (НомПод<НомСв2) или (НомПод<НомСв3) или (НомДок<спОбороты.РазмерСписка()), 0, 1);
КонецФункции   //ПроверкаПорядкаСписка()

//-----------------------------------------------
Функция ПриВыбореЗначения(Об="",ДопПараметр="")
   Если Об="" Тогда Об=Форма.АктивныйЭлемент(); КонецЕсли;
   
   Если Об="" Тогда
   ИначеЕсли Об="кнВверхОбороты" Тогда
      глСписокДействие(спОбороты,"Вверх");
      //Если ПроверкаПорядкаСписка(спОбороты)=0 Тогда глСписокДействие(спОбороты,"Вниз"); КонецЕсли;
   ИначеЕсли Об="кнВнизОбороты" Тогда
      глСписокДействие(спОбороты,"Вниз");
      //Если ПроверкаПорядкаСписка(спОбороты)=0 Тогда глСписокДействие(спОбороты,"Вверх"); КонецЕсли;
   ИначеЕсли Об="кнДобавитьСвойства" Тогда
      глОтчетДобавитьСвойства(спВидовСвойств, спПодразделения);
   Иначе Возврат глОтчетОбработкаФормы(Контекст,Об,ДопПараметр);
   КонецЕсли;   Возврат 1;
КонецФункции   // ПриВыбореЗначения

///////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ И ФУНКЦИИ ФОРМИРОВАНИЯ ОТЧЕТА
///////////////////////////////////////////////////////////////////////////
//-----------------------------------------------
Функция СтрокаФильтра()
// Формирует строку для вывода в отчет информации об установленном фильтре   
    Возврат
      глОтчетСтрокаФильтра(спПодразделения, "Подразделения")+
      глОтчетСтрокаФильтра(спАвтоМодели, "Модели", 1)+
      глОтчетСтрокаФильтра(спВидРемонта, "Виды ремонта", 1)+
      глОтчетСтрокаФильтра(ВыбВалюта, "Валюта документа", 1)+
      глОтчетСтрокаФильтра(спКонтрагенты, "Клиенты", 1);
КонецФункции // СтрокаФильтра()

//-----------------------------------------------
Процедура ЦиклПоГруппировке(Знач ГрСп=1)
   Если спГруппировки.РазмерСписка()<ГрСп Тогда Возврат; КонецЕсли;
   
   ИмяГрп=глСтрокаНачало(спГруппировки.ПолучитьЗначение(ГрСп));
   
   Пока Зап.Группировка(ГрСп) = 1 Цикл   
      // Получение объекта группировки и его представления
      ОбъектОтчета=""; СтрокаОтчета="";
      глОтчетПолучитьОбъект(Зап, ИмяГрп, ОбъектОтчета, СтрокаОтчета);
      // Установка параметра расшифровки
      глРасшифровка.Установить(ИмяГрп,ОбъектОтчета);
      // Формирование отступа для получения древовидности отчета
      
      глОтчетВывестиНачалоСтроки(Таб, "Строка", ГрСп-1, СтрокаОтчета, ОбъектОтчета);
      VIN="";
      НомерКузова="";
      ГосНомер="";
      Открытие="";
      Закрытие="";
      Валюта="";
      СуммаЗН=ФРМ(Зап.СумЗН);
      Если Разм_Группировки=1 Тогда
          ЗапОплаты.Получить(ОбъектОтчета);
      ИначеЕсли Разм_Группировки=2 Тогда
         Если ГрСп=1 Тогда
            Имя_=спГруппировки.ПолучитьЗначение(Разм_Группировки);
            Имя_=СокрЛП(СтрЗаменить(Имя_,"без групп",""));
            ЗапОплаты.Получить(ОбъектОтчета,Зап.ПолучитьАтрибут(Имя_));   
         Иначе       
            Имя_=спГруппировки.ПолучитьЗначение(ГрСп-1);
            Имя_=СокрЛП(СтрЗаменить(Имя_,"без групп",""));
            ЗапОплаты.Получить(Зап.ПолучитьАтрибут(Имя_),ОбъектОтчета);   
         КонецЕсли;
      ИначеЕсли Разм_Группировки=3 Тогда
            Имя_=спГруппировки.ПолучитьЗначение(Разм_Группировки);
            Имя_=СокрЛП(СтрЗаменить(Имя_,"без групп",""));
            Имя_1=спГруппировки.ПолучитьЗначение(Разм_Группировки-1);
            Имя_1=СокрЛП(СтрЗаменить(Имя_1,"без групп",""));
            Имя_2=спГруппировки.ПолучитьЗначение(Разм_Группировки-2);
            Имя_2=СокрЛП(СтрЗаменить(Имя_2,"без групп",""));
         Если ГрСп=1 Тогда 
            ЗапОплаты.Получить(ОбъектОтчета,Зап.ПолучитьАтрибут(Имя_1),Зап.ПолучитьАтрибут(Имя_));
         ИначеЕсли ГрСп=2 Тогда
            ЗапОплаты.Получить(Зап.ПолучитьАтрибут(Имя_2),ОбъектОтчета,Зап.ПолучитьАтрибут(Имя_));   
         Иначе     
            ЗапОплаты.Получить(Зап.ПолучитьАтрибут(Имя_2),Зап.ПолучитьАтрибут(Имя_1),ОбъектОтчета);   
         КонецЕсли;
      ИначеЕсли Разм_Группировки=4 Тогда
            Имя_=спГруппировки.ПолучитьЗначение(Разм_Группировки);
            Имя_=СокрЛП(СтрЗаменить(Имя_,"без групп",""));
            Имя_1=спГруппировки.ПолучитьЗначение(Разм_Группировки-1);
            Имя_1=СокрЛП(СтрЗаменить(Имя_1,"без групп",""));
            Имя_2=спГруппировки.ПолучитьЗначение(Разм_Группировки-2);
            Имя_2=СокрЛП(СтрЗаменить(Имя_2,"без групп",""));
            Имя_3=спГруппировки.ПолучитьЗначение(Разм_Группировки-3);
            Имя_3=СокрЛП(СтрЗаменить(Имя_3,"без групп",""));
         Если ГрСп=1 Тогда
            ЗапОплаты.Получить(ОбъектОтчета,Зап.ПолучитьАтрибут(Имя_2),Зап.ПолучитьАтрибут(Имя_1),Зап.ПолучитьАтрибут(Имя_));
         ИначеЕсли ГрСп=2 Тогда
            ЗапОплаты.Получить(Зап.ПолучитьАтрибут(Имя_3),ОбъектОтчета,Зап.ПолучитьАтрибут(Имя_1),Зап.ПолучитьАтрибут(Имя_));
         ИначеЕсли ГрСп=3 Тогда
            ЗапОплаты.Получить(Зап.ПолучитьАтрибут(Имя_3),Зап.ПолучитьАтрибут(Имя_2),ОбъектОтчета,Зап.ПолучитьАтрибут(Имя_));   
         Иначе
            ЗапОплаты.Получить(Зап.ПолучитьАтрибут(Имя_3),Зап.ПолучитьАтрибут(Имя_2),Зап.ПолучитьАтрибут(Имя_1),ОбъектОтчета);   
         КонецЕсли;
      ИначеЕсли Разм_Группировки=5 Тогда
            Имя_=спГруппировки.ПолучитьЗначение(Разм_Группировки);
            Имя_=СокрЛП(СтрЗаменить(Имя_,"без групп",""));
            Имя_1=спГруппировки.ПолучитьЗначение(Разм_Группировки-1);
            Имя_1=СокрЛП(СтрЗаменить(Имя_1,"без групп",""));
            Имя_2=спГруппировки.ПолучитьЗначение(Разм_Группировки-2);
            Имя_2=СокрЛП(СтрЗаменить(Имя_2,"без групп",""));
            Имя_3=спГруппировки.ПолучитьЗначение(Разм_Группировки-3);
            Имя_3=СокрЛП(СтрЗаменить(Имя_3,"без групп",""));
            Имя_4=спГруппировки.ПолучитьЗначение(Разм_Группировки-4);
            Имя_4=СокрЛП(СтрЗаменить(Имя_4,"без групп",""));
         Если ГрСп=1 Тогда
            ЗапОплаты.Получить(ОбъектОтчета,Зап.ПолучитьАтрибут(Имя_3),Зап.ПолучитьАтрибут(Имя_2),Зап.ПолучитьАтрибут(Имя_1),Зап.ПолучитьАтрибут(Имя_));
         ИначеЕсли ГрСп=2 Тогда
            ЗапОплаты.Получить(Зап.ПолучитьАтрибут(Имя_4),ОбъектОтчета,Зап.ПолучитьАтрибут(Имя_2),Зап.ПолучитьАтрибут(Имя_1),Зап.ПолучитьАтрибут(Имя_));
         ИначеЕсли ГрСп=3 Тогда
            ЗапОплаты.Получить(Зап.ПолучитьАтрибут(Имя_4),Зап.ПолучитьАтрибут(Имя_3),ОбъектОтчета,Зап.ПолучитьАтрибут(Имя_1),Зап.ПолучитьАтрибут(Имя_));
         ИначеЕсли ГрСп=4 Тогда
            ЗапОплаты.Получить(Зап.ПолучитьАтрибут(Имя_4),Зап.ПолучитьАтрибут(Имя_3),Зап.ПолучитьАтрибут(Имя_2),ОбъектОтчета,Зап.ПолучитьАтрибут(Имя_));   
         Иначе
            ЗапОплаты.Получить(Зап.ПолучитьАтрибут(Имя_4),Зап.ПолучитьАтрибут(Имя_3),Зап.ПолучитьАтрибут(Имя_2),Зап.ПолучитьАтрибут(Имя_1),ОбъектОтчета);   
         КонецЕсли;
      КонецЕсли;
      СуммаОплаты=ФРМ(ЗапОплаты.СумОплаты);
      СтрокаАвтомобиля=глОтчетСформироватьСтрокуАвтомобиля(ОбъектОтчета);
      Если ИмяГрп="ЗаказНаряд" Тогда
         Если ТипЗначения(Зап.ЗаказНаряд)=12 Тогда 
            ЗН=Зап.ЗаказНаряд;
            Если ПустоеЗначение(ЗН)=0 Тогда
               VIN=ЗН.Автомобиль.Код;
               НомерКузова=ЗН.Автомобиль.НомерКузова;
               ГосНомер=ЗН.Автомобиль.ГосНомер;
               Открытие=Строка(ЗН.ДатаСоздания)+РазделительСтрок+Строка(ЗН.ВремяСоздания);
               Закрытие=Строка(ЗН.ДатаДок)+РазделительСтрок+Строка(ЗН.ПолучитьВремя());
               Валюта=ЗН.Валюта;
            КонецЕсли;
         КонецЕсли;
         Таб.ПрисоединитьСекцию("Строка|Показатели");
      Иначе
         ТЗ_ПодсчетаИтогов.Выгрузить(ПромТЗ,,);
         глТЗ_ФильтроватьПоУсловию(ПромТЗ, ИмяГрп, "=", ОбъектОтчета);
         ИтогоПоГруппировке=ПромТЗ.КоличествоСтрок();
         Таб.ПрисоединитьСекцию("Строка|Итоги");
      КонецЕсли;
      //
      //
      глУровни[ГрСп]=ГрСп;
      глОтчетПараметрыСекции(Таб, ГрСп, РазмерГр, Таб.ШиринаТаблицы(), 1);
      глОживить(1, 10);
      
       ЦиклПоГруппировке(ГрСп+1);
      глСписокДействие(глРасшифровка, "Обрезать", ГрСп);   // Очистим лишние параметры расшифровки
   КонецЦикла;
КонецПроцедуры   //ЦиклПоГруппировке

//-----------------------------------------------
Процедура Сформировать(Реж=2)

   Состояние("Выполняю подготовку данных отчета");
   
   // Заполним список разверток
   спГруппировки=СоздатьОбъект("СписокЗначений");
   глСписокЗагрузить(спГруппировки, спОбороты, 1, 2);
   
   РазмерГр=спГруппировки.РазмерСписка();
   
   Разм_Группировки=спГруппировки.РазмерСписка();
   
   Если глОтчетПроверитьРазмерГруппировок(РазмерГр, 1)=0 Тогда Возврат; КонецЕсли;
   
   СтрокаСтатуса("Подготовка данных...");
   
   тЗапОплаты=глОтчетШапкаЗапроса(Реж,Контекст,)+"
   |ЗаказНаряд = Документ.ЗаказНаряд.ТекущийДокумент;
   |Фирма=Документ.ЗаказНаряд.Подразделение.Фирма;
   |Подразделение=Документ.ЗаказНаряд.Подразделение;
   |Заказчик = Документ.ЗаказНаряд.Заказчик;
   |Контрагенты = Документ.ЗаказНаряд.Контрагент;
   |АвтоМодели = Документ.ЗаказНаряд.Автомобиль.Модель;
   |ВидРемонта = Документ.ЗаказНаряд.ВидРемонта;
   |Состояние = Документ.ЗаказНаряд.Состояние;
   |ВидОплаты = Документ.ЗаказНаряд.ВидОплаты;
   |Валюта = Документ.ЗаказНаряд.Валюта;
   |СуммаОплаты = Документ.ЗаказНаряд.СуммаОплаты;
   |ИсточникИнформации = Документ.ЗаказНаряд.ИсточникИнформации;";
    Для Сч=1 По спГруппировки.РазмерСписка() Цикл тЗапОплаты=тЗапОплаты+"
      |Группировка "+спГруппировки.ПолучитьЗначение(Сч)+";";
   КонецЦикла;   
   тЗапОплаты=тЗапОплаты+
   глОтчетУсловиеЗапроса(ВыбФирма, "ВыбФирма", "Фирма")+
   глОтчетУсловиеЗапроса(спПодразделения, "спПодразделения", "Подразделение", "Свойство", спВидовСвойств)+
   глОтчетУсловиеЗапроса(спАвтоМодели, "спАвтоМодели", "АвтоМодели")+
   глОтчетУсловиеЗапроса(спВидРемонта, "спВидРемонта", "ВидРемонта")+
   глОтчетУсловиеЗапроса(ВыбВалюта, "ВыбВалюта", "Валюта")+
   глОтчетУсловиеЗапроса(спКонтрагенты, "спКонтрагенты", "Контрагенты")+
   "Функция СумОплаты=Сумма(СуммаОплаты);";
   
   // сформируем текст запроса
   тЗап=глОтчетШапкаЗапроса(Реж,Контекст,)+"
   |ЗаказНаряд = Документ.ЗаказНаряд.ТекущийДокумент;
   |Фирма=Документ.ЗаказНаряд.Подразделение.Фирма;
   |Подразделение=Документ.ЗаказНаряд.Подразделение;
   |Заказчик = Документ.ЗаказНаряд.Заказчик;
   |Контрагенты = Документ.ЗаказНаряд.Контрагент;
   |АвтоМодели = Документ.ЗаказНаряд.Автомобиль.Модель;
   |ВидРемонта = Документ.ЗаказНаряд.ВидРемонта;
   |Состояние = Документ.ЗаказНаряд.Состояние;
   |ВидОплаты = Документ.ЗаказНаряд.ВидОплаты;
   |Валюта = Документ.ЗаказНаряд.Валюта;
   |СуммаОплаты = Документ.ЗаказНаряд.СуммаОплаты;
   |СуммаЗН = Документ.ЗаказНаряд.Сумма;
   |СуммаНП = Документ.ЗаказНаряд.НП;
   |ИсточникИнформации = Документ.ЗаказНаряд.ИсточникИнформации;";
Для Сч=1 По спГруппировки.РазмерСписка() Цикл тЗап=тЗап+"
      |Группировка "+спГруппировки.ПолучитьЗначение(Сч)+";";
   КонецЦикла;   
   тЗап=тЗап+
   глОтчетУсловиеЗапроса(ВыбФирма, "ВыбФирма", "Фирма")+
   глОтчетУсловиеЗапроса(спПодразделения, "спПодразделения", "Подразделение", "Свойство", спВидовСвойств)+
   глОтчетУсловиеЗапроса(спАвтоМодели, "спАвтоМодели", "АвтоМодели")+
   глОтчетУсловиеЗапроса(спВидРемонта, "спВидРемонта", "ВидРемонта")+
   глОтчетУсловиеЗапроса(ВыбВалюта, "ВыбВалюта", "Валюта")+
   глОтчетУсловиеЗапроса(спКонтрагенты, "спКонтрагенты", "Контрагенты")+
   "Функция СумЗН=Сумма(СуммаЗН+СуммаНП);
   |Функция СумОплаты=Сумма(СуммаОплаты);";
   // Расчет запроса
   Зап=СоздатьОбъект("Запрос");
   Если Зап.Выполнить(тЗап) = 0 Тогда
      Сообщить(?(Право[123]=1,тЗап,"Запрос не выполнен")); Возврат;
   КонецЕсли; 
   
   ЗапОплаты=СоздатьОбъект("Запрос");
   Если ЗапОплаты.Выполнить(тЗапОплаты) = 0 Тогда
      Сообщить(?(Право[123]=1,тЗапОплаты,"Запрос по оплате не выполнен")); Возврат;
   КонецЕсли;
   
   //глТЗ_Показать(ЗапОплаты);
   
   ТЗ_ПодсчетаИтогов=СоздатьОбъект("ТаблицаЗначений");
   ПромТЗ=СоздатьОбъект("ТаблицаЗначений");
   Зап.Выгрузить(ТЗ_ПодсчетаИтогов,0,0);
   //глТЗ_Показать(Зап);   // Эту строчку можно раскоментировать для отладки запроса
   
   // Инициализация таблицы отчета
   Если ТипЗначенияСтр(Таб)<>"Таблица" Тогда Таб=СоздатьОбъект("Таблица");
   Иначе Таб.Очистить();
   КонецЕсли;
   Если Обновить="Настройка" Тогда СтрокаДействийФормы="#Закрыть"; КонецЕсли;
   Если Найти(тЗап,"Группировка ЗаказНаряд")=0 Тогда
      глИсходнаяТаблица(Таб,"РеестрБезНарядов");
      СекцияШапки="Шапка|Итоги";
      СекцияПодвала="Подвал|Итоги";
   Иначе
      СекцияШапки="Шапка|Показатели";
      СекцияПодвала="Подвал|Показатели";
      глИсходнаяТаблица(Таб,"Реестр");
   КонецЕсли;
   СтрокаСтатуса("Формирование таблицы отчета...");
   
   глОтчетВывестиНачалоСтроки(Таб, "Шапка");
   Таб.ПрисоединитьСекцию(СекцияШапки);
   глОтчетПараметрыСекции(Таб, "Шапка", 5, Таб.ШиринаТаблицы(), Таб.ВысотаТаблицы());
   глОживить(Таб.ВысотаТаблицы());
   Таб.Опции(0,0,Таб.ВысотаТаблицы(), 18);
    глРасшифровка=СоздатьОбъект("СписокЗначений");
   ЦиклПоГруппировке(1);
   СуммаЗН=ФРМ(Зап.СумЗН);
   ЗапОплаты.вНачалоВыборки();
   СуммаОплаты=ФРМ(ЗапОплаты.СумОплаты);
   ИтогоПоГруппировке=ТЗ_ПодсчетаИтогов.КоличествоСтрок();
   глОтчетВывестиНачалоСтроки(Таб, "Подвал",15);
   Таб.ПрисоединитьСекцию(СекцияПодвала);
   глОтчетПараметрыСекции(Таб, "Подвал", , Таб.ШиринаТаблицы(), 1);
   глОживить(1);
   глОтчетПоказать(Контекст,Таб,,"Реестр заказ-нарядов");
   СтрокаСтатуса();
   ТЗ_ПодсчетаИтогов=0;
   ПромТЗ=0;
КонецПроцедуры   // Сформировать


//-----------------------------------------------
Процедура НастроитьГруппировку(ИмяГрп)
// выбор заранее предопределенных группировок
   СтрВСш=""; СтрВС="";
   глОтчетПолучитьШаблонНастройки(спВидовСвойств, СтрВСш, СтрВС);
    Меню=СоздатьОбъект("СписокЗначений");
   Меню.ДобавитьЗначение("1"+СтрВСш+"0100", "По фирмам   (фирма - хоз.операция)");
   Меню.ДобавитьЗначение("0"+СтрВСш+"1100", "По подразделениям   (подразделение - хоз.операция)");
   Меню.ДобавитьЗначение("0"+СтрВСш+"1110", "По подразделениям с аналитикой");
   Меню.ДобавитьЗначение("0"+СтрВСш+"0101", "Карточка   (хоз.операция - документ)");
   Ном=0;
   Если Меню.ВыбратьЗначение(Ном,,,,1)=1 Тогда
      глСписокДействие(спОбороты, "ВсеСнять");
      глСписокДействие(спОбороты, "Настройка", "Фирма, "+СтрВС+"Подразделение без групп, ХозОперация без групп, Аналитика без групп, Документ", Ном);
   КонецЕсли;
КонецПроцедуры   //НастроитьГруппировку(ИмяГрп)

///////////////////////////////////////////////////////////////////////////
// ПРЕДОПРЕДЕЛЕННЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
///////////////////////////////////////////////////////////////////////////
//-----------------------------------------------
Процедура ОбработкаПодбора(Элемент,КонтПодб)
// Обрабатывает подборы всех справочников
   Если ТипЗначения(Элемент)<>11 Тогда Возврат; КонецЕсли;
   Если Элемент.Вид()="Подразделения" Тогда глСписокДействие(спПодразделения,"Добавить",Элемент);
   ИначеЕсли Элемент.Вид()="Контрагенты" Тогда глСписокДействие(спКонтрагенты,"Добавить",Элемент);
   ИначеЕсли Элемент.Вид()="ВидРемонта" Тогда глСписокДействие(спВидРемонта,"Добавить",Элемент);
   ИначеЕсли Элемент.Вид()="АвтоМодели" Тогда глСписокДействие(спАвтоМодели,"Добавить",Элемент);   
      
   КонецЕсли;
КонецПроцедуры // ОбработкаПодбора

//-----------------------------------------------
// Вызывается при открытии отчета. Анализирует параметры вызова
Процедура ПриОткрытии(ФлагНастройки)
   Если глОтчетПриОткрытии(Контекст,"РеестрЗаказНарядов")=0 Тогда Возврат; КонецЕсли;

   Если спОбороты.РазмерСписка()<>5+КолВС Тогда
      спОбороты.УдалитьВсе();
      спОбороты.ДобавитьЗначение("Фирма","Фирмы");
      спОбороты.ДобавитьЗначение("Валюта без групп","Валюта документа");
      спОбороты.ДобавитьЗначение("ЗаказНаряд","Заказ-наряды");
      спОбороты.Пометка(3,1);
      Для Ном=1 по КолВС Цикл
         Представление="";
         ВидСвойства=спВидовСвойств.ПолучитьЗначение(Ном, Представление);
         НомСв=Сред(Представление, 8, 1);
         спОбороты.ДобавитьЗначение("Свойство"+НомСв, Представление);
      КонецЦикла;
      спОбороты.ДобавитьЗначение("Подразделение без групп","Цех");
      спОбороты.ДобавитьЗначение("ВидРемонта без групп","Вид ремонта");
      спОбороты.ДобавитьЗначение("ВидОплаты","Вид оплаты");
      спОбороты.ДобавитьЗначение("АвтоМодели без групп","Модели");
      спОбороты.ДобавитьЗначение("Контрагенты без групп","Плательщики");
      спОбороты.ДобавитьЗначение("ИсточникИнформации без групп","Реклама");
      спОбороты.ДобавитьЗначение("День","День");
      спОбороты.ДобавитьЗначение("Неделя","Неделя");
      спОбороты.ДобавитьЗначение("Месяц","Месяц");
      спОбороты.ДобавитьЗначение("Квартал","Квартал");
      спОбороты.ДобавитьЗначение("Год","Год");
   КонецЕсли;
   
   Если ТипЗначенияСтр(Форма.Параметр)="СписокЗначений" Тогда
      //глТЗ_Показать(Форма.Параметр);
      глОтчетУстановитьПараметры(Контекст, Форма.Параметр);
      Обновить=Форма.Параметр.Получить("ОбновитьНастроить");
      Если (Обновить="Обновить") или (Обновить="Настройка") Тогда   //обновить-настроить
         Таб=Форма.Параметр.Получить("Таблица");
         Если Обновить="Обновить" Тогда
            Сформировать();
            СтатусВозврата(0);
         КонецЕсли;
      Иначе   //по расшифровке
         Сформировать();
         СтатусВозврата(0);
      КонецЕсли;
   КонецЕсли;
   СтрокаСтатуса();
КонецПроцедуры // ПриОткрытии()

//-----------------------------------------------
// Здесь заполняется список параметров, влияющих на формирование отчета,
// Для автоматического заполнения расшифровки при формировании отчета
// Значение - Идентификатор реквизита диалога, Представление - Имя параметра
// Параметры периода добавляются автоматически при открытии отчета
спПараметровОтчета.УдалитьВсе();
спПараметровОтчета.Установить("Подразделение","спПодразделения");
спПараметровОтчета.Установить("АвтоМодели","спАвтоМодели");
спПараметровОтчета.Установить("Контрагенты","спКонтрагенты");
спПараметровОтчета.Установить("ВидРемонта","спВидРемонта");
спПараметровОтчета.Установить("ВыбВалюта","ВыбВалюта");
спПараметровОтчета.Установить("ИмяОтчета","РеестрЗаказНарядов");
//-----------------------------------------------
спВидовСвойств=СоздатьОбъект("СписокЗначений");
глСвойстваЗаполнитьСписокВидов(спВидовСвойств, "Подразделения");

prog1c7.7

Хочешь показать его в отчете просто или фильтровать по нему?

Если показать, то между 73 и 74 строкой добавь строку
Мастер1 = "";
между153 и 154 добавь строку
Мастер1 =ЗН."а здесь твой реквизит";
как у тебя этот масер-реквизит называется в заказ наряде я не знаю.

Если группировать по нему хош, тогда в фильтр надо добавлять, и шапку запроса менять


Alek

хор ., спасибо, сейчас попробую

Alek

ничего не изменилось , столбец не добавился, в чем может быть причина?

prog1c7.7

конечно не добавится в таблице,тыж видишь в коде
Таб.ПрисоединитьСекцию("Строка|Показатели");
вот и закидывай своих мастеров в эту секцию

Alek

подскажи, куда мне добавить, где эта секция, у меня нет изменений, не выводит столбец

prog1c7.7

ты вне секции мастеров своих ставишь понимаешь?
посмотри на свою таблицу. Мастер1  вне всей таблицы идет.

Alek

да он находится не в таблице и по этому не выводится, так как сделать?

Теги:

Похожие темы (1)

Рейтинг@Mail.ru

Поиск