|
v7: НайтиПоРеквизиту - почему не работает?
| ☑ |
0
Buzztekk
27.06.17
✎
14:50
|
Добрый день. Дамы и Господа подскажите пожалуйста
Я хочу найти документ АктРазногласий по реквизиту "ДокументОснование"
ТТН=СоздатьОбъект("Документ.ТТН");
АктРазн=СоздатьОбъект("Документ.АктРазногласий");
Если ТТН.НайтиПоНомеру(номер,дата)=1 тогда
Если АктРазн.НайтиПоРеквизиту("ДокументОснование",ТТН,1)=1 тогда...
Ругается и пишет что
Поле Агрегатного объекта не обнаружено (НайтиПоРеквизиту)
Почему???
|
|
1
bodri
27.06.17
✎
14:51
|
(0) индексация?
|
|
2
Дмитрий
27.06.17
✎
14:55
|
у документов нет метода найтипореквизиту()
|
|
3
Волшебник
модератор
27.06.17
✎
14:57
|
(2) в восьмёрке это реализовано
|
|
4
Buzztekk
27.06.17
✎
14:58
|
(2) Дмитрий вы правы.. Вот я идиот. Это же только по справочникам можно.
Как же мне найти документ, зная его основание? Только запросом?
|
|
5
PiterPrg
27.06.17
✎
14:59
|
(2) У документов нет даже способа поставить индексацию у реквизита.
Однако, есть возможность использовать графу отбора.
По значению графы как раз можно искать
|
|
6
Дмитрий
27.06.17
✎
14:59
|
(3) восьмёрка вещ
|
|
7
Дмитрий
27.06.17
✎
14:59
|
(4) через подчиненные документы
|
|
8
PiterPrg
27.06.17
✎
15:00
|
(4) ВыбратьПодчиненныеДокументы()
|
|
9
Дмитрий
27.06.17
✎
15:01
|
СП Документ.ВыбратьПодчиненныеДокументы(Дата1, Дата2, Докум) (7)
|
|
10
Slypower
27.06.17
✎
15:52
|
а если сразу обратиться к документу основания, зачем его искать, если это является реквизитом документа?
|
|
11
Buzztekk
28.06.17
✎
10:32
|
(9) Спасибо, попробую.
(10) Slypower, Дак документ основания у меня известен, мне нужно найти по этому документу, подчиненный ему документ Акт расхождения. Причем у документа основания несколько подчиненных документов, мне же нужен только Акт Расхождения из них.
|
|
12
SleepyHead
гуру
28.06.17
✎
11:07
|
(11)
Акт = ПолучитьПустоеЗначение("Документ");
Док = СоздатьОбъект("Документ");
Док.ВыбратьПодчиненныеДокументы(,,ДокОснование);
Пока Док.ПолучитьДокумент()=1 Цикл
Если Док.Вид()="акт расхождения" Тогда
Сообщить("Попался!!!");
Акт = Док.ТекущийДокумент();
Прервать;
КонецЕсли;
КонецЦикла;
Если Акт.Выбран()=1 Тогда
// обработка найденного акта
Иначе
// выразить соболезнования в связи с неудачей
КонецЕсли;
|
|
13
Buzztekk
29.06.17
✎
15:43
|
(12) Спасибо!!!
|
|