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 разных видов документов. Это получается надо документы нужных видов все поочереди перебирать, а потом сравнивать даты, чтобы выбрать самую позднюю? | |
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 > выглядит круто, но ума мне на такое не хватает :) | |
| Интернет-форум Краснодарского края и Краснодара |