Имя: Пароль:
1C
1С v8
Отбор в табличном поле 1С 8.2
0 AugustBlack
 
02.08.11
09:38
Здравствуйте. Помогите разобратся как установить отбор по коду в табличном поле в 1С 8.2?
заполняю списокЗначений нужными мне кодами..
   //напоминалка
   СписокКодовДоговоровНедели = Новый СписокЗначений;
   СчетчикДоговоровНедели = 0;
   Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
                  |    ДоговорыКонтрагентов.Ссылка,
                  |    ДоговорыКонтрагентов.СрокДействия,
                  |    ДоговорыКонтрагентов.Код,
                  |    РАЗНОСТЬДАТ(&ТекДата, ДоговорыКонтрагентов.СрокДействия, ДЕНЬ) КАК ПОЛЕ1
                  |ИЗ
                  |    Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
                  |ГДЕ
                  |    ДоговорыКонтрагентов.СрокДействия <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
                  |    И ДоговорыКонтрагентов.СрокДействия >= &ТекДата
                  |    И РАЗНОСТЬДАТ(&ТекДата, ДоговорыКонтрагентов.СрокДействия, ДЕНЬ) МЕЖДУ 0 И 6";
   Запрос.УстановитьПараметр("ТекДата",ТекущаяДата());
   Результат = Запрос.Выполнить();
   ВыборкаДетальныеЗаписи = Результат.Выбрать();

   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
       //КонечСрок = ВыборкаДетальныеЗаписи.СрокДействия - (7*24*60*60);
       //Если ТекущДата >= КонечСрок И ТекущДата <= НачалоДня(ВыборкаДетальныеЗаписи.СрокДействия) Тогда
               Если СписокКодовДоговоровНедели.НайтиПоЗначению(ВыборкаДетальныеЗаписи.Код) = Неопределено Тогда
               СчетчикДоговоровНедели = СчетчикДоговоровНедели + 1;
               СписокКодовДоговоровНедели.Добавить(ВыборкаДетальныеЗаписи.Код);
               Сообщить(ВыборкаДетальныеЗаписи.Ссылка);
               //КонецЕсли;
       КонецЕсли;
   КонецЦикла;
   НапоминалкаФорма = Обработки.Напоминалка.ПолучитьФорму("Форма");
   НапоминалкаФорма.СписокКодовДоговоровНедели = СписокКодовДоговоровНедели;
   НапоминалкаФорма.Открыть();

потом в передаю ее в форму обработки через реквизит СписокКодовДоговоровНедели. Как сделать отбор в табличное поле на форме обработки? О_о
пишу в форме обработки:
Процедура ПриОткрытии()    
ЭлементыФормы.ТабличноеПоле1.Отбор.Код.Использование= Истина;
ЭлементыФормы.ТабличноеПоле1.Отбор.Код.ВидСравнения=ВидСравнения.ВСписке;
ЭлементыФормы.ТабличноеПоле1.Отбор.Код.Значение = СписокКодовДоговоровНедели;        
КонецПроцедуры

{Обработка.Напоминалка.Форма.Форма.Форма(9)}: Поле объекта не обнаружено (Отбор)
ЭлементыФормы.ТабличноеПоле1.Отбор.Код.Использование= Истина;
1 Wobland
 
02.08.11
09:45
ЭлементыФормы.ТабличноеПоле1.Значение.Отбор
2 AugustBlack
 
02.08.11
09:52
спасиб=)
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший