|
|
Передача параметров между формами внешней обработки |
☑ |
|
0
LisaAlisa
29.04.16
✎
11:17
|
В модуле формы обработки пишу
ОткрытьФорму(
"ВнешняяОбработка.МояОбработка.Форма.ФормаСопоставленияНоменклатуры",
Новый Структура("ТаблицаНесопоставленнойНоменклатуры", ТаблицаНесопоставленнойНоменклатуры),
ЭтотОбъект,,,,
Новый ОписаниеОповещения("СопоставлениеНоменклатурыЗавершение", ЭтотОбъект, ДополнительныеПараметры));
Произвольная форма ФормаСопоставленияНоменклатуры имеет реквизит ТаблицаНоменклатуры, куда мне нужно загрузить таблицу ТаблицаНесопоставленнойНоменклатуры, переданную из основной формы (ТаблицаНесопоставленнойНоменклатуры - реквизит основной формы, имеет те же колонки, что и реквизит-таблица на форме ФормаСопоставленияНоменклатуры )
В модуле формы ФормаСопоставленияНоменклатуры указываю
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ТаблицаНоменклатуры.Загрузить(Параметры.ТаблицаНесопоставленнойНоменклатуры);
КонецПроцедуры
ОШИБКА:
{Форма.ФормаСопоставленияНоменклатуры.Форма(5)}: Ошибка при вызове метода контекста (Загрузить)
ТаблицаНоменклатуры.Загрузить(Параметры.ТаблицаНесопоставленнойНоменклатуры);
по причине:
Несоответствие типов (параметр номер '1')
Подскажите, что делаю не так
|
|
|
1
salvator
29.04.16
✎
11:21
|
Какой тип у "ТаблицаНоменклатуры" и у "Параметры.ТаблицаНесопоставленнойНоменклатуры" ?
|
|
|
2
LisaAlisa
29.04.16
✎
11:28
|
(1) в основной форме при передаче параметров в ОткрытьФорму ТаблицаНесопоставленнойНоменклатуры имеет тип ДанныеФормыКоллеккция, а в &НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) почему-то отладчик не попадает, поэтому не могу посмотреть тип значения
|
|
|
3
LisaAlisa
29.04.16
✎
11:31
|
(1) Сообщить(ТИП(Параметры.ТаблицаНесопоставленнойНоменклатуры)) выдает ДанныеФормыКоллкция
|
|
|
4
aleks_default
29.04.16
✎
11:35
|
Заполняй обходом. Метод загрузить() здесь не сработает.
|
|
|
5
LisaAlisa
29.04.16
✎
11:37
|
(4) спасибо, сработало
|
|
|
6
singlych
29.04.16
✎
11:40
|
ТЗизКоллекции = ДанныеФормыВЗначение(Параметры.ТаблицаНесопоставленнойНоменклатуры, Тип("ТаблицаЗначений"));
ТаблицаНоменклатуры.Загрузить(ТЗизКоллекции);
|
|
|
7
LisaAlisa
29.04.16
✎
11:46
|
(6) спасибо! тоже работает
|
|
|
8
LisaAlisa
29.04.16
✎
13:36
|
В модуле произвольной формы заполняю реквизит-таблицу ТаблицаНоменклатуры.
Теперь значениями этой таблицы надо заполнить реквизит-таблицу Объекта ЗаказыСостав.
Если ЗначениеЗаполнено(НоменклатураСсылка) Тогда
МассивСтрокЗаказыСостав = Объект.ЗаказыСостав.НайтиСтроки(Новый Структура("Артикул",СокрЛП(НоменклатураСсылка.Артикул)));
Для каждого СтрокаМассива из МассивСтрокЗаказыСостав Цикл
СтрокаМассива.НоменклатураСсылка = НоменклатураСсылка;
КонецЦикла;
КонецЕсли;
Но Объект.ЗаказыСостав (если смотреть в модуле формы) имеет тип ДанныеФормыКоллекция и ничего не содержит, хотя на самом деле строки есть
|
|
|
9
LisaAlisa
29.04.16
✎
13:36
|
вопрос: как правильно заполнить таблицу Объект.ЗаказыСостав?
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший