|
|
Обработка расшифровки для присоединяемых областей |
☑ |
|
0
Elena Komnina
26.12.15
✎
00:56
|
Есть отчет с произвольным макетом: про строкам выводятся подразделения, в колонках месяца, на пересечение сумма продажи. Не получается реализовать обработку расшифровки (нужно расшифровать по документам).
При присоединении колонки для ячейки прописываю параметр расшифровки в следующем виде:
СтруктураРасшифровки = Новый Структура;
СтруктураРасшифровки.Вставить("Подразделение",
ТекущееПодразделение);
СтруктураРасшифровки.Вставить("НачалоПериода", ДатаНач);
В процедуре обработки расшифровки для табличного поля прописываю следующий текст:
Если ТипЗнч(Расшифровка) = Тип("Структура") Тогда
СтандартнаяОбработка = Ложь;
ДатаРасшифровки = Расшифровка.НачалоПериода;
КонецЕсли;
Но при обработке расшифровки получаю последнее установленное значение параметра. Например, при формировании отчета за январь-февраль при попытке расшифровать ячейку января ДатаРасшифровки равна не январю, а февралю.
|
|
|
1
Nuobu
26.12.15
✎
01:05
|
(0) СтруктураРасшифровки.Вставить("НачалоПериода", ДатаНач);
СтруктураРасшифровки.Вставить("НачалоПериода", Выборка.Период);
|
|
|
2
Elena Komnina
26.12.15
✎
01:24
|
(0)На этапе заполнения все правильно: у меня ДатаНач заполняется как ВыборкаПериод.Месяц.
Отладчик показывает, что параметр заполнен нужной датой.
|
|
|
3
Nuobu
26.12.15
✎
01:33
|
(2) Тогда всё равно попробуй написать как написано в (1)
|
|
|
4
Elena Komnina
26.12.15
✎
01:34
|
Если более подробно, то заполнение идет так:
Пока ВыборкаМесяц.Следующий() цикл
обл=макет.получитьобласть("Подразделение|Месяц");
Вид = "Продажа";
обл.Параметры.Заполнить(ВыборкаМесяц);
//заполним параметр расшифровки
ЗаполнитьСтруктуруПараметров(НачалоМесяца(ВыборкаМесяц.Период), КонецМесяца(ВыборкаМесяц.Период), Вид);
обл.Параметры.Продажа = мСтруктураРасшифровки;
таб.Присоединить(обл, Выборка.Уровень());
КонецЦикла;
Процедура ЗаполнитьСтруктуруПараметров(ДатаНач, ДатаКон, Вид, СтатьяЗатрат = Неопределено);
мСтруктураРасшифровки.Очистить();
мСтруктураРасшифровки.Вставить("Подразделение", мТекущееПодразделение);
мСтруктураРасшифровки.Вставить("Вид", Вид);
мСтруктураРасшифровки.Вставить("НачалоПериода", ДатаНач);
мСтруктураРасшифровки.Вставить("КонецПериода", ДатаКон);
КонецПроцедуры
|
|
|
5
Nuobu
26.12.15
✎
01:37
|
Процедура ЗаполнитьСтруктуруПараметров(ДатаНач, ДатаКон, Вид, СтатьяЗатрат = Неопределено);
//мСтруктураРасшифровки.Очистить();
мСтруктураРасшифровки = Новый Структура();
мСтруктураРасшифровки.Вставить("Подразделение", мТекущееПодразделение);
мСтруктураРасшифровки.Вставить("Вид", Вид);
мСтруктураРасшифровки.Вставить("НачалоПериода", ДатаНач);
мСтруктураРасшифровки.Вставить("КонецПериода", ДатаКон);
КонецПроцедуры
|
|
|
6
Elena Komnina
26.12.15
✎
01:42
|
Nuobu, спасибо! Теперь все работает. И правда глупая ошибка.
|
|
|
7
Nuobu
26.12.15
✎
01:44
|
(6) В качестве благодарности, принято фото выставлять в профиле.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший