Имя: Пароль:
1C
1С v8
СКД, расшифровка
,
0 Tyest
 
18.07.12
10:33
8.2, толстый клиент.
Есть отчет на СКД.
В качестве расшифровки запускается новый экземпляр этого же отчета, в компоновщик передаются нужные настройки (дата, отборы), результат выходит правильный.
Но в табличном поле ТабличноеПолеОтбор параметры отбора остаются пустыми. Т.е. на самом деле они заполнились, и отчет сформировался, и остается просто правильно отобразить параметры отбора.

Фрагмент кода:

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

Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы[0].ВидСравнения=Настройки.Отбор.Элементы[0].ВидСравнения;
Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы[0].ПравоеЗначение=Настройки.Отбор.Элементы[0].ПравоеЗначение;
Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы[0].Использование=Настройки.Отбор.Элементы[0].Использование;

Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы[1].ВидСравнения=Настройки.Отбор.Элементы[1].ВидСравнения;
Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы[1].ПравоеЗначение=Настройки.Отбор.Элементы[1].ПравоеЗначение;
Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы[1].Использование=Настройки.Отбор.Элементы[1].Использование;

Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("НачалоПериода", Дата1);
Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("КонецПериода", Дата2);
Отчет.СкомпоноватьРезультат(Форма.ЭлементыФормы.Результат);

//// Вот здесь наверное надо написать что-то наподобие Форма.Обновить, или еще что-то ...
//Форма.ЭлементыФормы.ТабличноеПолеОтбор.ОбновитьСтроки();
//Форма.Обновить();

Форма.Открыть();
1 Tyest
 
18.07.12
10:34
Форма.Обновить() - не помогает
Форма.ЭлементыФормы.ТабличноеПолеОтбор.ОбновитьСтроки(); - тоже не помогает
2 Tyest
 
18.07.12
10:43
Поясню немного по-другому.

На форме отчета есть табличное поле с параметрами отбора СКД.
Мне нужно, чтобы при открытии этой формы извне в этом табличном поле отображались актуальные параметры отбора.
3 Tyest
 
18.07.12
11:27
Ну ладно. Ответьте хотя бы: мои вопросы слишком детские, и потому истинному 1С-нику впадлу отвечать на них, или же мои вопросы - это передний край развития технологий, и потому современная наука не вполне себе представляет ответы на на них?
4 palpetrovich
 
18.07.12
11:30
а где у тебя в коде про "ТабличноеПолеОтбор"?
5 Tyest
 
18.07.12
11:32
(4) Форма.ЭлементыФормы.ТабличноеПолеОтбор.ОбновитьСтроки();
6 sanja26
 
18.07.12
11:34
ТабличноеПолеОтбор наверное пользовательские настройки
7 palpetrovich
 
18.07.12
11:38
(5) мне кажется, что кроме передачи настроек в КомпоновщикНастроек, надо их еще и в ТабличноеПолеОтбор передавать ...хотя конечно могу ошибаться, не проверял
8 Tyest
 
18.07.12
11:40
Посмотрел в отладчике содержимое Форма.ЭлементыФормы.ТабличноеПолеОтбор.Значение.Элементы - там все заполнено. А на форме - пусто.
9 sanja26
 
18.07.12
11:41
(8) посмотри какие данные у элемента формы ТабличноеПолеОтбор
10 palpetrovich
 
18.07.12
11:41
(8) хз, но у тебя-же два экземпляра одинаковых форм получается, может здесь трабл?
11 Tyest
 
18.07.12
11:44
(10) Возможно. Сейчас заметил - если еще раз нажать "сформировать", то выходит совсем другой вариант отчета. Скорее всего, настройки СКД не до конца заполняются.
12 Tyest
 
18.07.12
14:43
Вот я балбес.
Кнопочка "Сохранить значения" - стояли флажки "Сохранять автоматически" и "Использовать при открытии".
Убрал и все заработало. Спасибо всем, кто помогал.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn