Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

УФ Отчеты Проблема с изменением варианта отчета

УФ Отчеты Проблема с изменением варианта отчета
Я
   Krolik Bezobraznik
 
15.06.20 - 15:01
Добрый день, есть отчет. В СКД в качестве набора данных используется объект, в который в обработчике ПриКомпоновкеРезультата  в модуле объекта отчета я передаю некую ТЗ. В СКД я задаю параметры сортировки. Сортировка работает, но если я изменяю вариант отчета, а именно укажу иное поле сортировки, то сортируется все равно по тому полю, которое указано через конфигуратор, кто сталкивался, подскажите где искать проблему.
   Franchiser
 
1 - 15.06.20 - 15:19
Какой код?
ПолучитьНастройки() в коде используешь?
   Krolik Bezobraznik
 
2 - 15.06.20 - 15:29
(1)  СтандартнаяОбработка = Ложь;
    СхемаСКД = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    КомпановщикМакетаКД = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКД = КомпановщикМакетаКД.Выполнить(СхемаСКД, СхемаСКД.НастройкиПоУмолчанию);
    
    Если Склад.Пустая() Тогда
        ВызватьИсключение("Необходимо выбрать склад ГП");
        
    КонецЕсли;
    
    Если ДатаФормирования = Дата(1,1,1,1,1,1) Тогда
        ВызватьИсключение("Укажите дату остатков");
    КонецЕсли;
    
    Если НачалоДня(ДатаФормирования) = НачалоДня(ТекущаяДата()) Тогда
        ДатаДляСреза = ТекущаяДата();
        СтокНаСкладе = ТекущийСтокСклада();
    Иначе
        ДатаДляСреза = КонецДня(ДатаФормирования) - 299;
        СтокНаСкладе = СтокСклада();
    КонецЕсли;
    
    Запрос=новый Запрос;
    Запрос.Текст="ВЫБРАТЬ
                 |    ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
                 |    ТоварыНаСкладахОстатки.КоличествоОстаток,
                 |    ТоварыНаСкладахОстатки.КоличествоОстаток * ТоварыНаСкладахОстатки.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент КАК КоличествоМинимальноеПо1С
                 |ПОМЕСТИТЬ Врем1С
                 |ИЗ
                 |    РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаОстатков, ) КАК ТоварыНаСкладахОстатки
                 |ГДЕ
                 |    ТоварыНаСкладахОстатки.Склад = &Склад
                 |;
                 |
                 ////////////////////////////////////////////////////////////////////////////////

                 |ВЫБРАТЬ
                 |    ВЫРАЗИТЬ(ОстаткиПоWMS.КоличествоВМинЕдиницахИзмерения КАК ЧИСЛО(10, 0)) КАК КоличествоПоWMS,
                 |    ОстаткиПоWMS.Номенклатура
                 |ПОМЕСТИТЬ ВремWMS
                 |ИЗ
                 |    &ОстаткиПоWMS КАК ОстаткиПоWMS
                 |;
                 |
                 ////////////////////////////////////////////////////////////////////////////////

                 |ВЫБРАТЬ
                 |    ЕСТЬNULL(ВремWMS.КоличествоПоWMS, 0) КАК КоличествоПоWMS,
                 |    ЕСТЬNULL(Врем1С.Номенклатура, ВремWMS.Номенклатура) КАК Номенклатура,
                 |    ЕСТЬNULL(Врем1С.КоличествоМинимальноеПо1С, 0) КАК КоличествоПо1С
                 |ИЗ
                 |    Врем1С КАК Врем1С
                 |        ПОЛНОЕ СОЕДИНЕНИЕ ВремWMS КАК ВремWMS
                 |        ПО Врем1С.Номенклатура = ВремWMS.Номенклатура";

    Запрос.УстановитьПараметр("ОстаткиПоWMS",СтокНаСкладе);
    Запрос.УстановитьПараметр("ДатаОстатков", КонецДня(ДатаФормирования));
    
    Запрос.УстановитьПараметр("Склад", Склад);
    
    ТТТ = Запрос.Выполнить().Выгрузить();    
    
    ВнешниеНаборыДанных = новый Структура("СводныеДанные", ТТТ);
    
    ПроцессорКД = новый ПроцессорКомпоновкиДанных;
    ПроцессорКД.Инициализировать(МакетКД, ВнешниеНаборыДанных );
    
    ПроцессорВывода = новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКД, истина);
   Franchiser
 
3 - 15.06.20 - 15:33
(2) Все неправильно.
Есть уже объект компоновщик настроек, зачем его переопределять? Нужно выполнить ПолучитьНастройки(), в этом случае пользовательские настройки наложаться на настройки из схемы и эти объединенные настройки уже можешь применять.
   Krolik Bezobraznik
 
4 - 15.06.20 - 15:38
(3) Вы имеете ввиду конструктор новый КомпоновщикМакетаКомпоновкиДанных?
   Franchiser
 
5 - 15.06.20 - 15:38
МакетКД = КомпановщикМакетаКД.Выполнить(СхемаСКД, КомпоновщикНастроек.ПолучитьНастройки());
   Franchiser
 
6 - 15.06.20 - 15:42
(4) имею в виду в твоем коде нигде пользовательские настройки не учитываются никак
   Krolik Bezobraznik
 
7 - 15.06.20 - 15:44
(6) Я тебя понял, спасибо добрый человек. Сейчас поправлю код.
   Krolik Bezobraznik
 
8 - 15.06.20 - 15:49
(6) Твоя правда. Плюс тебе в карму. Спасибо.
   Krolik Bezobraznik
 
9 - 15.06.20 - 15:49
Закройте пожалуйста

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.