![]() |
Найти документ по реквизиту Мне нужно найти документы поступления по реквизиту "входящий номер", но интересуют только документы определенного поставщика и из определенного года. докПнкВБух = Документы.ПоступлениеТоваровУслуг.НайтиПоРеквизиту("НомерВходящегоДокумента",СокрлП(РНК.ДокументОснование.выбНомерДок)); В общем вопрос: Как открыть выборку по нескольким реквизитам? Сразу оговорюсь Запросом не подойдет. |
Тупым перебором, если запрос не хочешь. НайтиПоРеквизиту первый попавшийся вернет. |
Если не хочешь использовать запросы в восьмерке - сразу закрой её и возвращайся к 7.7. |
2 (3) Все бы ничего но я использую через ole и из 7-ки и как вставить туда запрос не знаю (а если и знаю, то получается очень не красиво) |
3-Lexusss > +1000 |
2 (2) а как-нибудь выборку по какому-ниб отбору нельзя? |
Не знаешь как запрос тогда просто OLE.ВыбратьДокументы(ДатаНачала,ДатаКонца) Пока OLE.ПолучитьДокумент() = 1 Цикл ТекДок = OLE.ТекущийДокумент() Если ТекДок.НомерВходящегоДокумента = Нужный Номер Тогда и т.д. и т.п. |
Запрос = Восьмерка.NewObject("Запрос"); Запрос.Текст = " |ВЫБРАТЬ ПЕРВЫЕ 1 Ссылка |ИЗ Документ.ПОступлениеТоваровИУслуг |ГДЕ | Период = ДАТАВРЕМЯ(2009,1,1) | И НомерВходящегоДокумента = """+СокрлП(РНК.ДокументОсно вание.выбНомерДок)+""" | И Чтонить еще |"); Запрос.Выпонить().Выбрать() |
2 (7) про перебор я понимаю, просто думал может кто-знает как без этого обойтись. Уж больно много документов и работает долго. |
(7) Ты тож закрой 8ку и больше не открывай. Чудесного кода в мире станет хоть чуточку меньше! |
Я чет думал он из 8-ки семерку дергает |
(9) Я уже года три, как плотно сижу на 8ке. Пусть и крайне мало времени уходит на кодинг, но за это время выборку использовал раз 5 от силы. А запросов написано - не счесть. |
1. перебор (по понятным причинам делать не буду) 2. запрос (придется остановиться на предложении из (8) 3. Есть? 2 (11) нет из 7-ки в 8-ку закидываю документ |
(13) Вариант записи в другую базу очень некрасив. Гораздо правильнее в восьмерки загружать из семерки. Особенно это становится актуальным в связи с выходов все новых и новых конф на чистом клиент-сервере. Кроме того, в предложенном мной варианте, у тебя будет вся "мощь" языка 8ки и механизм транзакций. |
[quote=Lexusss;23217700]Вариант записи в другую базу очень некрасив[/quote]+1 используй КД |
+15 конечно, если это не разовая "перекидка" |
(12) Выборки нужны... но только ежели надо тыщ 100 элементов справочника обработать гуртом. |
Ничего не понимаю.... (13): "из 7-ки в 8-ку закидываю документ " При этом в сабже: "ПоступлениеТоваровУслуг" ВОПРОС: Это где это в 7.7 такой вид документа? И где это такой реквизит у документа-основания "выбНомерДок"? Семёрочный вариант, если без запроса, то так: Док = СоздатьОбьект("Документ.ЧёТоТамПоступлениеТвоё"); Док.ВыбратьПоРеквизиту("Контрагент", НужныйТебеКонтр); НужныйНомер = СокрлП(РНК.ДокументОсно вание.выбНомерДок); Пока Док.получитьдок()=1 Цикл Если Док.ВходящийНомер = НужныйНомер Тогда... КонецЦикла |
2 (18) ищу документ в восьмерке. тут только маленький кусочек. Реквизитов и документов в 7-ку (да и в 8-ку) как известно можно добавить много любых :-) На языке 8-ки нужно найти документ по 3 реквизитам - вот и есть задача. Остальное наоборот писал для понятности |
Текущее время: 12:17. Часовой пояс GMT +3. |