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-ки и как вставить туда запрос не знаю (а если и знаю, то получается очень не красиво) | |
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ки и механизм транзакций. | |
14
- 09.02.2012 - 16:48
| +1 используй КД | |
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 реквизитам - вот и есть задача. Остальное наоборот писал для понятности | |
| Интернет-форум Краснодарского края и Краснодара |