Как передать параметры в отчет БЕЗ СКД?

1. AlexUnder 14.07.20 13:48 Сейчас в теме
Доброго времени суток, уважаемые форумчане!
Перевожу отчет с простых на управляемые, форму отрисовал, по средам исполнения раскидал, отчет формируется корректно, но забуксовал на расшифровке поля.
Гуглил инфу, но везде СКД, до истины так и не могу добраться.
При попытке расшифровать выходит "! Структура" и все на этом, как дебажить ума не приложу.
Буду весьма благодарен за направление в нужное русло, вот код:

Процедура ПолеТабличногоДокументаОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
	
       	СтандартнаяОбработка = ложь;

        ФормаРасшифровка = Отчеты.ОтчетПоПроводкамТиповой.ПолучитьФорму(,, Новый УникальныйИдентификатор);
        ФормаРасшифровка.РежимРасшифровки = Истина;
		
		Если Расшифровка.ВидРасшифровки = "ВаловыйСбор" тогда
			
			Поле            = "СубконтоДт1.ВидНоменклатуры";
			Поле             = Новый ПолеКомпоновкиДанных(Поле);
			Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
			ВидСрав         = ВидСравненияКомпоновкиДанных.ВСписке;
			Значение        = Расшифровка.Субконто1;
			Использование    = Истина;
			
			НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
			НовыйЭлемент.Использование  = Использование;
			НовыйЭлемент.ЛевоеЗначение  = Поле;
			НовыйЭлемент.ВидСравнения   = ВидСрав;
			НовыйЭлемент.ПравоеЗначение = Значение;
			
			Поле            = "КорСчет";
			Поле             = Новый ПолеКомпоновкиДанных(Поле);
			Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
			ВидСрав         = ВидСравненияКомпоновкиДанных.Равно;
			Значение        = Расшифровка.КорСчет;
			Использование    = Истина;
			
			НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
			НовыйЭлемент.Использование  = Использование;
			НовыйЭлемент.ЛевоеЗначение  = Поле;
			НовыйЭлемент.ВидСравнения   = ВидСрав;
			НовыйЭлемент.ПравоеЗначение = Значение;
			
			
			Поле            = "Счет";
			Поле             = Новый ПолеКомпоновкиДанных(Поле);
			Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
			ВидСрав         = ВидСравненияКомпоновкиДанных.ВСписке;
			Значение        = Расшифровка.Счет;
			Использование    = Истина;
			
			НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
			НовыйЭлемент.Использование  = Использование;
			НовыйЭлемент.ЛевоеЗначение  = Поле;
			НовыйЭлемент.ВидСравнения   = ВидСрав;
			НовыйЭлемент.ПравоеЗначение = Значение;
			
			Поле            = "Организация";
			Поле             = Новый ПолеКомпоновкиДанных(Поле);
			Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
			ВидСрав         = ВидСравненияКомпоновкиДанных.Равно;
			Значение        = Расшифровка.Организация;
			Использование    = Истина;
			
			НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
			НовыйЭлемент.Использование  = Использование;
			НовыйЭлемент.ЛевоеЗначение  = Поле;
			НовыйЭлемент.ВидСравнения   = ВидСрав;
			НовыйЭлемент.ПравоеЗначение = Значение;
			
			
		ИначеЕсли 	Расшифровка.ВидРасшифровки = "ЗасыпкаСемян" тогда
			
			Поле            = "СубконтоКт1.ВидНоменклатуры";
			Поле             = Новый ПолеКомпоновкиДанных(Поле);
			Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
			ВидСрав         = ВидСравненияКомпоновкиДанных.ВСписке;
			Значение        = Расшифровка.Субконто1;
			Использование    = Истина;
			
			НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
			НовыйЭлемент.Использование  = Использование;
			НовыйЭлемент.ЛевоеЗначение  = Поле;
			НовыйЭлемент.ВидСравнения   = ВидСрав;
			НовыйЭлемент.ПравоеЗначение = Значение;
			
			Поле            = "КорСчет";
			Поле             = Новый ПолеКомпоновкиДанных(Поле);
			Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
			ВидСрав         = ВидСравненияКомпоновкиДанных.Равно;
			Значение        = Расшифровка.КорСчет;
			Использование    = Истина;
			
			НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
			НовыйЭлемент.Использование  = Использование;
			НовыйЭлемент.ЛевоеЗначение  = Поле;
			НовыйЭлемент.ВидСравнения   = ВидСрав;
			НовыйЭлемент.ПравоеЗначение = Значение;
			
			
			Поле            = "Счет";
			Поле             = Новый ПолеКомпоновкиДанных(Поле);
			Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
			ВидСрав         = ВидСравненияКомпоновкиДанных.ВСписке;
			Значение        = Расшифровка.Счет;
			Использование    = Истина;
			
			НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
			НовыйЭлемент.Использование  = Использование;
			НовыйЭлемент.ЛевоеЗначение  = Поле;
			НовыйЭлемент.ВидСравнения   = ВидСрав;
			НовыйЭлемент.ПравоеЗначение = Значение;
			
			Поле            = "Организация";
			Поле             = Новый ПолеКомпоновкиДанных(Поле);
			Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
			ВидСрав         = ВидСравненияКомпоновкиДанных.Равно;
			Значение        = Расшифровка.Организация;
			Использование    = Истина;
			
			НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
			НовыйЭлемент.Использование  = Использование;
			НовыйЭлемент.ЛевоеЗначение  = Поле;
			НовыйЭлемент.ВидСравнения   = ВидСрав;
			НовыйЭлемент.ПравоеЗначение = Значение;
			
		ИначеЕсли Расшифровка.ВидРасшифровки = "ПокупноеЗерно" тогда
			
			Поле            = "СубконтоДт1.ВидНоменклатуры";
			Поле             = Новый ПолеКомпоновкиДанных(Поле);
			Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
			ВидСрав         = ВидСравненияКомпоновкиДанных.ВСписке;
			Значение        = Расшифровка.Субконто1;
			Использование    = Истина;
			
			НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
			НовыйЭлемент.Использование  = Использование;
			НовыйЭлемент.ЛевоеЗначение  = Поле;
			НовыйЭлемент.ВидСравнения   = ВидСрав;
			НовыйЭлемент.ПравоеЗначение = Значение;
			
			Поле            = "КорСчет";
			Поле             = Новый ПолеКомпоновкиДанных(Поле);
			Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
			ВидСрав         = ВидСравненияКомпоновкиДанных.ВСписке;
			Значение        = Расшифровка.СчетаПоставщик;
			Использование    = Истина;
			
			НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
			НовыйЭлемент.Использование  = Использование;
			НовыйЭлемент.ЛевоеЗначение  = Поле;
			НовыйЭлемент.ВидСравнения   = ВидСрав;
			НовыйЭлемент.ПравоеЗначение = Значение;
			
			
			Поле            = "Счет";
			Поле             = Новый ПолеКомпоновкиДанных(Поле);
			Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
			ВидСрав         = ВидСравненияКомпоновкиДанных.ВСписке;
			Значение        = Расшифровка.Счет;
			Использование    = Истина;
			
			НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
			НовыйЭлемент.Использование  = Использование;
			НовыйЭлемент.ЛевоеЗначение  = Поле;
			НовыйЭлемент.ВидСравнения   = ВидСрав;
			НовыйЭлемент.ПравоеЗначение = Значение;
			
			Поле            = "Организация";
			Поле             = Новый ПолеКомпоновкиДанных(Поле);
			Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
			ВидСрав         = ВидСравненияКомпоновкиДанных.Равно;
			Значение        = Расшифровка.Организация;
			Использование    = Истина;
			
			НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
			НовыйЭлемент.Использование  = Использование;
			НовыйЭлемент.ЛевоеЗначение  = Поле;
			НовыйЭлемент.ВидСравнения   = ВидСрав;
			НовыйЭлемент.ПравоеЗначение = Значение;
			
		ИначеЕсли 	Расшифровка.ВидРасшифровки = "Переработка" тогда
			
			Поле            = "СубконтоКт1.ВидНоменклатуры";
			Поле             = Новый ПолеКомпоновкиДанных(Поле);
			Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
			ВидСрав         = ВидСравненияКомпоновкиДанных.ВСписке;
			Значение        = Расшифровка.Субконто1;
			Использование    = Истина;
			
			НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
			НовыйЭлемент.Использование  = Использование;
			НовыйЭлемент.ЛевоеЗначение  = Поле;
			НовыйЭлемент.ВидСравнения   = ВидСрав;
			НовыйЭлемент.ПравоеЗначение = Значение;
			
			Поле            = "КорСчет";
			Поле             = Новый ПолеКомпоновкиДанных(Поле);
			Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
			ВидСрав         = ВидСравненияКомпоновкиДанных.Равно;
			Значение        = Расшифровка.КорСчет;
			Использование    = Истина;
			
			НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
			НовыйЭлемент.Использование  = Использование;
			НовыйЭлемент.ЛевоеЗначение  = Поле;
			НовыйЭлемент.ВидСравнения   = ВидСрав;
			НовыйЭлемент.ПравоеЗначение = Значение;
			
			
			Поле            = "Счет";
			Поле             = Новый ПолеКомпоновкиДанных(Поле);
			Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
			ВидСрав         = ВидСравненияКомпоновкиДанных.ВСписке;
			Значение        = Расшифровка.Счет;
			Использование    = Истина;
			
			НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
			НовыйЭлемент.Использование  = Использование;
			НовыйЭлемент.ЛевоеЗначение  = Поле;
			НовыйЭлемент.ВидСравнения   = ВидСрав;
			НовыйЭлемент.ПравоеЗначение = Значение;
			
			Поле            = "Организация";
			Поле             = Новый ПолеКомпоновкиДанных(Поле);
			Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
			ВидСрав         = ВидСравненияКомпоновкиДанных.Равно;
			Значение        = Расшифровка.Организация;
			Использование    = Истина;
			
			НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
			НовыйЭлемент.Использование  = Использование;
			НовыйЭлемент.ЛевоеЗначение  = Поле;
			НовыйЭлемент.ВидСравнения   = ВидСрав;
			НовыйЭлемент.ПравоеЗначение = Значение;
	
			
		КонецЕсли;


		ФормаРасшифровка.ПРедставлениеСпискаОрганизаций =  Строка(Расшифровка.Организация);
		ФормаРасшифровка.ПРедставлениеСпискаПодразделений =  Строка(Расшифровка.Организация);
        ФормаРасшифровка.НачалоПериода     = Расшифровка.ДатаНачала;
        ФормаРасшифровка.КонецПериода      = Расшифровка.ДатаКонца;
        ФормаРасшифровка.Настроить();
       
        Для Каждого ЭлементСтруктуры Из ФормаРасшифровка.ДанныеОтчета.ПоказателиОтчета Цикл
            ЭлементСтруктуры.Значение.Значение = Ложь;
        КонецЦикла;
       
        ФормаРасшифровка.ДанныеОтчета.ПоказателиОтчета.Количество.Значение    = Истина;
        ФормаРасшифровка.Открыть();
        ФормаРасшифровка.ОбновитьОтчет();
	КонецПроцедуры
Показать
По теме из базы знаний
Найденные решения
7. andy_zhav 197 14.07.20 14:14 Сейчас в теме
Такое ощущение что процедура обработки расшифровки не срабатывает. Вы точно назначили эту процедуру для обработчика табличного документа? Если отладка туда не попадает, то мне кажется что вы забыли это сделать.
Прикрепленные файлы:
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. platon_ 10 14.07.20 13:52 Сейчас в теме
а в поле расшифровку положили?

в принципе вот тут можно посмотреть Расшифровка табличного документа
3. AlexUnder 14.07.20 13:55 Сейчас в теме
(2)Да, все на месте. По ману по ссылке разбирают справочник, а вот как передать в отчет....
4. platon_ 10 14.07.20 13:57 Сейчас в теме
(3) в момент формирования в параметр расшифровки что помещаете?
5. AlexUnder 14.07.20 14:01 Сейчас в теме
(4)У меня в макете, для ячеек заданы ПараметрРасшифровки, в текстовом виде, в роде "ВаловыСбор" итп. Вы об этом?
6. platon_ 10 14.07.20 14:03 Сейчас в теме
(5) ну а в коде вы эти параметры заполняете?

типа
Область.Параметры.ВаловыйСбор = "146%";
8. AlexUnder 14.07.20 14:27 Сейчас в теме
(6)
ОбластьМакета.Параметры.ВаловыйСбор = ВаловыйСбор.Итог("КоличествоОборотДт");


Который берется из результата запроса:

	ТекстЗапроса = 
	"ВЫБРАТЬ
	|	ТиповойОбороты.КоличествоОборотДт
	|ИЗ
	|	РегистрБухгалтерии.Типовой.Обороты(&НачалоПериода, &КонецПериода, Регистратор, Счет В (&Счет), , Организация = &Организация, КорСчет = &КорСчет, ) КАК ТиповойОбороты
	|ГДЕ
	|	ТиповойОбороты.Субконто1.ВидНоменклатуры В(&ВидНоменклатуры)
	|	И ТиповойОбороты.Регистратор.Ссылка ССЫЛКА Документ.схПриемЗернаВесовщиком";
	
	Запрос = Новый Запрос(ТекстЗапроса);
	
	Запрос.УстановитьПараметр("ВидНоменклатуры", Отчет.СписокНоменклатуры);
	Запрос.УстановитьПараметр("Организация", Отчет.Организация);
	Запрос.УстановитьПараметр("НачалоПериода", НачалоДня(Отчет.НачалоПериода));
	Запрос.УстановитьПараметр("КонецПериода", КонецДня(Отчет.КонецПериода));
	Запрос.УстановитьПараметр("Счет", СчетаЗапасов);
	Запрос.УстановитьПараметр("КорСчет", ПланыСчетов.Типовой.Растениеводство);
	
	ВаловыйСбор = Новый ТаблицаЗначений;
	ВаловыйСбор = Запрос.Выполнить().Выгрузить()
Показать
9. platon_ 10 14.07.20 14:33 Сейчас в теме
(8) а зачем вы в параметр расшифровки записываете число? по вашему коду там должна быть структура:
Субконто1
КорСчет
Счет
Организация
ДатаНачала
ДатаКонца
7. andy_zhav 197 14.07.20 14:14 Сейчас в теме
Такое ощущение что процедура обработки расшифровки не срабатывает. Вы точно назначили эту процедуру для обработчика табличного документа? Если отладка туда не попадает, то мне кажется что вы забыли это сделать.
Прикрепленные файлы:
10. AlexUnder 14.07.20 14:38 Сейчас в теме
(7)Все так! Вы правы!

Осталось разобраться с исполнением, т.к. на клиенте выходит ошибка:

{ВнешнийОтчет.ДвижениеЗерна.Форма.ФормаУпр.Форма(677,28)}: Переменная не определена (Отчеты)
ФормаРасшифровка = <<?>>Отчеты.ОтчетПоПроводкамТиповой.ПолучитьФорму(,, Новый УникальныйИдентификатор); (Проверка: Тонкий клиент)

Спасибо Вам огромное!
11. andy_zhav 197 14.07.20 14:44 Сейчас в теме
(10) На клиенте не получится получить форму.

Нужно использовать "ОткрытьФорму"
Код
ПараметрыФормы = Новый Структура(Структура с параметрами формы);
ОткрытьФорму("Отчет.ОтчетПоПроводкам.Форма.Форма", ПараметрыФормы, ЭтаФорма);
Показать полностью
12. AlexUnder 14.07.20 14:58 Сейчас в теме
(11)Ушел курить маны) Еще раз спасибо!
13. andy_zhav 197 14.07.20 15:01 Сейчас в теме
Я бы сделал так:

&НаКлиенте
Процедура ПолеТабличногоДокументаОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
    
           СтандартнаяОбработка = ложь;
           	ОткрытьФорму("Отчет.ОтчетПоПроводкам.Форма.Форма",Расшифровка,ЭтаФорма,,,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
Конецпроцедуры


А в форме ОтчетПоПроводкамТиповой при создании на сервере:
      
Расшифровка = Параметры;
  РежимРасшифровки = Истина;
        Если Расшифровка.ВидРасшифровки = "ВаловыйСбор" тогда
            
            Поле            = "СубконтоДт1.ВидНоменклатуры";
            Поле             = Новый ПолеКомпоновкиДанных(Поле);
            Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
            ВидСрав         = ВидСравненияКомпоновкиДанных.ВСписке;
            Значение        = Расшифровка.Субконто1;
            Использование    = Истина;
            
            НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
            НовыйЭлемент.Использование  = Использование;
            НовыйЭлемент.ЛевоеЗначение  = Поле;
            НовыйЭлемент.ВидСравнения   = ВидСрав;
            НовыйЭлемент.ПравоеЗначение = Значение;
            
            Поле            = "КорСчет";
            Поле             = Новый ПолеКомпоновкиДанных(Поле);
            Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
            ВидСрав         = ВидСравненияКомпоновкиДанных.Равно;
            Значение        = Расшифровка.КорСчет;
            Использование    = Истина;
            
            НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
            НовыйЭлемент.Использование  = Использование;
            НовыйЭлемент.ЛевоеЗначение  = Поле;
            НовыйЭлемент.ВидСравнения   = ВидСрав;
            НовыйЭлемент.ПравоеЗначение = Значение;
            
            
            Поле            = "Счет";
            Поле             = Новый ПолеКомпоновкиДанных(Поле);
            Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
            ВидСрав         = ВидСравненияКомпоновкиДанных.ВСписке;
            Значение        = Расшифровка.Счет;
            Использование    = Истина;
            
            НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
            НовыйЭлемент.Использование  = Использование;
            НовыйЭлемент.ЛевоеЗначение  = Поле;
            НовыйЭлемент.ВидСравнения   = ВидСрав;
            НовыйЭлемент.ПравоеЗначение = Значение;
            
            Поле            = "Организация";
            Поле             = Новый ПолеКомпоновкиДанных(Поле);
            Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
            ВидСрав         = ВидСравненияКомпоновкиДанных.Равно;
            Значение        = Расшифровка.Организация;
            Использование    = Истина;
            
            НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
            НовыйЭлемент.Использование  = Использование;
            НовыйЭлемент.ЛевоеЗначение  = Поле;
            НовыйЭлемент.ВидСравнения   = ВидСрав;
            НовыйЭлемент.ПравоеЗначение = Значение;
            
            
        ИначеЕсли     Расшифровка.ВидРасшифровки = "ЗасыпкаСемян" тогда
            
            Поле            = "СубконтоКт1.ВидНоменклатуры";
            Поле             = Новый ПолеКомпоновкиДанных(Поле);
            Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
            ВидСрав         = ВидСравненияКомпоновкиДанных.ВСписке;
            Значение        = Расшифровка.Субконто1;
            Использование    = Истина;
            
            НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
            НовыйЭлемент.Использование  = Использование;
            НовыйЭлемент.ЛевоеЗначение  = Поле;
            НовыйЭлемент.ВидСравнения   = ВидСрав;
            НовыйЭлемент.ПравоеЗначение = Значение;
            
            Поле            = "КорСчет";
            Поле             = Новый ПолеКомпоновкиДанных(Поле);
            Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
            ВидСрав         = ВидСравненияКомпоновкиДанных.Равно;
            Значение        = Расшифровка.КорСчет;
            Использование    = Истина;
            
            НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
            НовыйЭлемент.Использование  = Использование;
            НовыйЭлемент.ЛевоеЗначение  = Поле;
            НовыйЭлемент.ВидСравнения   = ВидСрав;
            НовыйЭлемент.ПравоеЗначение = Значение;
            
            
            Поле            = "Счет";
            Поле             = Новый ПолеКомпоновкиДанных(Поле);
            Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
            ВидСрав         = ВидСравненияКомпоновкиДанных.ВСписке;
            Значение        = Расшифровка.Счет;
            Использование    = Истина;
            
            НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
            НовыйЭлемент.Использование  = Использование;
            НовыйЭлемент.ЛевоеЗначение  = Поле;
            НовыйЭлемент.ВидСравнения   = ВидСрав;
            НовыйЭлемент.ПравоеЗначение = Значение;
            
            Поле            = "Организация";
            Поле             = Новый ПолеКомпоновкиДанных(Поле);
            Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
            ВидСрав         = ВидСравненияКомпоновкиДанных.Равно;
            Значение        = Расшифровка.Организация;
            Использование    = Истина;
            
            НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
            НовыйЭлемент.Использование  = Использование;
            НовыйЭлемент.ЛевоеЗначение  = Поле;
            НовыйЭлемент.ВидСравнения   = ВидСрав;
            НовыйЭлемент.ПравоеЗначение = Значение;
            
        ИначеЕсли Расшифровка.ВидРасшифровки = "ПокупноеЗерно" тогда
            
            Поле            = "СубконтоДт1.ВидНоменклатуры";
            Поле             = Новый ПолеКомпоновкиДанных(Поле);
            Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
            ВидСрав         = ВидСравненияКомпоновкиДанных.ВСписке;
            Значение        = Расшифровка.Субконто1;
            Использование    = Истина;
            
            НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
            НовыйЭлемент.Использование  = Использование;
            НовыйЭлемент.ЛевоеЗначение  = Поле;
            НовыйЭлемент.ВидСравнения   = ВидСрав;
            НовыйЭлемент.ПравоеЗначение = Значение;
            
            Поле            = "КорСчет";
            Поле             = Новый ПолеКомпоновкиДанных(Поле);
            Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
            ВидСрав         = ВидСравненияКомпоновкиДанных.ВСписке;
            Значение        = Расшифровка.СчетаПоставщик;
            Использование    = Истина;
            
            НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
            НовыйЭлемент.Использование  = Использование;
            НовыйЭлемент.ЛевоеЗначение  = Поле;
            НовыйЭлемент.ВидСравнения   = ВидСрав;
            НовыйЭлемент.ПравоеЗначение = Значение;
            
            
            Поле            = "Счет";
            Поле             = Новый ПолеКомпоновкиДанных(Поле);
            Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
            ВидСрав         = ВидСравненияКомпоновкиДанных.ВСписке;
            Значение        = Расшифровка.Счет;
            Использование    = Истина;
            
            НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
            НовыйЭлемент.Использование  = Использование;
            НовыйЭлемент.ЛевоеЗначение  = Поле;
            НовыйЭлемент.ВидСравнения   = ВидСрав;
            НовыйЭлемент.ПравоеЗначение = Значение;
            
            Поле            = "Организация";
            Поле             = Новый ПолеКомпоновкиДанных(Поле);
            Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
            ВидСрав         = ВидСравненияКомпоновкиДанных.Равно;
            Значение        = Расшифровка.Организация;
            Использование    = Истина;
            
            НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
            НовыйЭлемент.Использование  = Использование;
            НовыйЭлемент.ЛевоеЗначение  = Поле;
            НовыйЭлемент.ВидСравнения   = ВидСрав;
            НовыйЭлемент.ПравоеЗначение = Значение;
            
        ИначеЕсли     Расшифровка.ВидРасшифровки = "Переработка" тогда
            
            Поле            = "СубконтоКт1.ВидНоменклатуры";
            Поле             = Новый ПолеКомпоновкиДанных(Поле);
            Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
            ВидСрав         = ВидСравненияКомпоновкиДанных.ВСписке;
            Значение        = Расшифровка.Субконто1;
            Использование    = Истина;
            
            НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
            НовыйЭлемент.Использование  = Использование;
            НовыйЭлемент.ЛевоеЗначение  = Поле;
            НовыйЭлемент.ВидСравнения   = ВидСрав;
            НовыйЭлемент.ПравоеЗначение = Значение;
            
            Поле            = "КорСчет";
            Поле             = Новый ПолеКомпоновкиДанных(Поле);
            Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
            ВидСрав         = ВидСравненияКомпоновкиДанных.Равно;
            Значение        = Расшифровка.КорСчет;
            Использование    = Истина;
            
            НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
            НовыйЭлемент.Использование  = Использование;
            НовыйЭлемент.ЛевоеЗначение  = Поле;
            НовыйЭлемент.ВидСравнения   = ВидСрав;
            НовыйЭлемент.ПравоеЗначение = Значение;
            
            
            Поле            = "Счет";
            Поле             = Новый ПолеКомпоновкиДанных(Поле);
            Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
            ВидСрав         = ВидСравненияКомпоновкиДанных.ВСписке;
            Значение        = Расшифровка.Счет;
            Использование    = Истина;
            
            НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
            НовыйЭлемент.Использование  = Использование;
            НовыйЭлемент.ЛевоеЗначение  = Поле;
            НовыйЭлемент.ВидСравнения   = ВидСрав;
            НовыйЭлемент.ПравоеЗначение = Значение;
            
            Поле            = "Организация";
            Поле             = Новый ПолеКомпоновкиДанных(Поле);
            Отбор            = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
            ВидСрав         = ВидСравненияКомпоновкиДанных.Равно;
            Значение        = Расшифровка.Организация;
            Использование    = Истина;
            
            НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
            НовыйЭлемент.Использование  = Использование;
            НовыйЭлемент.ЛевоеЗначение  = Поле;
            НовыйЭлемент.ВидСравнения   = ВидСрав;
            НовыйЭлемент.ПравоеЗначение = Значение;
    
            
        КонецЕсли;


        ФормаРасшифровка.ПРедставлениеСпискаОрганизаций =  Строка(Расшифровка.Организация);
        ФормаРасшифровка.ПРедставлениеСпискаПодразделений =  Строка(Расшифровка.Организация);
        ФормаРасшифровка.НачалоПериода     = Расшифровка.ДатаНачала;
        ФормаРасшифровка.КонецПериода      = Расшифровка.ДатаКонца;
        ФормаРасшифровка.Настроить();
       
        Для Каждого ЭлементСтруктуры Из ФормаРасшифровка.ДанныеОтчета.ПоказателиОтчета Цикл
            ЭлементСтруктуры.Значение.Значение = Ложь;
        КонецЦикла;
       
        ДанныеОтчета.ПоказателиОтчета.Количество.Значение    = Истина;
        ОбновитьОтчет();
Показать
14. AlexUnder 14.07.20 15:09 Сейчас в теме
(13)Дело в том, что конфигурация на поддержке, снимать не вариант...
Я делал так:
ФормаРасшифровка = Новый Структура(,, Новый УникальныйИдентификатор);
ФормаРасшифровка.РежимРасшифровки = Истина;

Если Расшифровка.ВидРасшифровки = "ВаловыйСбор" тогда

Поле = "СубконтоДт1.ВидНоменклатуры";
Поле = Новый ПолеКомпоновкиДанных(Поле);
Отбор = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
ВидСрав = ВидСравненияКомпоновкиДанных.ВСписке;
Значение = Расшифровка.Субконто1;
Использование = Истина;

НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлемент.Использование = Использование;
НовыйЭлемент.ЛевоеЗначение = Поле;
НовыйЭлемент.ВидСравнения = ВидСрав;
НовыйЭлемент.ПравоеЗначение = Значение;

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

НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлемент.Использование = Использование;
НовыйЭлемент.ЛевоеЗначение = Поле;
НовыйЭлемент.ВидСравнения = ВидСрав;
НовыйЭлемент.ПравоеЗначение = Значение;


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

НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлемент.Использование = Использование;
НовыйЭлемент.ЛевоеЗначение = Поле;
НовыйЭлемент.ВидСравнения = ВидСрав;
НовыйЭлемент.ПравоеЗначение = Значение;

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

НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлемент.Использование = Использование;
НовыйЭлемент.ЛевоеЗначение = Поле;
НовыйЭлемент.ВидСравнения = ВидСрав;
НовыйЭлемент.ПравоеЗначение = Значение;


ИначеЕсли Расшифровка.ВидРасшифровки = "ЗасыпкаСемян" тогда

Поле = "СубконтоКт1.ВидНоменклатуры";
Поле = Новый ПолеКомпоновкиДанных(Поле);
Отбор = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
ВидСрав = ВидСравненияКомпоновкиДанных.ВСписке;
Значение = Расшифровка.Субконто1;
Использование = Истина;

НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлемент.Использование = Использование;
НовыйЭлемент.ЛевоеЗначение = Поле;
НовыйЭлемент.ВидСравнения = ВидСрав;
НовыйЭлемент.ПравоеЗначение = Значение;

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

НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлемент.Использование = Использование;
НовыйЭлемент.ЛевоеЗначение = Поле;
НовыйЭлемент.ВидСравнения = ВидСрав;
НовыйЭлемент.ПравоеЗначение = Значение;


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

НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлемент.Использование = Использование;
НовыйЭлемент.ЛевоеЗначение = Поле;
НовыйЭлемент.ВидСравнения = ВидСрав;
НовыйЭлемент.ПравоеЗначение = Значение;

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

НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлемент.Использование = Использование;
НовыйЭлемент.ЛевоеЗначение = Поле;
НовыйЭлемент.ВидСравнения = ВидСрав;
НовыйЭлемент.ПравоеЗначение = Значение;

ИначеЕсли Расшифровка.ВидРасшифровки = "ПокупноеЗерно" тогда

Поле = "СубконтоДт1.ВидНоменклатуры";
Поле = Новый ПолеКомпоновкиДанных(Поле);
Отбор = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
ВидСрав = ВидСравненияКомпоновкиДанных.ВСписке;
Значение = Расшифровка.Субконто1;
Использование = Истина;

НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлемент.Использование = Использование;
НовыйЭлемент.ЛевоеЗначение = Поле;
НовыйЭлемент.ВидСравнения = ВидСрав;
НовыйЭлемент.ПравоеЗначение = Значение;

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

НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлемент.Использование = Использование;
НовыйЭлемент.ЛевоеЗначение = Поле;
НовыйЭлемент.ВидСравнения = ВидСрав;
НовыйЭлемент.ПравоеЗначение = Значение;


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

НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлемент.Использование = Использование;
НовыйЭлемент.ЛевоеЗначение = Поле;
НовыйЭлемент.ВидСравнения = ВидСрав;
НовыйЭлемент.ПравоеЗначение = Значение;

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

НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлемент.Использование = Использование;
НовыйЭлемент.ЛевоеЗначение = Поле;
НовыйЭлемент.ВидСравнения = ВидСрав;
НовыйЭлемент.ПравоеЗначение = Значение;

ИначеЕсли Расшифровка.ВидРасшифровки = "Переработка" тогда

Поле = "СубконтоКт1.ВидНоменклатуры";
Поле = Новый ПолеКомпоновкиДанных(Поле);
Отбор = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
ВидСрав = ВидСравненияКомпоновкиДанных.ВСписке;
Значение = Расшифровка.Субконто1;
Использование = Истина;

НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлемент.Использование = Использование;
НовыйЭлемент.ЛевоеЗначение = Поле;
НовыйЭлемент.ВидСравнения = ВидСрав;
НовыйЭлемент.ПравоеЗначение = Значение;

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

НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлемент.Использование = Использование;
НовыйЭлемент.ЛевоеЗначение = Поле;
НовыйЭлемент.ВидСравнения = ВидСрав;
НовыйЭлемент.ПравоеЗначение = Значение;


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

НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлемент.Использование = Использование;
НовыйЭлемент.ЛевоеЗначение = Поле;
НовыйЭлемент.ВидСравнения = ВидСрав;
НовыйЭлемент.ПравоеЗначение = Значение;

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

НовыйЭлемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлемент.Использование = Использование;
НовыйЭлемент.ЛевоеЗначение = Поле;
НовыйЭлемент.ВидСравнения = ВидСрав;
НовыйЭлемент.ПравоеЗначение = Значение;


КонецЕсли;


ФормаРасшифровка.ПРедставлениеСпискаОрганизаций = Строка(Расшифровка.Организация);
ФормаРасшифровка.ПРедставлениеСпискаПодразделений = Строка(Расшифровка.Организация);
ФормаРасшифровка.НачалоПериода = Расшифровка.ДатаНачала;
ФормаРасшифровка.КонецПериода = Расшифровка.ДатаКонца;
ФормаРасшифровка.Настроить();

Для Каждого ЭлементСтруктуры Из ФормаРасшифровка.ДанныеОтчета.ПоказателиОтчета Цикл
ЭлементСтруктуры.Значение.Значение = Ложь;
КонецЦикла;

ФормаРасшифровка.ДанныеОтчета.ПоказателиОтчета.Количество.Значение = Истина;
//ФормаРасшифровка.Открыть();
ОткрытьФорму("Отчет.ОтчетПоПроводкам.Форма.Форма", ФормаРасшифровка, ЭтаФорма);
15. andy_zhav 197 14.07.20 15:18 Сейчас в теме
(14) вот тут ругнется
ФормаРасшифровка.РежимРасшифровки = Истина;

И вот тут

ФормаРасшифровка.ПРедставлениеСпискаОрганизаций = Строка(Расшифровка.Организация);
ФормаРасшифровка.ПРедставлениеСпискаПодразделений = Строка(Расшифровка.Организация);
ФормаРасшифровка.НачалоПериода = Расшифровка.ДатаНачала;
ФормаРасшифровка.КонецПериода = Расшифровка.ДатаКонца;
ФормаРасшифровка.Настроить();

ну и вот тут
Отбор = ФормаРасшифровка.КомпоновщикНастроек.Настройки.Отбор;
16. andy_zhav 197 14.07.20 15:19 Сейчас в теме
Можно же в расширении изменить форму. Вместо или Перед процедурой ПриСозданииНаСервере
17. andy_zhav 197 14.07.20 15:20 Сейчас в теме
Простой заменой ПолучитьФорму на НОвый Структура не обойтись. Нужно глубже копнуть
18. AlexUnder 15.07.20 07:58 Сейчас в теме
(17)Понял, буду пробовать! Спасибо!
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)