![]() |
![]() |
![]() |
|
Не устанавливается параметр в макете компоновки данных | ☑ | ||
---|---|---|---|---|
0
Xsenin
27.02.13
✎
11:51
|
УТ 11 Документ "УстановкаЦен"
ИСпользуется Вид Цены заполняемый по данным ИБ По Макету СКД "СебестоимостьИПроцентИнтеркампаниПредопределенный" ФормаДокумента.Процедура "ВычислитьЗначенияЦеныПоДаннымИБ" Устанавливается Параметр СКД "ДатаДокумента" Так вот: В варианте от 1С не работает,хотя отладчик показывает, что параметр установлен, в моем варианте работает. Может кто подскажет с чем это связано. // Подготовка компоновщика макета компоновки данных, загрузка настроек КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных; КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); Если НастройкиКомпоновкиДанных <> Неопределено Тогда КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиКомпоновкиДанных); КомпоновщикНастроек.Восстановить(СпособВосстановленияНастроекКомпоновкиДанных.ПроверятьДоступность); Иначе Если ЗначениеЗаполнено(СтрокаВидЦены.АдресНастроекСхемыКомпоновкиДанных) Тогда НастройкиИзВидаЦены = ПолучитьИзВременногоХранилища(СтрокаВидЦены.АдресНастроекСхемыКомпоновкиДанных); КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиИзВидаЦены); КомпоновщикНастроек.Восстановить(СпособВосстановленияНастроекКомпоновкиДанных.ПроверятьДоступность); Иначе КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию); КонецЕсли; КонецЕсли; // Заполнение структуры отчета и выбранных полей. КомпоновщикНастроек.Настройки.Структура.Очистить(); ГруппировкаДетальныеЗаписи = КомпоновщикНастроек.Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")); ГруппировкаДетальныеЗаписи.Использование = Истина; КомпоновщикНастроек.Настройки.Выбор.Элементы.Очистить(); ДобавитьВыбранноеПолеСКД(ГруппировкаДетальныеЗаписи, "Номенклатура"); Если ИспользоватьХарактеристикиНоменклатуры Тогда ДобавитьВыбранноеПолеСКД(ГруппировкаДетальныеЗаписи, "Характеристика"); КонецЕсли; Если ИспользоватьУпаковкиНоменклатуры Тогда ДобавитьВыбранноеПолеСКД(ГруппировкаДетальныеЗаписи, "Упаковка"); ДобавитьВыбранноеПолеСКД(ГруппировкаДетальныеЗаписи, "Коэффициент"); КонецЕсли; ДобавитьВыбранноеПолеСКД(ГруппировкаДетальныеЗаписи, "Цена"); ДобавитьВыбранноеПолеСКД(ГруппировкаДетальныеЗаписи, "Валюта"); // Компоновка макета и исполнение запроса. КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; СегментыСервер.ВключитьОтборПоСегментуНоменклатурыВСКД(КомпоновщикНастроек); МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки(), , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"), Ложь); Параметр = МакетКомпоновки.ЗначенияПараметров.Найти("Основание"); Если Параметр <> Неопределено Тогда Параметр.Значение = Объект.ДокументОснование; КонецЕсли; Параметр = МакетКомпоновки.ЗначенияПараметров.Найти("ДатаДокумента"); Если Параметр <> Неопределено Тогда Параметр.Значение = ДатаДляЗапросаЦенНоменклатуры(); КонецЕсли; |
|||
1
Xsenin
27.02.13
✎
12:20
|
Я тут новичок, не знал что нельзя пост отредактировать.
Используется Параметр "Дата Документ" по нему получается срез последних по регистру сведений. В Варианте от 1С получаются данные на текущую дата. хотя в отладчике видно что параметр в макете установлен на нужную дату. В моем варианте все работает. // Подготовка компоновщика макета компоновки данных, загрузка настроек КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных; КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); Если НастройкиКомпоновкиДанных <> Неопределено Тогда КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиКомпоновкиДанных); КомпоновщикНастроек.Восстановить(СпособВосстановленияНастроекКомпоновкиДанных.ПроверятьДоступность); Иначе Если ЗначениеЗаполнено(СтрокаВидЦены.АдресНастроекСхемыКомпоновкиДанных) Тогда НастройкиИзВидаЦены = ПолучитьИзВременногоХранилища(СтрокаВидЦены.АдресНастроекСхемыКомпоновкиДанных); КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиИзВидаЦены); КомпоновщикНастроек.Восстановить(СпособВосстановленияНастроекКомпоновкиДанных.ПроверятьДоступность); Иначе КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию); КонецЕсли; КонецЕсли; // Заполнение структуры отчета и выбранных полей. КомпоновщикНастроек.Настройки.Структура.Очистить(); ГруппировкаДетальныеЗаписи = КомпоновщикНастроек.Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных")); ГруппировкаДетальныеЗаписи.Использование = Истина; КомпоновщикНастроек.Настройки.Выбор.Элементы.Очистить(); ДобавитьВыбранноеПолеСКД(ГруппировкаДетальныеЗаписи, "Номенклатура"); Если ИспользоватьХарактеристикиНоменклатуры Тогда ДобавитьВыбранноеПолеСКД(ГруппировкаДетальныеЗаписи, "Характеристика"); КонецЕсли; Если ИспользоватьУпаковкиНоменклатуры Тогда ДобавитьВыбранноеПолеСКД(ГруппировкаДетальныеЗаписи, "Упаковка"); ДобавитьВыбранноеПолеСКД(ГруппировкаДетальныеЗаписи, "Коэффициент"); КонецЕсли; ДобавитьВыбранноеПолеСКД(ГруппировкаДетальныеЗаписи, "Цена"); ДобавитьВыбранноеПолеСКД(ГруппировкаДетальныеЗаписи, "Валюта"); //!!!!!!!!!!!!!!!МОЙ ВАРИАНТ. РАБОТАЕТ!!!!!!!!! Параметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.Найти("ДатаДокумента"); Если Параметр <> Неопределено Тогда Параметр.Значение = ДатаДляЗапросаЦенНоменклатуры(); КонецЕсли; //!!!!!!!!!!!!!!!!!!!!!!!! // Компоновка макета и исполнение запроса. КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; СегментыСервер.ВключитьОтборПоСегментуНоменклатурыВСКД(КомпоновщикНастроек); МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки(), , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"), Ложь); Параметр = МакетКомпоновки.ЗначенияПараметров.Найти("Основание"); Если Параметр <> Неопределено Тогда Параметр.Значение = Объект.ДокументОснование; КонецЕсли; ///!!!!!!!!!!!!!!!ВАРИАНТ 1С.ВОТ ТАК НЕ РАБОТАЕТ!!!!!!!!! Параметр = МакетКомпоновки.ЗначенияПараметров.Найти("ДатаДокумента"); Если Параметр <> Неопределено Тогда Параметр.Значение = ДатаДляЗапросаЦенНоменклатуры(); КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |