Попросил меня бухгалтер сделать так, чтобы после загрузки из банка выписки, она проходила бы в журнале Выписки по документам поступлениям Денежных средств, заходила в нужный и не правила каждый раз одни и те же поля на форме, а нажимала кнопку и нужные поля автоматом заполнялись - избавить ее от рутинной работы. Пришлось повозиться с обработкой заполнения:
1. Был вариант менять на открытой форме реквизиты, в принципе он сработал
&НаКлиенте
Процедура Выбрать(Команда)
//****************************************************************************
Форма=ВладелецФормы;
Элементы1 = Форма.Элементы;
Форма.Объект.ВидОперации=СерверДайПеречисленияВидыОперацийПоступлениеДенежныхСредствПрочееПоступление();
Форма.Объект.СчетУчетаРасчетовСКонтрагентом= ДайСчетовПоКодуСервер("90.01.1");
Форма.Объект.СубконтоКт1= СерверДайСправочникиНоменклатурныеГруппыНайтиПоНаименованию("Проценты по займам полученные");
Форма.Объект.СубконтоКт2= СерверДайПеречисленияСтавкиНДСБезНДС();
Форма.Объект.СубконтоКт3= СерверДайСправочникиНоменклатураНайтиПоНаименованию("Проценты по займам полученные");
Форма.Объект.Графа5_УСН=Форма.Объект.СуммаДокумента;
Форма.Объект.СтатьяДвиженияДенежныхСредств=СерверДайСправочникиСтатьиДвиженияДенежныхСредств("Прочие поступления");
ПоступлениеНаРасчетныйСчетФормыКлиент.СчетУчетаПрочиеПриИзмененииКлиент(Форма, Форма.Объект.Графа6_УСН);
Если НЕ ЗначениеЗаполнено(Форма.Объект.ВидОперации) Тогда
Возврат;
КонецЕсли;
Элементы1.СчетБанк.Видимость=истина;
Элементы1.ГруппаСтатьяДДС.Видимость = Истина;
Элементы1.ГруппаОтражениеВУСН.Видимость = истина;
Элементы1.ГруппаПлатежПрочие.Видимость = истина;
Элементы1.ГруппаОтражениеВБУ.Видимость = истина;
Элементы1.ГруппаПлатежПрочие.Видимость = истина;
Элементы1.ГруппаАналитика.Видимость = ложь;
Элементы1.ГруппаЛево.Видимость = ложь;
Элементы1.ГруппаПраво.Видимость = ложь;
Форма.Объект.ВидОперации="";
Закрыть(0);
КонецПроцедуры
Этот метод хорош, когда ты сам или с помощью общих модулей для клиента можешь вызвать ПриИзменении (куда можно передать ФормаВладелец) и поменять поведение реквизитов на форме в зависимости от их значения. В моем случае не подошло!
2. Я воспользовался другим вариантом, когда, имея ссылку на объект, вносишь изменения в документ, записываешь его и перечитываешь форму, через Оповестить.
&НаСервере
процедура ЗаполнитьЧтоНадоНаСервере()
об=Объект.СсылкаНаОбъект.ПолучитьОбъект();
об.ВидОперации=Перечисления.ВидыОперацийПоступлениеДенежныхСредств.ПрочееПоступление;
об.СчетУчетаРасчетовСКонтрагентом=ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.01.1");
об.СубконтоКт1=Справочники.НоменклатурныеГруппы.НайтиПоНаименованию("Проценты по займам полученные");
об.СубконтоКт2= Перечисления.СтавкиНДС.БезНДС;
об.СубконтоКт3= Справочники.Номенклатура.НайтиПоНаименованию("Проценты по займам полученные");
об.Графа5_УСН=об.СуммаДокумента;
об.Содержание_УСН="Проценты по займам полученные";
об.СтатьяДвиженияДенежныхСредств=Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоНаименованию("Прочие поступления");
об.Записать(РежимЗаписиДокумента.Проведение);
КонецПроцедуры
&НаКлиенте
Процедура Выбрать(Команда)
ЗаполнитьЧтоНадоНаСервере();
Оповестить("ВыполненаЗаписьДокумента", Новый Структура("ДокументСсылка", Объект.СсылкаНаОбъект));
Закрыть(0);
КонецПроцедуры
Проверялось на Бухгалтерия предприятия, редакция 3.0 (3.0.57.17).