Версия для печати темы (https://pro1c.org.ua/index.php?s=05f0e2c53d4087ca38d105838d38a706&showtopic=8901)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование управляемых форм 1С 8.2 _ Передача значений между сервером и клиентом

Автор: Mikst 11.09.12, 8:58

Добрый день! Подскажите пожалуйста как правильно передать таблицу между сервером и клиентом. Я понимаю что Управляемое приложение воспринимает только простые типы данных, но все же должен же быть какой то выход.


&НаСервере
Функция НачислениеОсновнойСуммыКредита(ДатаНачала,ДатаОкончания,Сумма,ВидПогашения)
    
     ТЗ = новый таблицаЗначений;
     Тз.Колонки.Добавить("Дата", , "Дата");
     Тз.Колонки.Добавить("Дни",,"Число",);
     Тз.Колонки.Добавить("ПогашениеКредита",,"Строка");
     Тз.Колонки.Добавить("ОстатокКредита",,"Строка");
     Тз.Колонки.Добавить("ПогашениеПроцентов",,"Строка");
     Тз.Колонки.Добавить("СуммаВсего",,"Число");

          Если ВидПогашения = "Равными частями" Тогда
          МесячныйПлатеж = Сумма / 10;
          сообщить("РавнымиЧастями");
    
    КонецЕсли;
    очерДата = ДатаНачала;
    КонДата = ДатаОкончания;
    Пока дата(ОчерДата) <= Дата(КонДата) Цикл
        НоваяСтрока = ТЗ.Добавить();
        НоваяСтрока.Дата = ОчерДата;
        НоваяСтрока.дни = 15;
        НоваяСтрока.ПогашениеКредита = МесячныйПлатеж;
        ПредДата = очерДата;
        очерДата = ДобавитьМесяц(очерДата,1);
    КонецЦикла;



Возврат ТЗ;
КонецФункции

&НаКлиенте
Процедура ГрафикПогашения(Команда)
    Объект.ГрафикПлан.Загрузить(НачислениеОсновнойСуммыКредита(Объект.Дата,Объект.ОкончаниеДоговора,Объект.СуммаКредита,Объект.ВидПогашения
Кредита));
КонецПроцедуры

Автор: Vofka 11.09.12, 9:04

Заполните на сервере. В чем проблема?

Автор: Mikst 11.09.12, 9:08

Цитата(Vofka @ 11.09.12, 10:04) *
Заполните на сервере. В чем проблема?

На сервер не могу передать таблицу с документа.

Автор: Vofka 11.09.12, 9:11

Цитата(Mikst @ 11.09.12, 10:08) *
На сервер не могу передать таблицу с документа.

Табличную часть?

Автор: Mikst 11.09.12, 9:12

Цитата(Vofka @ 11.09.12, 10:11) *
Табличную часть?

Да.

Автор: logist 11.09.12, 9:12

Цитата(Mikst @ 11.09.12, 10:08) *
На сервер не могу передать таблицу с документа.

А зачем ее передавать, если это происходит в форме то на сервере доступно тоже самое. Если нужно работать как с ТЗ используйте РеквизитФормыВЗначение и обратно.

Автор: pablo 11.09.12, 9:14

На сервер можно передать массив структур. Но не совсем понятно, какую

Цитата
таблицу с документа
Вы собираетесь передавать. Если это реквизит документа, то ее можно заполнить на сервере. Если же Вы ее создаете в некой переменной, то эту переменную опять таки можно заполнить на сервере...
P.S. Пока писал - уже определились blush.gif

Автор: Vofka 11.09.12, 9:18

Цитата(logist @ 11.09.12, 10:12) *
Если нужно работать как с ТЗ

По коду видно, что просто заполнить её надо. А ТЗ здесь автор использует, видимо, из-за незнания.

Автор: Mikst 11.09.12, 10:19

Цитата(Vofka @ 11.09.12, 10:18) http://pro1c.org.ua/index.php?act=findpost&pid=56078
Если нужно работать как с ТЗ используйте РеквизитФормыВЗначение и обратно.


Не совсем могу понять как его использовать,Так ошибку выдает.:
ТЗ = РеквизитФормыВЗначение("Объект.ГрафикПлан");

А так не могу понять как потом вытащить Табличную часть, в отладке пишет что реквизит "ГрафикПлан"(Табличная часть документа) имеет значение "ДокументТабличнаяЧасть.КредитныйДоговор.ГрафикПлан". Как его теперь разобрать в таблицу значений?
ТЗ = РеквизитФормыВЗначение("Объект");



Автор: Vofka 11.09.12, 10:22

А что на сервере нельзя сделать

Объект.ГрафикПлан.Выгрузить();

?

Автор: logist 11.09.12, 10:30

Цитата(Mikst @ 11.09.12, 11:19) http://pro1c.org.ua/index.php?act=findpost&pid=56081
А так не могу понять как потом вытащить

И я не могу понять, в теме уже достаточно объяснили, а вы похоже просто не хотите понимать.

Автор: Mikst 11.09.12, 11:12

Спасибо всем, начало что то получаться, с помощью:

ТЗ = Объект.ГрафикПлан.Выгрузить();

Объект.ГрафикПлан.Загрузить(ТЗ);

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua