Имя: Пароль:
1C
1С v8
Дополнительные условия для Параметром СКД.
,
0 Amig0_0
 
06.07.20
16:56
Доброго времени суток, уважаемые!
Бьюсь несколько часов над проблемой:

В отчете на СКД, нужна проверка. Между ДатойНачала и ДатойОкончания &Периода, не должно быть больше года.

В процедуре >> Процедура ПриКомпоновкеРезультата(...) >> пытаюсь обработать этот момент. Но вот в чем дела. Параметры Дат приходят НЕ заполненными.  
Пробую по разному:
>> КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[0].Значение; // &Период.ДатаНачала
возвращает "01.01.0001 0:00:00"

>> Для Каждого стр из КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы Цикл
>>         Если стр.Параметр=новый Параметркомпоновкиданных("ДатаНачала") Тогда
>>             Если значениезаполнено(стр.Значение) Тогда
>>                 ДатаНачала = стр.Значение;
>> ...
возвращает "01.01.0001 0:00:00"

>> СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
>>
>> ИсточникДоступныхНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных));
>>
>> КомпановщикНастрок = Новый КомпоновщикНастроекКомпоновкиДанных;
>> КомпановщикНастрок.Инициализировать(ИсточникДоступныхНастроек);
>> КомпановщикНастрок.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
>>
>> Настройки = КомпановщикНастрок.ПолучитьНастройки();
>>
>> Настройки.ПараметрыДанных.Элементы[0].Значение;

возвращает "01.01.0001 0:00:00"

Стандартную обработку отключаю... Подскажите плиз, может кто сталкивался с подобной проблемой. Спасибо!
1 Momus
 
06.07.20
17:00
Можно попробовать так:
Период = КомпоновщикНастроек.ПолучитьНастройки().ПараметрыДанных.Элементы.Найти("Период").Значение;
2 Momus
 
06.07.20
17:03
(1) ну и сравнить потом Период.ДатаОкончания с Период.ДатаНачала. Период в скд это же стандартный период?
3 Amig0_0
 
06.07.20
19:09
(2) Да, стандартный
4 Amig0_0
 
07.07.20
08:48
(2) работает как надо!) спасибо! тема закрыта.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.