Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
25 Сен 2020, 07:26
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Доброе утро! У меня вопрос ..  (Прочитано 4529 раз)

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

Оффлайн Alek

  • **
  • Сообщений: 51
  • РЕПУТАЦИЯ: 2
  • КПД: 4%
  • Регистрация: 2010-10-13
  • Сайт: 
Как добавить поле , при формирование таблицы заказ наряд,заказ наряд в отчетах, таблица уже есть и форма есть только, нужно добавить поле на вывод, спасибо заранее


Оффлайн progmikon

  • *****
  • Сообщений: 2090
  • РЕПУТАЦИЯ: 371
  • КПД: 18%
  • Регистрация: 2010-10-09
  • Компания: http://progmikon.blogspot.com/
  • Профессия: Программист 1С
Доброе.
Это смотря какой отчет вам нужен.
Так же не лишней будет информация и о конфигурации.

Оффлайн Alek

  • **
  • Сообщений: 51
  • РЕПУТАЦИЯ: 2
  • КПД: 4%
  • Регистрация: 2010-10-13
  • Сайт: 
отчет реестр заказ нарядов, отчет уже есть и он формирует таблицу , так вот нужно добавуить еще один столбец по мастреам, которые уже существуют ,их нужно добавить при формирование этой таблицы

Оффлайн Alek

  • **
  • Сообщений: 51
  • РЕПУТАЦИЯ: 2
  • КПД: 4%
  • Регистрация: 2010-10-13
  • Сайт: 
я нашел , форму в отчетах  реестр заказ нарядов, как понимаю надо добавить там

Оффлайн Alek

  • **
  • Сообщений: 51
  • РЕПУТАЦИЯ: 2
  • КПД: 4%
  • Регистрация: 2010-10-13
  • Сайт: 

Оффлайн progmikon

  • *****
  • Сообщений: 2090
  • РЕПУТАЦИЯ: 371
  • КПД: 18%
  • Регистрация: 2010-10-09
  • Компания: http://progmikon.blogspot.com/
  • Профессия: Программист 1С
Нужно взглянуть на код.

Оффлайн Alek

  • **
  • Сообщений: 51
  • РЕПУТАЦИЯ: 2
  • КПД: 4%
  • Регистрация: 2010-10-13
  • Сайт: 
Перем
   спГруппировки,         // Список группировок запроса
   Зап,ЗапОплаты,РазмерГр,          // Запрос и его размерность
   Таб, Обновить,         // Переменные таблицы и запроса для отчета
   спВидовСвойств, КолВС,  // Список и количество видов свойств по подразделениям
   ТЗ_ПодсчетаИтогов,ПромТЗ,
   Разм_Группировки; //чтобы считать итоги по группировкам (ибо функцией не достать

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

//-----------------------------------------------
Функция ПроверкаПорядкаСписка(Сп)
// проверяет порядок в списке группировки
   НомСв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);
      КонецЕсли;
   КонецЕсли;
   СтрокаСтатуса();
КонецПроцедуры // ПриОткрытии()

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

Оффлайн progmikon

  • *****
  • Сообщений: 2090
  • РЕПУТАЦИЯ: 371
  • КПД: 18%
  • Регистрация: 2010-10-09
  • Компания: http://progmikon.blogspot.com/
  • Профессия: Программист 1С
Необходимо добавить ваш новый реквизит в запрос. Затем добавить поле в макете с параметром и заполнить его.

Оффлайн Alek

  • **
  • Сообщений: 51
  • РЕПУТАЦИЯ: 2
  • КПД: 4%
  • Регистрация: 2010-10-13
  • Сайт: 
как его добавить в запрос

Оффлайн progmikon

  • *****
  • Сообщений: 2090
  • РЕПУТАЦИЯ: 371
  • КПД: 18%
  • Регистрация: 2010-10-09
  • Компания: http://progmikon.blogspot.com/
  • Профессия: Программист 1С
|НовыйРеквизит=Документ.ЗаказНаряд.НовыйРеквизит;


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
71 Сообщений
oooo800
34 Сообщений
LexaK
32 Сообщений
Дмитрий Джей Дмитрий Джей
28 Сообщений
IL2016
25 Сообщений
antoneus antoneus
21 Сообщений
DmitriyF DmitriyF
17 Сообщений
Ann_
16 Сообщений
мадам брошкина
13 Сообщений
SoOliateR
13 Сообщений

* Кто онлайн

  • Точка Гостей: 229
  • Точка Скрытых: 0
  • Точка Пользователей: 1
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal