![]() |
Отбор документов Добрый день. Столкнулся со следующей проблемой. Бухгалтерия 7.7 (Платформа 027) Необходимо для договоров (справочник "договоры") найти последний (по времени) документ (из некоторых типов), в котором он был задействован. Делаю так: Док = СоздатьОбъект("Документ"); Док.ВидыДляВыбора("ПоступлениеТоваров,ПоступлениеМатериалов,ПоступлениеОС"); Док.ОбратныйПорядок(1); Если Док.ВыбратьДокументы()<>0 Тогда Пока Док.ПолучитьДокумент() = 1 Цикл Предупреждение(Док); .. Обнаружил, что выборка происходит по всем документам базы, а не только по выбранным. Хотя Синтаксис-Помощник пишет: ВидыДляВыбора(<?>) Установка выбираемых видов для объекта типа документ неопределенного вида. Как правильно отобрать нужные типы документов? |
Для объектов, созданных функцией СоздатьОбъект, фильтр ВидыДляВыбора не работает. Увы ЗЫ в контексте задачи - поменяй Пока на Если и Док - определенного вида |
2-roma n > у меня 6 разных видов документов. Это получается надо документы нужных видов все поочереди перебирать, а потом сравнивать даты, чтобы выбрать самую позднюю? |
3-АдвокаТеда > нет, это получается, надо выбирать все документы в обратном порядке и сравнивать виды, ну или выбрать по реквизиту (как там в 7.7?), если подойдет |
Select Top 1 IDDOC идДокумент From _1SJOURN (NoLock) Where IdDocDef In (...) Order By Date_Time_IDDOC Asc |
4-Uho > придётся выбрать все документы и при переборе в обретном порядке выбрать первый из нужного мне вида. А так хотелось отобрать только нужные и работать с ними.. 5-Sadovnikov > выглядит круто, но ума мне на такое не хватает :) |
Текущее время: 22:33. Часовой пояс GMT +3. |