Не работает отбор документов в программном коде. Бюджет Бух7.7. релиз 633-634

Новая тема
"НЕ работает очень простая конструкция:

....
Док = СоздатьОбъект("Документ");
       Док.ВидыДляВыбора ("РегистрацияБюджетногоОбязательства,Кассовоевыбытие,ЗаявкаНаНаличные");
   Если Док.ВыбратьДокументы()<> 0 Тогда        
Пока Док.ПолучитьДокумент()= 1 Цикл  
                   Предупреждение(Док);
               КонецЦикла;
    КонецЕсли;  
.....

смотрим Предупреждение - Внутрь цикла попадают ВСЕ!! виды документов

Что я делаю не так?"
"В справке упор делают на Интерактивный выбор, а у вас программный, может в этом все дело. Можно так попробовать (я правда не тестировал и немного сомневаюсь в ИзСтрокиСРазделителями):
...
Док = СоздатьОбъект("Документ");
СписВидов = СоздатьОбъект ("СписокЗначений");
СписВидов.ИзСтрокиСРазделителями ("РегистрацияБюджетногоОбязательства,Кассовоевыбытие,ЗаявкаНаНаличные");

Если Док.ВыбратьДокументы()<> 0 Тогда        
 Пока Док.ПолучитьДокумент()= 1 Цикл  
   Если СписВидов.Принадлежит (Док.Вид()) = 0 Тогда Продолжить;
   Иначе
     Предупреждение(Док);
   КонецЕсли;
 КонецЦикла;
КонецЕсли;  "
> В справке упор делают на Интерактивный выбор..

Я этого не вижу:

ВидыДляВыбора()
Синтаксис:
ВидыДляВыбора()
Назначение:
Установка выбираемых видов для объекта типа документ неопределенного вида.
Возвращает:
Строковое значение, содержащее текущий список видов выбираемых документов, разделенных запятыми (на момент до исполнения метода).
Параметры:
- строка, содержащая список видов выбираемых документов, разделенных запятыми.
Замечание:
Метод  можно использовать только для объектов типа документ неопределенного вида либо созданных функцией СоздатьОбъект, либо определенных в конфигураторе как реквизиты диалога или другого объекта.

И получается, что все равно перебираешь все документы... хоть вашим способом, хоть делая "СписВидов" Списком, хоть через конструкцию
Если док.вид() = вид1 Тогда
ИначеЕсли док.вид()=вид2 Тогда
хоть как.. скорость одна и та же
Обидно.. Ведь в самой типовой "ВидыДляВыбора" используют в отчетах, правда потом все равно проверяют.. не понятно зачем.
У меня html-ное описание, там написано:
Метод ВидыДляВыбора устанавливает выбираемые виды для объекта-документ неопределенного вида. Данный метод обычно используется до начала интерактивного позиционирования документа, например, при помощи метода Выбрать.

Данный метод может использоваться только для объектов типа «документ» неопределенного вида — либо созданных функцией СоздатьОбъект, либо определенных в конфигураторе как реквизиты диалога или другого объекта. Если метод ВидыДляВыбора применен к реквизиту диалога типа «документ» неопределенного вида, то интерактивный выбор будет производиться только среди установленных видов документов.
да.. в контекстном в конфигураторе этого нет. Получается, что нужно перебирать все документы, т.е. отбора программным путем вообще нет?
Читают тему
(гостей: 1)

Быстрый переход