Имя: Пароль:
1C
1C 7.7
v7: Как узнать есть ли подчиненные документы?
0 Darhon
 
22.04.13
12:56
Добрый день. Подскажите пожалуйста как узнать есть ли подчиненные документы у документа. 1С 7.7 ПУБ. Заранее спасибо.
1 егаис
 
22.04.13
12:57
выбратьподчиненыедокументы()
2 Darhon
 
22.04.13
13:03
Она работает только для объектов, созданных функцией СоздатьОбъект. А я получаю ссылку на документ из документа основания. Мне нужно проверитьт есть ли у него подчиненные ПКО и если есть запретить создание нового....Как-то так :)
3 егаис
 
22.04.13
13:04
проблема в чем, создай объект, найди по ссылки и дальше метод
4 егаис
 
22.04.13
13:04
*ссылке*
5 NS
 
22.04.13
13:04
Выбрать подчиненные уже предлагали?
6 Darhon
 
22.04.13
13:17
ДокОснование = СоздатьОбъект("Документ.РеализацияПродукции");
   Если ДокОснование.НайтиДокумент(ДокОсн)=1 Тогда
        Если ВыбратьПодчиненныеДокументы(,,ДокОснование)=1 Тогда
            Сообщить("Алес!!!");
        КонецЕсли;    
   КонецЕсли;  

При исполнении пишет следующее:

Если ВыбратьПодчиненныеДокументы(,,ДокОсн)=1 Тогда
{Документ.ПриходныйОрдерРасчеты.Форма.Модуль(948)}: Объект не может быть перепозиционирован!
7 Dolly_EV
 
22.04.13
13:19
Док=СоздатьОбъект("Документ");
Док.НайтиДокумент(ТвояСсылка);
Док.ВыбратьПодчиненныеДокументы();
Пока Док.ПолучитьДокумент()=1 Цикл
Если Док.Вид()="ПКО" Тогда
   Предупреждение("Низзя!");
   Возврат;
КонецЕсли;
КонецЦикла;

"Мне нужно проверитьт есть ли у него подчиненные ПКО и если есть запретить создание нового...." ты точно уверен, что твоя реализация всегда оплатится одним приходником?)) в таких случаях обычно проверяют, если уже есть подчиненный ПКО, то предупреждают об этом и предлагают либо открыть имеющийся ПКО, либо все же ввести новый
8 егаис
 
22.04.13
13:20
ДокОснование = СоздатьОбъект("Документ.РеализацияПродукции");
   Если ДокОснование.НайтиДокумент(ДокОсн)=1 Тогда
ТекДок = ДокОснование.ТекущийДОкумент();
        Если ВыбратьПодчиненныеДокументы(,,ТекДок )=1 Тогда
             Сообщить("Алес!!!");
        КонецЕсли;    
   КонецЕсли;
9 егаис
 
22.04.13
13:21
тьфу бред
ты как метод используешь, двоечник
10 Darhon
 
22.04.13
13:27
(8) Если ВыбратьПодчиненныеДокументы(,,ТекДок)=1 Тогда
{Документ.ПриходныйОрдерРасчеты.Форма.Модуль(948)}: Объект не может быть перепозиционирован!
11 ДенисЧ
 
22.04.13
13:29
(10) d'ebill
12 1Сергей
 
22.04.13
13:30
Функция ЕстьПодчиненные(ДокументСсылка)
   ПодчиненныеДокументы = СоздатьОбъект("Документ");
   Возврат ПодчиненныеДокументы.ВыбратьПодчиненныеДокументы(,,ДокументСсылка);
КонецФункции
13 trad
 
22.04.13
13:31
(10) ты обращаешься к методу текущего контекста, а должен к методу выше созданного объекта
14 Mikeware
 
22.04.13
13:32
(11) ты не прав...
De'Bill !
15 1Сергей
 
22.04.13
13:33
(14) я французский учу. (11) правильно
16 Darhon
 
22.04.13
13:34
(12) Спасибо. Взлетело.
17 NS
 
22.04.13
13:35
Правильно - d?bile
18 Darhon
 
22.04.13
14:54
Если Вопрос("Внимание!!! На данную реализацию уже введен Приходный ордер на сумму " + СуммаПКО + "руб. Вы хотите продолжить ввод документа?", "Да+Нет") <> "Да" Тогда
           Возврат;
           
       Иначе

При ответе Да открывается документ заполненный на основании реализации, а при ответе "нет" - пустой ПКО. КАк можно прервать выполнение открытия документа? Все это действие разворачивается в процедуре ВводНаОсновании()
19 NS
 
22.04.13
14:55
Статусвозврата(0);
20 NS
 
22.04.13
14:56
перед возврат;
21 Он
 
22.04.13
15:23
Правильно- De'Atel