Имя: Пароль:
1C
1C 7.7
v7: ОткрытьФорму()
0 kopermain
 
05.10.11
17:43
Описываю ситуацию: нужно при загрузке пользователя запускать определенную обработку в составе конфигурации.
ОткрытьФорму("Обработка.Автозапуск");
В самой обработке указано что модуль нужно загрузить из txt файла.
#ЗагрузитьИзФайла Модуль.txt
И в этом модуле перебираю документы, которые нужно помечаю на удаление.

ВыборкаДок =создатьобъект("Документ.Резерв");  
   ВыборкаДок.выбратьдокументы((рабочаядата()-30),рабочаядата());
   Пока ВыборкаДок .получитьдокумент()=1  Цикл
       Если ВыборкаДок .срок<рабочаядата() Тогда
           Если ВыборкаДок .проведен()=1 Тогда
               ВыборкаДок.удалить(0);          
           КонецЕсли;
       КонецЕсли;    
   КонецЦикла;
Но при записи документа идет обращение в глобальный модуль,
ВыбранЛи(Клиент,"Клиент");

но выдает ошибку

ВыбранЛи<<?>>(Клиент,"Клиент");
{Документ.Резерв.Модуль Документа(16)}: Процедура не обнаружена (ВыбранЛи)

В глобальном модуле

Процедура ВыбранЛи(Что,Стр,НомерСтроки = 0) Экспорт
   Если ПустоеЗначение(Что) = 1 Тогда
       Номер = "";
       Если НомерСтроки <> 0 Тогда
           Номер = " в строке "+НомерСтроки;
       КонецЕсли;
       Сообщить("Не заполнено поле "+Стр+Номер+"!","!");
       ВсеВыбрано = 0;
   КонецЕсли;
КонецПроцедуры
1 kopermain
 
05.10.11
17:44
1С7.7, не та ветка
2 Ёпрст
 
05.10.11
17:46
(0) и где тут запись ?
3 kopermain
 
05.10.11
17:50
В обработке ПриЗаписи() проверяется шапка

Сама функция проверки

   Функция ПроверкаШапки()
      ВсеВыбрано = 1;
      ВыбранЛи(Клиент,"Клиент");
      Возврат ВсеВыбрано;
     КонецФункции
4 Ёпрст
 
05.10.11
17:50
(3) и  какое отношение ПриЗаписи имеет к коду в (0) ?
5 СБ с Одинесии
 
05.10.11
17:54
(0) Обработка внешняя?
6 kopermain
 
05.10.11
17:57
Когда при переборке документов выявляю устаревший документ, выполняю метод документа ВыборкаДок.удалить(0);
При этом насколько я понимаю, он должен записаться со свойством ПометкаУдаления() = 1.
И вот здесь начинаются ошибки!

Процедура ПриЗаписи()

       Если ПроверкаШапки()=0 Тогда
       НеПроводить(Контекст);
       Возврат;
   КонецЕсли;
КонецПроцедуры
7 Ёпрст
 
05.10.11
17:58
(6) бредим ? Удалить(0) не вызывает предопределенную процедуру ПриЗаписи, если что.
8 Mikeware
 
05.10.11
17:58
м-дя...
вспоминается бессмертный анекдот про "второе место"....
9 Ёпрст
 
05.10.11
17:59
+7 смотри вот тут:
Документ.Резерв.Модуль Документа(16)
16 строку.
10 Ёпрст
 
05.10.11
18:00
(8) это про конкурс му-ков ?
11 kopermain
 
06.10.11
20:36
(7) И то правда Удалить(0) вызывает предопределенную процедуру, ОбработкаПроведения().
Но в том то и дело что модуль формы не может получить к глобальному модулю!
Чудеса да и только! (((
12 kopermain
 
06.10.11
20:37
Процедура ПриЗаписи()
   Если ПроверкаШапки()=0 Тогда
       НеПроводить(Контекст);
       Возврат;
   КонецЕсли;
КонецПроцедуры

ВыбранЛи<<?>>(Клиент,"Клиент");
{Документ.Резерв.Модуль Документа(16)}: Процедура не обнаружена (ВыбранЛи)
13 kopermain
 
06.10.11
20:38
Функция ПроверкаШапки()
  ВсеВыбрано = 1;
  ВыбранЛи(Клиент,"Клиент");
  Возврат ВсеВыбрано;
КонецФункции
14 smaharbA
 
06.10.11
20:44
НифигаНеПонятно
15 Начинающий Программер
 
06.10.11
21:06
Смотри процедуру ПриУдаленииДокумента(). Все остальные процедуры не должны вызываться.
16 G-Re
 
06.10.11
22:43
Отладчик откуда в ошибку заводит?
17 Ёпрст
 
06.10.11
23:05
(15) ПриУдаленииДокумента не вызывается при программной пометке на удаление, rtfm
18 Ёпрст
 
06.10.11
23:06
(12) олё, товарищь, покажи нам 16 строку и 10 строк выше\ниже модуля Документ.Резерв.Модуль Документа
19 orange777
 
06.10.11
23:07
(14)главный помощник объявился, теперь все встанет на места)
20 Азазелло
 
06.10.11
23:50
(15) В данном случае вызывается ОбработкаУдаленияПроведения()