|
v7: Значение нужного реквизита находится в документе основании через одиндокумент |
☑ |
0
babel
11.08.17
✎
10:38
|
Приветствую!
Для выполнения следующего:
Процедура УбратьИзМинОст()
Если Склад.Выбран()=0 Тогда
Сообщить("Сначала надо выбрать склад!!!!");
Возврат;
КонецЕсли;
Спр = СоздатьОбъект("Справочник.СписокМинимальныхОстатков");
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
Спр.ИспользоватьВладельца(Номенклатура);
Если Спр.НайтиПоРеквизиту("Склад",Склад,0)=0 Тогда
Спр.Новый();
Спр.Владелец=Номенклатура;
Спр.Склад=Склад;
Спр.Записать();
КонецЕсли;
Спр.Набор2=Спр.Набор2-Количество;
Спр.Записать();
КонецЦикла;
КонецПроцедуры
Но реквизит "Склад" в данном документе не тот который нужно. Тот, что необходим для удаления мин. остатка находится в документе основании через один.
Как выципить из "того" документа реквизит Склад и подставить его в обработку "УбратьИзМинОст()".
Структура подчиненности:
"Документ с правильным значением реквизита Склад"
|_
"Промежуточный документ"
|_
"Документ, в котором процедура УбратьИзМинОст"
Как будет выглядеть код процедуры УбратьИзМинОст?
|
|
1
Ёпрст
гуру
11.08.17
✎
10:41
|
Склад = ДокОснование.ДокОснование.Склад;
|
|
2
пипец
11.08.17
✎
10:57
|
(1) + если выбран опять же и если есть такой реквизит
|
|
3
Злопчинский
11.08.17
✎
12:10
|
(0) опять же Для нового элемента спр который ты создаешь будет установлено отрицательное значение для реквизита спр.набор2 Это так задумано?
|
|
4
Злопчинский
11.08.17
✎
12:11
|
Спр.записать() внутри Если в той логике кода что приведен не нужен.
|
|
5
babel
11.08.17
✎
17:47
|
"Это так задумано?" - Да! Убирает мин. остаток
|
|
6
Изучаю1С8
11.08.17
✎
17:50
|
Спр.Владелец=Номенклатура;
это ненадо
|
|
7
babel
11.08.17
✎
18:09
|
"Склад = ДокОснование.ДокОснование.Склад;"
Кудав какоеместо вставлять?
Как это будет выглядеть в коде в моём случае?
Разжуйте, пожалуйста
|
|