|   |   | 
| 
 | Передача структуры значений между формами | ☑ | ||
|---|---|---|---|---|
| 0
    
        Legavaz 22.12.11✎ 16:12 | 
        8.2
  У меня проблема, прежде чем сформировать форму нужно получить группы номенклатуры от пользователя которые он хочет вывести на печать, так вот. в толстом клиенте решил проблему открытием модальной пром. формы после чего с нее читаю структуру типа (новый структура ("ТЧ1",ТаблицаЗначений)), при запуске Тонкого клиента, увы сей финт не удался. ругается на структуру хотя я ее делаю функцией с префиксом &сервер. Пытался решить путем временного хранилища, но вызов процедуры печати работает от команды обработки, хоть и владелец есть но данные приходят Неопределено, может кто сталкивался с проблемой поделитесь? спасибо. | |||
| 1
    
        H A D G E H O G s 22.12.11✎ 16:15 | 
        Ниче не понял     | |||
| 2
    
        H A D G E H O G s 22.12.11✎ 16:16 | 
        В ПриСозданииНаСервере() ты можешь передать Структуру в ТЗ внутре, а после, ты уже на ТонкомКлиенте, там ТЗ нелигитимна.     | |||
| 3
    
        YF 22.12.11✎ 16:16 | 
        +(1) И я тоже     | |||
| 4
    
        H A D G E H O G s 22.12.11✎ 16:16 | 
        Структуру в ТЗ внутре -> Структуру c ТЗ внутре     | |||
| 5
    
        H A D G E H O G s 22.12.11✎ 16:18 | 
        (0)
  Тоесть, так Форма=ПолучитьФорму("ТвояФорма",СтруктураСТЗ); Форма.Открыть(); можно, а так: Форма=ОткрытьФорму("ТвояФорма"); Форма.Структура=СтруктураСТЗ; Форма.Открыть(); нельзя | |||
| 6
    
        H A D G E H O G s 22.12.11✎ 16:18 | 
        И так тоже:
  Форма=ПолучитьФорму("ТвояФорма"); Форма.Структура=СтруктураСТЗ; Форма.Открыть(); нельзя | |||
| 7
    
        Legavaz 22.12.11✎ 16:55 | 
        мне нужно данные получить из формы после ее закрытия
  Форму открываю СтруктураВозврата = ОткрытьФормуМодально("Обработка._ПечатьСкладскойДокумент.Форма.ФормаДеленияПоПФ", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник); В структуре возврата в Толстом клиенте данные возвращаются. вот. в тонком клиенте события на открываемой форме: &НаКлиенте Процедура ПриЗакрытии() АдресТоваровВХранилище = ПоместитьТоварыВХранилище(); (!!! ругается сдесь! ) Структура = Новый Структура("АдресТоваровВХранилище", АдресТоваровВХранилище); ОповеститьОВыборе(АдресТоваровВХранилище); КонецПроцедуры &НаСервере Функция ПоместитьТоварыВХранилище() СтруктураЗадания = Новый Структура("ТабЧасть1,ТабЧасть2,ТабЧасть3", Объект.ТабЧасть1.Выгрузить(), Объект.ТабЧасть2.Выгрузить(), Объект.ТабЧасть3.Выгрузить()); //СтруктураЗадания = Новый Структура("ТабЧасть1,ТабЧасть2,ТабЧасть3", // Объект.ТабЧасть1.Выгрузить(), // Объект.ТабЧасть2.Выгрузить()); // //Объект.Переменная = СтруктураЗадания; //АдресТоваровВХранилище = ПоместитьВоВременноеХранилище(СтруктураЗадания, УИНФормы);//УникальныйИдентификатор Возврат СтруктураЗадания; КонецФункции | |||
| 8
    
        Legavaz 22.12.11✎ 16:58 | 
        тз - нелигитимна )) видимо ключевые слова. как я понимаю таблица значений на клиенте не существует впринципе?  не может быть!     | |||
| 9
    
        H A D G E H O G s 22.12.11✎ 17:09 | 
        Почему закомменчены
  //АдресТоваровВХранилище = ПоместитьВоВременноеХранилище(СтруктураЗадания, УИНФормы);//УникальныйИдентификатор ? | |||
| 10
    
        H A D G E H O G s 22.12.11✎ 17:11 | 
        УИНФормы - опасно.
  Если форма закроется ДО ТОГО, как форма владелец получит данные из хранилища, хранилище накроется мягким ассом! Надо так АдресТоваровВХранилище = ПоместитьВоВременноеХранилище(СтруктураЗадания, Новый УникальныйИдентификатор()); 20 минут на всех хватит © Почти Гейтс, Билл Гейтс. | |||
| 11
    
        apokrit 22.12.11✎ 17:11 | 
        (10) В предложенном варианте, если данные из ВХ не удалить - они там то конца сеанса останутся лежать.     | |||
| 12
    
        H A D G E H O G s 22.12.11✎ 17:20 | 
        (11) Удалите, как считаете в форме владельце, либо они сами удаляться через 20 минутъ. Я же написал вам выше!     | |||
| 13
    
        Legavaz 22.12.11✎ 17:29 | 
        пробовал, не выходит. почему решили что данные будут жить 20 минут. в документации написано до первого обращения к серв. процедурам.
  Уин же передается видимо для того чтобы продлить жизнь хранилищу по владельцу формы. и это нисколько не опасно. | |||
| 14
    
        Legavaz 22.12.11✎ 17:31 | 
        закоментарил так как уже сделал дочертиков попыток. разными возможностями.     | |||
| 15
    
        H A D G E H O G s 22.12.11✎ 17:32 | 
        (13) Потому что внимательно читал СП.
  Уин же передается видимо для того чтобы продлить жизнь хранилищу по владельцу формы. и это нисколько не опасно. Там по коду фиг поймещь, чей это УИН | |||
| 16
    
        Legavaz 22.12.11✎ 17:53 | 
        очень жаль. ((     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |