Имя: Пароль:
1C
1С v8
v8: Не сохраняет отбор в реквизит
0 DeeK
 
23.08.11
14:51
есть внешняя обработка у нее реквизит - "табдок" (тип ТЗ) и "реквизит" (тип - построитель отчета)

основная форма - "табличноеполе1" (данные - табдок), модуль:
Процедура ПриОткрытии()
   
   этотобъект.реквизит = новый построительотчета;
   этотобъект.реквизит.Текст = "ВЫБРАТЬ
                    |    СмартЗадача.Ссылка,
                    |    СмартЗадача.ПометкаУдаления,
                    |    СмартЗадача.Номер,
                    |    СмартЗадача.Дата,
                    |    СмартЗадача.Проведен,
                    |    СмартЗадача.Сценарий,
                    |    СмартЗадача.СтруктурноеПодразделение,
                    |    СмартЗадача.ОписаниеСобытия,
                    |    СмартЗадача.Описание,
                    |    СмартЗадача.КритерийВыполнения,
                    |    СмартЗадача.Комментарий,
                    |    СмартЗадача.Единица,
                    |    СмартЗадача.Вес,
                    |    СмартЗадача.План,
                    |    СмартЗадача.Факт,
                    |    СмартЗадача.ДатаВыполнения,
                    |    СмартЗадача.Приоритет,
                    |    СмартЗадача.Группа,
                    |    СмартЗадача.АвторДокумента,
                    |    СмартЗадача.АвторУтверждения,
                    |    СмартЗадача.АвторПроверки,
                    |    СмартЗадача.СтрПодразделениеОтветственного,
                    |    СмартЗадача.Утвержден,
                    |    СмартЗадача.Выполнена,
                    |    СмартЗадача.Проверена,
                    |    СмартЗадача.Напоминание,
                    |    СмартЗадача.ВремяНапоминания,
                    |    СмартЗадача.Мероприятие,
                    |    СмартЗадача.Основание,
                    |    СмартЗадача.ВидСвязи,
                    |    СмартЗадача.СтруктурноеПодразделение.ФизическоеЛицо
                    |{ВЫБРАТЬ
                    |    Ссылка.*,
                    |    ПометкаУдаления,
                    |    Номер,
                    |    Дата,
                    |    Проведен,
                    |    Сценарий.*,
                    |    СтруктурноеПодразделение.*,
                    |    ОписаниеСобытия,
                    |    Описание,
                    |    КритерийВыполнения,
                    |    Комментарий,
                    |    Единица.*,
                    |    Вес,
                    |    План,
                    |    Факт,
                    |    ДатаВыполнения,
                    |    Приоритет.*,
                    |    Группа.*,
                    |    АвторДокумента.*,
                    |    АвторУтверждения.*,
                    |    АвторПроверки.*,
                    |    СтрПодразделениеОтветственного.*,
                    |    Утвержден,
                    |    Выполнена,
                    |    Проверена,
                    |    Напоминание,
                    |    ВремяНапоминания,
                    |    Мероприятие.*,
                    |    Основание.*,
                    |    ВидСвязи.*}
                    |ИЗ
                    |    Документ.СмартЗадача КАК СмартЗадача
                    |{ГДЕ
                    |    СмартЗадача.Ссылка.*,
                    |    СмартЗадача.ПометкаУдаления,
                    |    СмартЗадача.Номер,
                    |    СмартЗадача.Дата,
                    |    СмартЗадача.Проведен,
                    |    СмартЗадача.Сценарий.*,
                    |    СмартЗадача.СтруктурноеПодразделение.*,
                    |    СмартЗадача.ОписаниеСобытия,
                    |    СмартЗадача.Описание,
                    |    СмартЗадача.КритерийВыполнения,
                    |    СмартЗадача.Комментарий,
                    |    СмартЗадача.Единица.*,
                    |    СмартЗадача.Вес,
                    |    СмартЗадача.План,
                    |    СмартЗадача.Факт,
                    |    СмартЗадача.ДатаВыполнения,
                    |    СмартЗадача.Приоритет.*,
                    |    СмартЗадача.Группа.*,
                    |    СмартЗадача.АвторДокумента.*,
                    |    СмартЗадача.АвторУтверждения.*,
                    |    СмартЗадача.АвторПроверки.*,
                    |    СмартЗадача.СтрПодразделениеОтветственного.*,
                    |    СмартЗадача.Утвержден,
                    |    СмартЗадача.Выполнена,
                    |    СмартЗадача.Проверена,
                    |    СмартЗадача.Напоминание,
                    |    СмартЗадача.ВремяНапоминания,
                    |    СмартЗадача.Мероприятие.*,
                    |    СмартЗадача.Основание.*,
                    |    СмартЗадача.ВидСвязи.*}";
   ЭтотОбъект.табдок = этотобъект.реквизит.Результат.Выгрузить();
   этаформа.элементыформы.табличноеполе1.Значение = ЭтотОбъект.табдок;
   этаформа.элементыформы.табличноеполе1.создатьколонки();    
КонецПроцедуры

произвольная форма - реквизит "внешняяобработка" (тип - ВнешняяОбработка.ВнешняяОбработка1), "табличноеполе2" (тип - внешняяобработка.реквизит.Отбор), модуль:
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
   внешняяобработка.реквизит = новый построительотчета;
   внешняяобработка.реквизит.Текст = "ВЫБРАТЬ
                    |    СмартЗадача.Ссылка,
                    |    СмартЗадача.ПометкаУдаления,
                    |    СмартЗадача.Номер,
                    |    СмартЗадача.Дата,
                    |    СмартЗадача.Проведен,
                    |    СмартЗадача.Сценарий,
                    |    СмартЗадача.СтруктурноеПодразделение,
                    |    СмартЗадача.ОписаниеСобытия,
                    |    СмартЗадача.Описание,
                    |    СмартЗадача.КритерийВыполнения,
                    |    СмартЗадача.Комментарий,
                    |    СмартЗадача.Единица,
                    |    СмартЗадача.Вес,
                    |    СмартЗадача.План,
                    |    СмартЗадача.Факт,
                    |    СмартЗадача.ДатаВыполнения,
                    |    СмартЗадача.Приоритет,
                    |    СмартЗадача.Группа,
                    |    СмартЗадача.АвторДокумента,
                    |    СмартЗадача.АвторУтверждения,
                    |    СмартЗадача.АвторПроверки,
                    |    СмартЗадача.СтрПодразделениеОтветственного,
                    |    СмартЗадача.Утвержден,
                    |    СмартЗадача.Выполнена,
                    |    СмартЗадача.Проверена,
                    |    СмартЗадача.Напоминание,
                    |    СмартЗадача.ВремяНапоминания,
                    |    СмартЗадача.Мероприятие,
                    |    СмартЗадача.Основание,
                    |    СмартЗадача.ВидСвязи,
                    |    СмартЗадача.СтруктурноеПодразделение.ФизическоеЛицо
                    |{ВЫБРАТЬ
                    |    Ссылка.*,
                    |    ПометкаУдаления,
                    |    Номер,
                    |    Дата,
                    |    Проведен,
                    |    Сценарий.*,
                    |    СтруктурноеПодразделение.*,
                    |    ОписаниеСобытия,
                    |    Описание,
                    |    КритерийВыполнения,
                    |    Комментарий,
                    |    Единица.*,
                    |    Вес,
                    |    План,
                    |    Факт,
                    |    ДатаВыполнения,
                    |    Приоритет.*,
                    |    Группа.*,
                    |    АвторДокумента.*,
                    |    АвторУтверждения.*,
                    |    АвторПроверки.*,
                    |    СтрПодразделениеОтветственного.*,
                    |    Утвержден,
                    |    Выполнена,
                    |    Проверена,
                    |    Напоминание,
                    |    ВремяНапоминания,
                    |    Мероприятие.*,
                    |    Основание.*,
                    |    ВидСвязи.*}
                    |ИЗ
                    |    Документ.СмартЗадача КАК СмартЗадача
                    |{ГДЕ
                    |    СмартЗадача.Ссылка.*,
                    |    СмартЗадача.ПометкаУдаления,
                    |    СмартЗадача.Номер,
                    |    СмартЗадача.Дата,
                    |    СмартЗадача.Проведен,
                    |    СмартЗадача.Сценарий.*,
                    |    СмартЗадача.СтруктурноеПодразделение.*,
                    |    СмартЗадача.ОписаниеСобытия,
                    |    СмартЗадача.Описание,
                    |    СмартЗадача.КритерийВыполнения,
                    |    СмартЗадача.Комментарий,
                    |    СмартЗадача.Единица.*,
                    |    СмартЗадача.Вес,
                    |    СмартЗадача.План,
                    |    СмартЗадача.Факт,
                    |    СмартЗадача.ДатаВыполнения,
                    |    СмартЗадача.Приоритет.*,
                    |    СмартЗадача.Группа.*,
                    |    СмартЗадача.АвторДокумента.*,
                    |    СмартЗадача.АвторУтверждения.*,
                    |    СмартЗадача.АвторПроверки.*,
                    |    СмартЗадача.СтрПодразделениеОтветственного.*,
                    |    СмартЗадача.Утвержден,
                    |    СмартЗадача.Выполнена,
                    |    СмартЗадача.Проверена,
                    |    СмартЗадача.Напоминание,
                    |    СмартЗадача.ВремяНапоминания,
                    |    СмартЗадача.Мероприятие.*,
                    |    СмартЗадача.Основание.*,
                    |    СмартЗадача.ВидСвязи.*}";
       если внешняяобработка.ЭтотОбъект.реквизит.Отбор.Количество()=0 тогда            
           отбор = внешняяобработка.реквизит.Отбор;
           отбор.Добавить("структурноеподразделение.физическоелицо","физическоелицо");
           отбор["физическоелицо"].использование = ложь;
           отбор.Добавить("Дата");
           отбор["дата"].использование = ложь;
       конецесли;

КонецПроцедуры


Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
   внешняяобработка.табдок = внешняяобработка.реквизит.Результат.Выгрузить();
   этаформа.ВладелецФормы.элементыформы.табличноеполе1.Значение = внешняяобработка.ЭтотОбъект.табдок;
   этаформа.ВладелецФормы.элементыформы.табличноеполе1.создатьколонки();    
КонецПроцедуры


проблема - не сохраняет отбор в реквизит, он все время пустой, где затупил? подскажите?
1 zbv
 
23.08.11
14:53
вот тут видимо:

Процедура ПриОткрытии()
   
   этотобъект.реквизит = новый построительотчета;
2 andrewks
 
23.08.11
14:55
полковнику никто не пишет....
3 DeeK
 
23.08.11
14:56
(2) ))))))
4 DeeK
 
23.08.11
14:56
(1)  трай ту фикс
5 DeeK
 
23.08.11
15:00
в произвольной форме закоментил "новый построитель отчета" и его текст, нихрена - он ваще пустой в таком случае
6 Шапокляк
 
23.08.11
15:03
(0)             отбор["дата"].использование = ложь;
а зачем добавлять отборы чтоб их потом не использовать?
7 DeeK
 
23.08.11
15:14
все - он не видел реквизит изза того что форма отбора была произвольной, сделал формой обработки и все встало на места
8 DeeK
 
23.08.11
15:14
(6) - чтобы при открытии формы отбора, были предопределены шаблоны для наложения отбора