К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Отбор документов

Гость
0 - 27.12.2011 - 16:18
Добрый день.
Столкнулся со следующей проблемой.
Бухгалтерия 7.7 (Платформа 027)
Необходимо для договоров (справочник "договоры") найти последний (по времени) документ (из некоторых типов), в котором он был задействован.
Делаю так:

Док = СоздатьОбъект("Документ");
Док.ВидыДляВыбора("ПоступлениеТоваров,ПоступлениеМ атериалов,ПоступлениеОС");
Док.ОбратныйПорядок(1);
Если Док.ВыбратьДокументы()<>0 Тогда
Пока Док.ПолучитьДокумент() = 1 Цикл
Предупреждение(Док);
..
Обнаружил, что выборка происходит по всем документам базы, а не только по выбранным.
Хотя Синтаксис-Помощник пишет:
ВидыДляВыбора(<?>)
Установка выбираемых видов для объекта типа документ неопределенного вида.

Как правильно отобрать нужные типы документов?



Гость
1 - 27.12.2011 - 16:22
Для объектов, созданных функцией СоздатьОбъект, фильтр ВидыДляВыбора не работает. Увы
ЗЫ в контексте задачи - поменяй Пока на Если и Док - определенного вида
Гость
2 - 28.12.2011 - 09:36
2-roma n > у меня 6 разных видов документов.
Это получается надо документы нужных видов все поочереди перебирать, а потом сравнивать даты, чтобы выбрать самую позднюю?
Uho
3 - 28.12.2011 - 09:49
3-АдвокаТеда > нет, это получается, надо выбирать все документы в обратном порядке и сравнивать виды, ну или выбрать по реквизиту (как там в 7.7?), если подойдет
Гость
4 - 28.12.2011 - 09:52
Select Top 1
IDDOC идДокумент
From
_1SJOURN (NoLock)
Where
IdDocDef In (...)
Order By
Date_Time_IDDOC Asc
Гость
5 - 28.12.2011 - 13:17
4-Uho > придётся выбрать все документы и при переборе в обретном порядке выбрать первый из нужного мне вида.
А так хотелось отобрать только нужные и работать с ними..

5-Sadovnikov > выглядит круто, но ума мне на такое не хватает :)


К списку вопросов






Copyright ©, Все права защищены