|
Ошибка передачи данных между клиентом и сервером | ☑ | ||
---|---|---|---|---|
0
ghostrid3r
04.12.12
✎
18:00
|
Добрый день в управляемой форме при изменении ОС хочу получить его налоговое назначение. При следующем коде процедуры выдает данную ошибку.
&НаКлиенте Процедура ОсновноеСредствоПриИзменении(Элемент) СтрокаТабличнойЧасти = Элементы.Распределение.ТекущиеДанные; СтрокаТабличнойЧасти.НалоговоеНазначение = ЗаполнитьНалоговоеНазначениеОС(СтрокаТабличнойЧасти); КонецПроцедуры &НаСервере Функция ЗаполнитьНалоговоеНазначениеОС(Строка) Строка.НалоговоеНазначение = Неопределено; ДатаСреза = Новый Граница(?(Параметры.Ключ.Пустая(), КонецДня(Объект.Дата), Объект.Ссылка.МоментВремени()), ВидГраницы.Исключая); Отбор = Новый Структура("Организация, ОсновноеСредство", Объект.Организация, Строка.ОсновноеСредство); СведенияОНалоговомНазначение = РегистрыСведений.НалоговыеНазначенияОС.СрезПоследних(ДатаСреза, Отбор); Если СведенияОНалоговомНазначение.Количество() > 0 Тогда Строка.НалоговоеНазначение = СведенияОНалоговомНазначение[0].НалоговоеНазначение; КонецЕсли; Возврат Строка.НалоговоеНазначение; КонецФункции что то я дуплю наверно по жестокому но направте в нужное русло. |
|||
1
Wobland
04.12.12
✎
18:01
|
на мисте сегодня день Строки
|
|||
2
Wobland
04.12.12
✎
18:02
|
вообще, ЗаполнитьНалоговоеНазначениеОС на процедуру смахивает
|
|||
3
ghostrid3r
04.12.12
✎
18:03
|
ну даже если процедурой будет, всеравно эта ошибка уже пробовал
|
|||
4
Wobland
04.12.12
✎
18:03
|
(3) ты дуплишь
|
|||
5
ghostrid3r
04.12.12
✎
18:05
|
(4) о мессия покажи выход из этого дуплежа
|
|||
6
Wobland
04.12.12
✎
18:09
|
СтрокаТабличнойЧасти.НалоговоеНазначение=
в процедуре не спасает? |
|||
7
ghostrid3r
04.12.12
✎
18:11
|
(6) если ты про это, то не спасает, ошибка таже.
&НаКлиенте Процедура ОсновноеСредствоПриИзменении(Элемент) СтрокаТабличнойЧасти = Элементы.Распределение.ТекущиеДанные; ЗаполнитьНалоговоеНазначениеОС(СтрокаТабличнойЧасти); КонецПроцедуры &НаСервере Процедура ЗаполнитьНалоговоеНазначениеОС(Строка) Строка.НалоговоеНазначение = Неопределено; ДатаСреза = Новый Граница(?(Параметры.Ключ.Пустая(), КонецДня(Объект.Дата), Объект.Ссылка.МоментВремени()), ВидГраницы.Исключая); Отбор = Новый Структура("Организация, ОсновноеСредство", Объект.Организация, Строка.ОсновноеСредство); СведенияОНалоговомНазначение = РегистрыСведений.НалоговыеНазначенияОС.СрезПоследних(ДатаСреза, Отбор); Если СведенияОНалоговомНазначение.Количество() > 0 Тогда Строка.НалоговоеНазначение = СведенияОНалоговомНазначение[0].НалоговоеНазначение; КонецЕсли; КонецПроцедуры |
|||
8
vicof
04.12.12
✎
18:12
|
(7) тебе строку табличной части между клиентом и сервером передавать нельзя, ясно же написано.
|
|||
9
Wobland
04.12.12
✎
18:14
|
Процедура РассчитатьСтоимость(СтрокаТЧ) Экспорт
СтрокаТЧ.Стоимость=СтрокаТЧ.Количество*СтрокаТЧ.Цена; КонецПроцедуры &НаКлиенте Процедура ТоварыСтрокаТЧПриИзменении(Элемент) КлиентскийМодуль.РассчитатьСтоимость(Элементы.Товары.ТекущиеДанные); КонецПроцедуры |
|||
10
ghostrid3r
04.12.12
✎
18:47
|
(9) попробовал как ты написал, добавил процедуру в модуль объекта но в модуле управляемой формы я ее никак не могу вызвать.
|
|||
11
Serginio1
04.12.12
✎
18:53
|
Попробуй вместо строки, передать структуру. На 8.1 не проходит из-за того сто строка ссылается на владельца
|
|||
12
Serginio1
04.12.12
✎
19:07
|
Функция СтрокаТаблицыЗначенийВСтруктуру(СтрокаТаблицыЗначений) Экспорт
Структура = Новый Структура; Для каждого Колонка Из СтрокаТаблицыЗначений.Владелец().Колонки Цикл Структура.Вставить(Колонка.Имя, СтрокаТаблицыЗначений[Колонка.Имя]); КонецЦикла; Возврат Структура; КонецФункции |
|||
13
ghostrid3r
04.12.12
✎
19:11
|
(12) попробовал твой вариант, результата он не принес.
|
|||
14
Wobland
04.12.12
✎
19:20
|
(10) ты заметил, что у меня всё на клиенте происходит?
|
|||
15
ghostrid3r
04.12.12
✎
19:36
|
(14) Ну на клиенте но эспортная функция где находиться в модуле объекта?
|
|||
16
Wobland
04.12.12
✎
20:03
|
(15) d КлиентскийМодуль
|
|||
17
ghostrid3r
04.12.12
✎
20:15
|
(16) Тогда раскажи мне плз, как я тебе на клиенте буду запросы делать?
|
|||
18
Wobland
04.12.12
✎
20:24
|
(17) никак. можно вычисленное значение клиенту вручить
|
|||
19
Serginio1
05.12.12
✎
10:48
|
А вот зачем тебе передавать строку, если тебе нужно всего только ОсновноеСредство
Функция ЗаполнитьНалоговоеНазначениеОС(ОсновноеСредство) НалоговоеНазначение = Неопределено; ДатаСреза = Новый Граница(?(Параметры.Ключ.Пустая(), КонецДня(Объект.Дата), Объект.Ссылка.МоментВремени()), ВидГраницы.Исключая); Отбор = Новый Структура("Организация, ОсновноеСредство", Объект.Организация, ОсновноеСредство); СведенияОНалоговомНазначение = РегистрыСведений.НалоговыеНазначенияОС.СрезПоследних(ДатаСреза, Отбор); Если СведенияОНалоговомНазначение.Количество() > 0 Тогда НалоговоеНазначение = СведенияОНалоговомНазначение[0].НалоговоеНазначение; КонецЕсли; Возврат НалоговоеНазначение; КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |