|
Как получить "Объект" на клиенте? | ☑ | ||
---|---|---|---|---|
0
SkillUp
14.01.20
✎
12:47
|
Пошагово:
1). Получаю массив сылок, где надо изменить кассы. 2). Из Типовой есть обработчик (На клиенте): &НаКлиенте Процедура КассаПриИзменении(Элемент) СтруктурыРеквизитов = РеквизитыКассыИКассыККМ(Объект.Касса, Объект.КассаККМ); СтруктураРеквизитовКассы = СтруктурыРеквизитов.РеквизитыКассы; // запрещено изменение валюты взаиморасчетов относительно валюты документа оплаты (кроме упр. организации) Если СтруктураРеквизитовКассы.Валюта <> Объект.Валюта Тогда Отказ = Ложь; ФинансыКлиент.ОчиститьСтроки(Объект, Отказ,,,СтруктураРеквизитовКассы.Организация); Если Отказ Тогда Объект.Касса = ТекущаяКасса; Возврат; КонецЕсли; КонецЕсли; Если Не ФинансыКлиент.НеобходимПересчетВВалюту(Объект, Объект.Валюта, СтруктураРеквизитовКассы.Валюта) Тогда КассаПриИзмененииСервер(СтруктурыРеквизитов, Ложь); ФинансыКлиент.ОчиститьСуммуИВалютуВзаиморасчетовРасшифровкиПлатежа(Объект); ИначеЕсли ФинансыКлиент.РазрешенПересчетВВалюту(СтруктураРеквизитовКассы.Валюта) Тогда ТекущаяВалюта = Объект.Валюта; КассаПриИзмененииСервер(СтруктурыРеквизитов, Истина); ФинансыКлиент.ОчиститьСуммуИВалютуВзаиморасчетовРасшифровкиПлатежа(Объект); ЦенообразованиеКлиент.ОповеститьОбОкончанииПересчетаСуммВВалюту(ТекущаяВалюта, Объект.Валюта); Иначе Объект.Касса = ТекущаяКасса; КассаПриИзмененииСервер(СтруктурыРеквизитов, Ложь); КонецЕсли; СброситьУстановленныйНомерОрдера(); КонецПроцедуры Вот, если взять из этой процедуры, процедуру - "ФинансыКлиент.ОчиститьСтроки(Объект, Отказ,,,СтруктураРеквизитовКассы.Организация);" Она клиентская! И как мне обработать, если на клиенте я не могу получить объект? // Процедура при необходимости очищает строки в табличной части "Расшифровка платежа". // // Параметры: // Объект - ДанныеФормыСтруктура - Текущий документ // |
|||
1
Жан Пердежон
14.01.20
✎
12:53
|
Написано же, что Объект- это ДанныеФормыСтруктура, проблема то в чем?
|
|||
2
vicof
14.01.20
✎
12:56
|
(1) Судя по всему, объект не хочет изменяться на клиенте
|
|||
3
SkillUp
14.01.20
✎
12:57
|
(1) Как получить по ссылке (из внешнней обработке), Объект? Может не понимаю, объясните?
Ссылка.ПолучитьОбъект(); На клиенете не прокатит. Тогда как?! Эти "ДанныеФормыСтруктура" получить по ссылке? |
|||
4
pechkin
14.01.20
✎
12:59
|
вместо объекта можно структуру подсунуть
|
|||
5
SkillUp
14.01.20
✎
13:01
|
(4) Хоть что-то...
|
|||
6
vicof
14.01.20
✎
13:02
|
(3) "Тогда как?!" На сервере
|
|||
7
SkillUp
14.01.20
✎
13:04
|
(6) Как на сервере я вызову процедуру, ФинансыКлиент.ОчиститьСтроки(Объект, Отказ,,,СтруктураРеквизитовКассы.Организация); - она клиентская!
|
|||
8
SkillUp
14.01.20
✎
13:04
|
(4)
Функция ПолучитьСтруктуру(знач Объект) Экспорт Структура = Новый Структура(); /// реквизиты Для каждого Реквизит из Объект.Метаданные().Реквизиты Цикл Структура.Вставить(Реквизит.Имя, Объект[Реквизит.Имя]); КонецЦикла; /// таблицы Для каждого ТабличнаяЧасть из Объект.Метаданные().ТабличныеЧасти Цикл Структура.Вставить(ТабличнаяЧасть.Имя, Объект[ТабличнаяЧасть.Имя].Выгрузить()); КонецЦикла; Возврат Структура; КонецФункции Так?! |
|||
9
vicof
14.01.20
✎
13:05
|
(7) Напиши свою. С блэкджеком и куртизанками.
|
|||
10
pechkin
14.01.20
✎
13:05
|
(7) скажи спасибо разработчиком что они не знают паттерна MVC
|
|||
11
SkillUp
14.01.20
✎
13:06
|
(10) Даже и не знаю...
|
|||
12
Жан Пердежон
14.01.20
✎
13:07
|
(7) с сервера клиентскую не вызвать (неожиданно, да?)
(10) ты, судя по всему, тоже |
|||
13
pechkin
14.01.20
✎
13:10
|
(12) Хорошо что хоть ты знаешь
|
|||
14
SkillUp
14.01.20
✎
13:10
|
(12) "с сервера клиентскую не вызвать (неожиданно, да?)" Не понял, это к чему?!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |