48 lines
3.0 KiB
Plaintext
48 lines
3.0 KiB
Plaintext
импорт Основное
|
||
импорт Мероприятия
|
||
импорт Общие::КурсыВалют
|
||
|
||
@Обработчик
|
||
метод ПриЗаполнении()
|
||
Стадия = СтадииСделок.ПолучитьНачальнуюСтадию()
|
||
ВалютаСделки = Валюты.ПолучитьБазовуюВалюту()
|
||
Ответственный = ПользователиКлиентИСервер.ПолучитьДанныеТекущегоПользователя().Сотрудник
|
||
;
|
||
|
||
@Обработчик
|
||
метод ПередЗаписью(ПредыдущееЗначение: Сделки.Данные, ПараметрыЗаписи: Сделки.ПараметрыЗаписи)
|
||
если не Услуги.Пусто()
|
||
СуммаВВалютеСделки = Услуги.Преобразовать(Услуга -> Услуга.Сумма).Свернуть((Сумма1, Сумма2) -> (Сумма1 + Сумма2))
|
||
;
|
||
|
||
если ПараметрыЗаписи.ПересчитатьСуммуВВалютеУчета != Ложь
|
||
знч ВалютаУчета = Валюты.ПолучитьБазовуюВалюту()
|
||
если ВалютаСделки != ВалютаУчета
|
||
СуммаВВалютеУчета = КурсыВалютСервер.ПересчитатьПоКурсу(СуммаВВалютеСделки, ВалютаСделки)
|
||
иначе
|
||
СуммаВВалютеУчета = СуммаВВалютеСделки
|
||
;
|
||
;
|
||
|
||
если ДатаСоздания == Момент{}
|
||
ДатаСоздания = Момент.Сейчас()
|
||
;
|
||
;
|
||
|
||
@Обработчик
|
||
метод ПослеЗаписи(До: Сделки.Данные, ПараметрыЗаписи: Сделки.ПараметрыЗаписи)
|
||
если Клиент != До.Клиент
|
||
ПересчитатьРазрешенияДоступаСвязанныхОбъектов()
|
||
;
|
||
;
|
||
|
||
метод ПересчитатьРазрешенияДоступаСвязанныхОбъектов()
|
||
исп КонтекстДоступа.Привилегированный()
|
||
|
||
// Разрешения Задач и Событий зависят от их Сделок
|
||
знч ЗадачиСделки = Сделки.ПолучитьЗадачиСделки(Ссылка).Преобразовать(ЗадачаСсылка -> ЗадачаСсылка.ЗагрузитьОбъект()!)
|
||
Задачи.ПересчитатьРазрешенияДоступаДляОбъектов(ЗадачиСделки)
|
||
|
||
знч СобытияСделки = Сделки.ПолучитьСобытияСделки(Ссылка).Преобразовать(СобытиеСсылка -> СобытиеСсылка.ЗагрузитьОбъект()!)
|
||
События.ПересчитатьРазрешенияДоступаДляОбъектов(СобытияСделки)
|
||
; |