|
Команда документа | ☑ | ||
---|---|---|---|---|
0
polkin
08.04.15
✎
17:05
|
https://yadi.sk/i/XwOn4vQefrHBz
Хочу перенести процедуру заполнения аналогов с модуля документа (при каждом обновлении теряется) в команду документа. Переменная не определена (Объект) Как правильно обратиться с команды документа? |
|||
1
Fragster
гуру
08.04.15
✎
17:10
|
внешняя форма не вариант?
|
|||
2
Fragster
гуру
08.04.15
✎
17:13
|
вообще команда имеет ПараметрыВыполненияКоманды.Источник, где вроде как твоя форма документа, в которой есть всё, что тебе надо.
Либо команда с параметром и там в ПараметрКоманды будет ссылка (требует сохранения перед выполнением и галки "изменяет данные" если она изменяет данные :)) |
|||
3
polkin
08.04.15
✎
18:56
|
(2) Как это будет выглядеть у меня?
Мне командой "Аналог" нужно выполнить данную процедуру... |
|||
4
polkin
08.04.15
✎
19:04
|
Объект = Документы.ЗаказПоставщику.ПолучитьФорму(ФормаДокумента);
Тоже не хочет... |
|||
5
Ma3eIIa
08.04.15
✎
19:11
|
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) НаСервере1(ПараметрКоманды); КонецПроцедуры // ОбработкаКоманды() &НаСервере Процедура НаСервере1(ПараметрКоманды) Объект=ПараметрКоманды.ПолучитьОбъект(); Объект.ПроцедураМодуляДокумента(); КонецПроцедуры |
|||
6
polkin
08.04.15
✎
19:13
|
Запасы = ПараметрыВыполненияКоманды.Источник.Элементы.Запасы;
Для Каждого Строка Из Запасы Цикл Строка.Аналог = Неопределено; Код =Строка.Номенклатура; Пар = Новый Структура("Ключ", Код); Форма = ПолучитьФорму("Справочник.Номенклатура.ФормаОбъекта", Пар); Для Каждого Строка1 Из ПараметрыВыполненияКоманды.Форма.Объект.ТаблицаАналогов Цикл Если Строка1.Поставщик = ПараметрыВыполненияКоманды.Объект.Контрагент Тогда Строка.Аналог = Строка1.Аналог; Строка.Упаковка = Строка1.Упаковка; Строка.Маркировка = Строка.Номенклатура; КонецЕсли; КонецЦикла; Если Не ЗначениеЗаполнено(Строка.Аналог) Тогда Строка.Аналог = Строка.Номенклатура; КонецЕсли; Строка.ЕдиницаИзмерения= Форма.Объект.ЕдиницаИзмерения; Строка.СтавкаНДС= Форма.Объект.СтавкаНДС; КонецЦикла; так не ругается, но и не выполняет... |
|||
7
polkin
08.04.15
✎
19:19
|
(5) Форма = ПолучитьФорму("Справочник.Номенклатура.ФормаОбъекта", Пар);
На сервере не работает... |
|||
8
polkin
08.04.15
✎
19:30
|
ТабЗапасы = ПараметрыВыполненияКоманды.Источник.Элементы.Запасы;
Для Каждого Строка Из ТабЗапасы Цикл Строка.Аналог = Неопределено; Код =Строка.Номенклатура; Пар = Новый Структура("Ключ", Код); Форма = ПолучитьФорму("Справочник.Номенклатура.ФормаОбъекта", Пар); Для Каждого Строка1 Из ПараметрыВыполненияКоманды.Форма.Объект.ТаблицаАналогов Цикл Если Строка1.Поставщик = ПараметрыВыполненияКоманды.Объект.Контрагент Тогда Строка.Аналог = Строка1.Аналог; Строка.Упаковка = Строка1.Упаковка; Строка.Маркировка = Строка.Номенклатура; КонецЕсли; КонецЦикла; Если Не ЗначениеЗаполнено(Строка.Аналог) Тогда Строка.Аналог = Строка.Номенклатура; КонецЕсли; Строка.ЕдиницаИзмерения= Форма.Объект.ЕдиницаИзмерения; Строка.СтавкаНДС= Форма.Объект.СтавкаНДС; КонецЦикла; выдает ошибку. {Документ.ЗаказПоставщику.Команда.Аналог.МодульКоманды(8)}: Итератор для значения не определен Для Каждого Строка Из ПараметрыВыполненияКоманды.Источник.Элементы.Запасы Цикл |
|||
9
Ma3eIIa
08.04.15
✎
19:34
|
зачем тебе форма справочника ?
|
|||
10
Ma3eIIa
08.04.15
✎
19:36
|
ПараметрКоманды это ссылка на твой документ. что тебе еще надо ?
|
|||
11
polkin
08.04.15
✎
19:39
|
(9) В форме справочника Номенклатура хранятся данные аналогов Поставщиков.
В зависимости от поставщика в заказ проставляются его наименования. |
|||
12
polkin
09.04.15
✎
09:41
|
Как итератор то определить в команде документа?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |