Имя: Пароль:
1C
 
ПриУдаленииДокумента(Докум, Режим)
0 Dema
 
14.10.04
16:27
Докум, удаляю а хочу чтоб удалялся и владелец(в докум ссылка док1 на ДОКуменм.док1)
1 Dema
 
14.10.04
16:30
так как правильно сделать
2 mos-ad
 
14.10.04
16:30
НайтиДокумент(Документ)
3 Dema
 
14.10.04
16:31
а если так Если Докум.МатериалыДок.Выбран()=1  тогда
       Докум.РаботаДок.удалить(Режим);
    конецЕсли;
4 Dema
 
14.10.04
16:44
Док1 = СоздатьОбъект("Документ.РаботаТаб");
        Док1.НайтиДокумент(Докум);        
        Док1.Удалить(Режим);
выдает Док1.НайтиДокумент(Докум);        
{Глобальный модуль(4210)}: Недопустимая операция
5 Dema
 
14.10.04
16:50
ну пишу прям по учебнику стр 250 а выдает  Недопустимая операция
6 Rovan
 
гуру
14.10.04
16:53
Вот так попробуй
Если Докум.МатериалыДок.Выбран()=1  тогда
 Док1 = СоздатьОбъект("Документ");
 Док1.НайтиДокумент(Докум.МатериалыДок);        
 Док1.Удалить(Режим);
КонецЕсли;
7 mos-ad
 
14.10.04
16:56
ВыбратьПодчиненныеДокументы()
8 big
 
14.10.04
16:58
Судя по входящей переменной Докум, ты пытаешься удалить сам объект, т.е. сам Докум. Наверно надо Док1.НайтиДокумент(Докум.Док1)
9 Dema
 
14.10.04
16:58
(7) я удоляб\ю подчиненный и хочу чтоб владелец удалился
10 big
 
14.10.04
17:01
Совсем запарился. Так вернее: Док1.НайтиДокумент(Докум.СсылкаНаТотДок)
11 Dema
 
14.10.04
17:04
(10)так не работат...:(
12 big
 
14.10.04
17:05
Так владелец удалится в любом случае. Ведь это ОН удаляется в предопреленной процедуре, а не подчиненный.
13 Dema
 
14.10.04
17:07
так, 2 докум какой владелец? тот на который ссылка, а тот У которого подчинен так?
14 Dema
 
14.10.04
17:09
любой мечу на удален ни в ту не в другую сторону(12)
15 big
 
14.10.04
17:10
Блин, (0) прочитал невнимательно. Так значит ты, удаляя Подчиненный, хочешь удалить Владельца ?  А Режим в каком виде: 0 или 1?
16 big
 
14.10.04
17:11
АБСОЛЮТНО рабочая конструкция.

Процедура ПриУдаленииДокумента(Док)
   //Возврат;
   Если Док.Вид()="ПриходныйОрдер" Тогда
       Чек=СоздатьОбъект("Документ");
       Чек.ВыбратьПодчиненныеДокументы(Док.ДатаДок,Док.ДатаДок,Док);
       Пока  Чек.ПолучитьДокумент()=1 Цикл
           Если Чек.Вид()="ЧекККМ" Тогда
               Если ПустоеЗначение(Чек.НомерЧека)=1 Тогда
                   // значит он не пробит по ККМ
                   Продолжить;
               КонецЕсли;
               Предупреждение("На основании этого ПКО пробит Чек №"+Чек.НомерДок+" от "+Чек.ДатаДок+"."+
               РазделительСтрок+"Удаление Документа невозможно.");
               СтатусВозврата(0);
               Возврат;
           КонецЕсли;
           Прервать;
       КонецЦикла;
   ИначеЕсли Док.Вид()="ЧекККМ" Тогда
       Если ПустоеЗначение(Док.НомерЧека)=0 Тогда
       // значит чек пробит
           Предупреждение("Удаление Документов данного вида не разрешается!");
           СтатусВозврата(0);
           Возврат;
       КонецЕсли;
     КонецЕсли;
КонецПроцедуры
17 Dema
 
14.10.04
17:13
да владельца удаляю , режим =режим,  1 например
18 Dema
 
14.10.04
17:35
(16) не то это
19 big
 
14.10.04
17:38
Ща, попробую смоделировать.
20 big
 
14.10.04
17:47
Ессно добавить в конце процедуры, указанной выше. На основании ПриходаТовара создаются документы УслугиСтороннихОрганизаций. В них присутствует реквизит ДокументОснование, в кот. ссылка на ПриходТовара. Блин, все работает. Помечаю на удаление УслугиСтороннихОрганизаций - ставит две пометки - на нем и на ПриходеТовара. Единственное, надо отлавливать также и снятие пометки на удаление.

   ИначеЕсли Док.Вид()="УслугиСтороннихОрганизаций" Тогда
       Если ПустоеЗначение(Док.ДокументОснование)=1 Тогда
           Возврат;
       КонецЕсли;
       ТекДок=Док.ДокументОснование;
       Д=СоздатьОбъект("Документ."+ТекДок.Вид());
       Если Д.НайтиДокумент(ТекДок)=0 Тогда
           СтатусВозврата(0);
           Предупреждение("Не найден Документ-Владелец");
           Возврат;
       КонецЕсли;
       Д.Удалить(0);
   КонецЕсли;
21 Dema
 
14.10.04
17:52
Верно (6)
22 big
 
14.10.04
17:57
А как он у тебя был не выбран? Теперь я чего-то не понимаю.