Имя: Пароль:
1C
1С v8
ссылка на документ из общего модуля
0 r2d24
 
16.10.13
15:24
В 1с 8.2 УТ 10,3
При проведении документа "реализации товаров и услуг", меня интересует тот случай, когда не хватает товара на складе. Выполняются последовательно процедуры, некоторые процедуры берутся из общего модуля.
Меня интересует, тот момент, когда процедуры будут выполняться в общем модуле, например такие процедуры как: "ОшибкаНетОстатка", "СообщитьОНедостаткеТовара".
Вопрос такой, когда находясь в этих процедурах, как я могу взять некоторые значения документа "реализация товаров и услуг". По идеи эти процедуры должны иметь ссылку на проводимый документ, но не могу додуматься как это сделать?

еще раз, в к рации: провел документ "реализации товаров и услуг", затем выполняются ряд процедур. Когда выполняется процедура из общего модуля, как как мне взять значения некоторых реквизитов проводимого документа?
1 Maxus43
 
16.10.13
15:26
что-бы взять что-то, надо сначала передать что-то (с) Простаквашино
2 r2d24
 
16.10.13
15:29
(1) слышал, что должна быть ссылка или регистратор какой-то? Поэтому, там все само передается. Сам я это еще плохо представляю.
3 Maxus43
 
16.10.13
15:31
(2) Если в эту процедуру из общего модуля передаётся ссылка на твой документ, или ещё как-то определяется - то можно. Не зная конфу, не видя код процедуры - как мы протелепатируем?
Может быть, а может не быть. Суть в том что сама она туда не попадёт, должен быть код, определяющий док или передающий туда док
4 X Leshiy
 
16.10.13
15:33
В процедуры и функции всякое нужное и не нужное передается с помощью параметров. Например:

Функция ВыкопатьХрен(Грядка, Лопата)

Грядка и Лопата это параметры, которые могут быть чем угодно, в том числе и ссылками на документы.
5 X Leshiy
 
16.10.13
15:36
Если у модуля формы есть такая штука как контекст, которая обеспечивает доступ ко всему что есть в документе, то во внешние процедуры и функции ссылку на документ нужно передать с помощью параметров. Ищи параметр :)
6 r2d24
 
16.10.13
15:41
(5) при этом параметры могут меняться?
7 X Leshiy
 
16.10.13
15:47
Типа того.

Ты вызываешь из формы, например
ГрядкаМоя    = Объект.Ссылка;
ЛопатаСоседа = Объект.Лопата.Ссылка;

МойХрен =  ВыкопатьХрен(ГрядкаМоя, ЛопатаСоседа);

А во внешнем модуле

Функция ВыкопатьХрен(Грядка, Лопата)
     Возврат ХренБелыйОчищеный;
КонецФункции

ГрядкаМоя (это ссылка в модуле формы) = Грядка (та же ссылка  во внешнем модуле)
8 X Leshiy
 
16.10.13
15:52
Функция ВыкопатьХрен(Грядка, Лопата)
        ХренБелыйОчищеный = Новый СписокЗначений;
        
        Для Каждого ТекХрен Из Грядка.Хрены Цикл
              ХренБелыйОчищеный.Добавить(ТекХрен + Лопата);
        КонецЦикла;

        Возврат ХренБелыйОчищеный;
КонецФункции

Так красивше :)
9 John83
 
16.10.13
15:54
вообще-то проверка делается в модуле регистров и там так же передается ссылка на проводимый документ
10 Михаил Козлов
 
16.10.13
15:57
(0) В этих процедурах документ недоступен (да и не нужен для них).
Выпоняйте нужные Вам действия в модулях наборов записей регистров: в них документ есть (либо его можно получить через ЭтотОбъект.Отбор.Регистратор.Значение).
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн