Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Передача значений между сервером и клиентом , Как правильно передать сложный тип между сервером и клиентом?          
Mikst Подменю пользователя
сообщение 11.09.12, 8:58
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 36
Из: Черкассы
Спасибо сказали: 4 раз
Рейтинг: 0

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


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

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



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

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

Vofka Подменю пользователя
сообщение 11.09.12, 9:04
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

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

Спасибо сказали: Mikst,

Mikst Подменю пользователя
сообщение 11.09.12, 9:08
Сообщение #3

Общительный
**
Группа: Пользователи
Сообщений: 36
Из: Черкассы
Спасибо сказали: 4 раз
Рейтинг: 0

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

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

Vofka Подменю пользователя
сообщение 11.09.12, 9:11
Сообщение #4

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

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

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

Спасибо сказали: Mikst,

Mikst Подменю пользователя
сообщение 11.09.12, 9:12
Сообщение #5

Общительный
**
Группа: Пользователи
Сообщений: 36
Из: Черкассы
Спасибо сказали: 4 раз
Рейтинг: 0

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

Да.

logist Подменю пользователя
сообщение 11.09.12, 9:12
Сообщение #6

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

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

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


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: Mikst,

pablo Подменю пользователя
сообщение 11.09.12, 9:14
Сообщение #7

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

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

Сообщение отредактировал pablo - 11.09.12, 9:15


Signature
Правильно поставленный вопрос содержит до 90% ответа.

Спасибо сказали: Mikst,

Vofka Подменю пользователя
сообщение 11.09.12, 9:18
Сообщение #8

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

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

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

Спасибо сказали: Mikst,

Mikst Подменю пользователя
сообщение 11.09.12, 10:19
Сообщение #9

Общительный
**
Группа: Пользователи
Сообщений: 36
Из: Черкассы
Спасибо сказали: 4 раз
Рейтинг: 0

Цитата(Vofka @ 11.09.12, 10:18) *
По коду видно, что просто заполнить её надо. А ТЗ здесь автор использует, видимо, из-за незнания.

Да с 8.2 я действительно еще мало знаком, но думаю что без ТЗ не получиться, это еще не полный вариант, будет много расчетов (различные виды начисления кредита и процентов на кредит) и планируется использование нескольких ТЗ.

Цитата(logist @ 11.09.12, 10:12) *
Если нужно работать как с ТЗ используйте РеквизитФормыВЗначение и обратно.


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

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



Vofka Подменю пользователя
сообщение 11.09.12, 10:22
Сообщение #10

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

А что на сервере нельзя сделать
Объект.ГрафикПлан.Выгрузить();

?

Спасибо сказали: Mikst,

logist Подменю пользователя
сообщение 11.09.12, 10:30
Сообщение #11

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Mikst @ 11.09.12, 11:19) *
Не совсем могу понять как его использовать,Так ошибку выдает.:

ТЗ = РеквизитФормыВЗначение("Объект.ГрафикПлан");

Какую ошибку? Не должно выдавать никаких ошибок. В этом варианте вы работаете с ТЗ, только я же написал что значение надо потом вернуть обратно в форму - ЗначениеВРеквизитФормы(ТЗ, "Объект.ГрафикПлан");

Цитата(Mikst @ 11.09.12, 11:19) *
А так не могу понять как потом вытащить

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


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: Mikst,

Mikst Подменю пользователя
сообщение 11.09.12, 11:12
Сообщение #12

Общительный
**
Группа: Пользователи
Сообщений: 36
Из: Черкассы
Спасибо сказали: 4 раз
Рейтинг: 0

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

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

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 20.04.24, 0:22
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!