Имя: Пароль:
1C
 
Неопределено вместо таблицы значений на сервере
0 mrDSide
 
22.08.17
12:26
Передаю из формы-владельца подчинённой два адреса во временном хранилище. Адреса таблиц значений. По одному адресу всегда получаю таблицу, по второму (только с сегодняшнего дня) - всегда "Неопределено".
Версия платформы - 8.3.7.1776
1 1dvd
 
22.08.17
12:28
мало кода
2 Вафель
 
22.08.17
12:30
идентификатор формы может не привязываешь
3 mrDSide
 
22.08.17
12:41
(1)
// Владелец
&НаКлиенте
Процедура Подбор(Команда)
    
    ТекДанные = Элементы.ТоварыНеХватает.ТекущиеДанные;
    Если ТекДанные = Неопределено Тогда
        Возврат
    КонецЕсли;
    
    Если ПустаяСтрока(АдресТаблицыП ) Тогда
        СформироватьТаблицуП();
    КонецЕсли;
    АдресТаблицыП = ПоместитьТаблицуПВХранилищеНаСервере();
    ПроверитьТаблицу(АдресТаблицыПодобраннойНоменклатуры);
    СтруктураПараметров = Новый Структура;
    СтруктураПараметров.Вставить("АдресТаблицы", АдресТаблицыПодобраннойНоменклатуры);
    ...
    АдресХарактеристик = ПоместитьТаблицуХарактеристикВХранилищеНаСервере();
    СтруктураПараметров.Вставить("АдресХарактеристик", АдресХарактеристик);
    
    ОткрытьФорму("........Форма.ФормаПодбора", СтруктураПараметров, ЭтаФорма
                ,,,,
                Новый ОписаниеОповещения("ПриЗакрытииФормыПодбора", ЭтаФорма));
    
КонецПроцедуры

&НаСервере
Процедура ПроверитьТаблицу(АдресТ)
    Таблица = ПолучитьИзВременногоХранилища(АдресТ);
КонецПроцедуры

&НаСервере
Функция ПоместитьТаблицуПВХранилищеНаСервере()
    Таблица = РеквизитФормыВЗначение("П", Тип("ТаблицаЗначений"));
    АдресТаблицы = ПоместитьВоВременноеХранилище(Таблица);
    Возврат АдресТаблицы;
КонецФункции

&НаСервере
Функция ПоместитьТаблицуХарактеристикВХранилищеНаСервере()
    Таблица = РеквизитФормыВЗначение("Х", Тип("ТаблицаЗначений"));
    АдресТаблицы = ПоместитьВоВременноеХранилище(Таблица);
    Возврат АдресТаблицы;
КонецФункции

// в подчинённой форме

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    ТаблицаХарактеристик = ПолучитьИзВременногоХранилища(Параметры.АдресХарактеристик);
    
    ТаблицаПодобраннойНоменклатуры = ПолучитьИзВременногоХранилища(Параметры.АдресТаблицы);

КонецПроцедуры

// ТАБЛИЦА ТОЧНО ЕСТЬ, ОНА ТОЧНО НЕ ПУСТАЯ
// В ПРОЦЕДУРЕ "ПроверитьТаблицу(АдресТ)"
// ТАБЛИЦА ВСЕГДА КАК "ТаблицаЗначений"
4 mrDSide
 
22.08.17
12:43
(3)
// ошибся при переносе кода
СтруктураПараметров.Вставить("АдресТаблицы", АдресТаблицыПодобраннойНоменклатуры);

// в форме идентификаторы соответствуют
СтруктураПараметров.Вставить("АдресТаблицы", АдресТаблицыП);
5 Вафель
 
22.08.17
12:45
(3) Что я и говорил
6 mrDSide
 
22.08.17
12:48
(5) это мне его в параметры передавать?
7 Вафель
 
22.08.17
13:01
см 2 параметр у ф-ции ПоместитьВоВременноеХранилище
8 mrDSide
 
22.08.17
13:06
(7) точно, спс :)
лучше бы там всегда было "Неопределено", если для этой формы ничего не передавали или те же данные, что и у владельца.