| 
    
            
         
         | 
    
    
  | 
Как получить "Объект" на клиенте? | ☑ | ||
|---|---|---|---|---|
| 
    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) "с сервера клиентскую не вызвать (неожиданно, да?)"  Не понял, это к чему?!     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |