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