Имя: Пароль:
1C
1С v8
Общая управляемая форма
0 spleen
 
10.05.12
23:16
Изучаю УФ. Не могу никак решит задачу.

1.Есть общая форма с реквизитом табличной части.
2.В Общем модуле (с галочками: Сервер, Внешнее соединение, Вызов сервера) формируется Таблица значений.
3.Необходимо из общего модуля открыть эту общую форму и заполнить реквизит на форме данными из Табличной части.


Дайте пример как сделать, заранее спасибо.
1 Азазелло
 
10.05.12
23:18
(0) и где ты ее собрался открывать? на сервере или внешнем соединении?
2 spleen
 
10.05.12
23:19
На сервере
3 Азазелло
 
10.05.12
23:20
(2) и как ты себе это представляешь? В СП для метода ОткрытьФорму значится Доступность: Тонкий клиент, веб-клиент, толстый клиент
4 spleen
 
10.05.12
23:21
(3) Подскажи как правильно. Я просто уже все варианты пробовал. Запутался.
5 Азазелло
 
10.05.12
23:24
(4) В данном случае - никак. А какова конечная цель заполнения реквизита формы?
6 badboychik
 
10.05.12
23:28
3й пункт надо переписать так -

Необходимо с клиента открыть форму и обратиться  за данными  для табличной части к общему модулю на сервере, потом их поместить на клиенте в ТЧ
7 spleen
 
10.05.12
23:28
Надо открыть форму и показать список документов на форме.
Таблицу с этим списком я формирую в общем модуле через запрос. Дальше надо открыть формы с этим списком.
8 spleen
 
10.05.12
23:32
(6) Обращаюсь, но получаю несовместимость

{ОбщийМодуль.Напоминание.Модуль(6)}: Ошибка при вызове метода контекста (ВызовОбработкиНапоминания)
   СтруктураФормы =  НапоминаниеСервер.ВызовОбработкиНапоминания(ПараметрыЗадачиСтруктура);
по причине:
Ошибка при вызове серверного метода.
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: ret    Форма: Элемент    Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: Value    Форма: Элемент    Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа '{http://v8.1c.ru/8.1/data/core}ValueTable'
9 spleen
 
10.05.12
23:33
(8) Отсюда возвращаю, структуру с вложенной табличной частью. НапоминаниеСервер.ВызовОбработкиНапоминания(ПараметрыЗадачиСтруктура);
10 Пеппи
 
10.05.12
23:37
(8) как обращаешься, как возвращаешь?
11 Азазелло
 
10.05.12
23:39
(9) Вестимо, таблицу значений пытаешься на клиент передать? Не выйдет.
12 spleen
 
10.05.12
23:40
#ВЫЗЫВАЮ    
СтруктураФормы =  НапоминаниеСервер.ВызовОбработкиНапоминания(ПараметрыЗадачиСтруктура);
ОткрытьФорму("ОбщаяФорма.ФормаНапоминаний", СтруктураФормы).Открыть();


#ВОЗВРАЩАЮ
Если ПараметрыЗадачиСтруктура.Количество() > 0 Тогда
    Таблица = Новый ТаблицаЗначений;
    Таблица.Колонки.Добавить("Задача");
     Для каждого Элемент Из  ПараметрыЗадачиСтруктура Цикл
        стр = Таблица.Добавить();
        стр.Задача = Элемент.Задача;
    КонецЦикла;
   СтруктураФормы.Вставить("Таблица", Таблица);
КонецЕсли;

Возврат СтруктураФормы;
13 Азазелло
 
10.05.12
23:43
(12) Покури для начала ЗначениеВРеквизитФормы
14 spleen
 
10.05.12
23:46
(13) как если на вначале форму получить. чтоб обратиться к реквизиту формы?
15 Азазелло
 
10.05.12
23:51
тебе в (6) подсказали, как надо правильно реализовывать :)
16 spleen
 
11.05.12
00:03
(15) ты видно сам не знаешь. Лишь бы писать.
17 spleen
 
11.05.12
00:33
(6) спасибо. Натолкнул на верное решение.
18 Азазелло
 
11.05.12
01:27
(16) Ну да, куда уж нам :)
Программист всегда исправляет последнюю ошибку.