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

Найти документ по реквизиту

Гость
0 - 09.02.2012 - 15:53
Мне нужно найти документы поступления по реквизиту "входящий номер", но интересуют только документы определенного поставщика и из определенного года.

докПнкВБух = Документы.ПоступлениеТоваровУслуг.НайтиПоРеквизиту ("НомерВходящегоДокумента",СокрлП(РНК.ДокументОсно вание.выбНомерДок));

В общем вопрос:
Как открыть выборку по нескольким реквизитам?
Сразу оговорюсь Запросом не подойдет.



Гость
1 - 09.02.2012 - 16:00
Тупым перебором, если запрос не хочешь. НайтиПоРеквизиту первый попавшийся вернет.
Гость
2 - 09.02.2012 - 16:07
Если не хочешь использовать запросы в восьмерке - сразу закрой её и возвращайся к 7.7.
Гость
3 - 09.02.2012 - 16:11
2 (3) Все бы ничего но я использую через ole и из 7-ки и как вставить туда запрос не знаю (а если и знаю, то получается очень не красиво)
Uho
4 - 09.02.2012 - 16:11
3-Lexusss > +1000
Гость
5 - 09.02.2012 - 16:11
2 (2) а как-нибудь выборку по какому-ниб отбору нельзя?
Гость
6 - 09.02.2012 - 16:13
Не знаешь как запрос тогда просто
OLE.ВыбратьДокументы(ДатаНачала,ДатаКонца)
Пока OLE.ПолучитьДокумент() = 1 Цикл
ТекДок = OLE.ТекущийДокумент()
Если ТекДок.НомерВходящегоДокумента = Нужный Номер Тогда
и т.д. и т.п.
Гость
7 - 09.02.2012 - 16:18
Запрос = Восьмерка.NewObject("Запрос");
Запрос.Текст = "
|ВЫБРАТЬ ПЕРВЫЕ 1 Ссылка
|ИЗ Документ.ПОступлениеТоваровИУслуг
|ГДЕ
| Период = ДАТАВРЕМЯ(2009,1,1)
| И НомерВходящегоДокумента = """+СокрлП(РНК.ДокументОсно вание.выбНомерДок)+"""
| И Чтонить еще
|");
Запрос.Выпонить().Выбрать()
Гость
8 - 09.02.2012 - 16:19
2 (7) про перебор я понимаю, просто думал может кто-знает как без этого обойтись. Уж больно много документов и работает долго.
Гость
9 - 09.02.2012 - 16:19
(7) Ты тож закрой 8ку и больше не открывай. Чудесного кода в мире станет хоть чуточку меньше!
Гость
10 - 09.02.2012 - 16:20
Я чет думал он из 8-ки семерку дергает
Гость
11 - 09.02.2012 - 16:21
(9) Я уже года три, как плотно сижу на 8ке. Пусть и крайне мало времени уходит на кодинг, но за это время выборку использовал раз 5 от силы. А запросов написано - не счесть.
Гость
12 - 09.02.2012 - 16:34
1. перебор (по понятным причинам делать не буду)
2. запрос (придется остановиться на предложении из (8)
3. Есть?

2 (11) нет из 7-ки в 8-ку закидываю документ
Гость
13 - 09.02.2012 - 16:39
(13) Вариант записи в другую базу очень некрасив. Гораздо правильнее в восьмерки загружать из семерки. Особенно это становится актуальным в связи с выходов все новых и новых конф на чистом клиент-сервере. Кроме того, в предложенном мной варианте, у тебя будет вся "мощь" языка 8ки и механизм транзакций.
Uho
14 - 09.02.2012 - 16:48
Цитата:
Сообщение от Lexusss Посмотреть сообщение
Вариант записи в другую базу очень некрасив
+1
используй КД
Uho
15 - 09.02.2012 - 16:52
+15 конечно, если это не разовая "перекидка"
Гость
16 - 09.02.2012 - 16:53
(12) Выборки нужны... но только ежели надо тыщ 100 элементов справочника обработать гуртом.
Гость
17 - 09.02.2012 - 18:34
Ничего не понимаю....
(13): "из 7-ки в 8-ку закидываю документ "
При этом в сабже: "ПоступлениеТоваровУслуг"

ВОПРОС: Это где это в 7.7 такой вид документа?
И где это такой реквизит у документа-основания "выбНомерДок"?


Семёрочный вариант, если без запроса, то так:
Док = СоздатьОбьект("Документ.ЧёТоТамПоступлениеТвоё");
Док.ВыбратьПоРеквизиту("Контрагент", НужныйТебеКонтр);

НужныйНомер = СокрлП(РНК.ДокументОсно вание.выбНомерДок);
Пока Док.получитьдок()=1 Цикл
Если Док.ВходящийНомер = НужныйНомер Тогда...
КонецЦикла
Гость
18 - 10.02.2012 - 07:45
2 (18) ищу документ в восьмерке. тут только маленький кусочек.
Реквизитов и документов в 7-ку (да и в 8-ку) как известно можно добавить много любых :-)
На языке 8-ки нужно найти документ по 3 реквизитам - вот и есть задача. Остальное наоборот писал для понятности


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






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