Имя: Пароль:
1C
1С v8
Документ АвансовыйОтчет
0 bcosta
 
11.06.14
10:17
Добрый день!
БП 3.0
Есть внешняя обработка, которая выгружает документ АвансовыйОтчет из файла, открывает форму документа в БП и заполняет ее данными.

&НаКлиенте
Процедура ЗагрузитьАО(Команда)
    
    Форма = ПолучитьФорму("Документ.АвансовыйОтчет.ФормаОбъекта");
    ДанныеФормы = Форма.Объект;
    ЗагрузитьАОНаСервере(ДанныеФормы);
    КопироватьДанныеФормы(ДанныеФормы, Форма.Объект);
    Форма.Открыть();
    
КонецПроцедуры


&НаСервереБезКонтекста
Процедура ЗагрузитьАОНаСервере(ДанныеФормы)

    НовыйАО = ДанныеФормыВЗначение(ДанныеФормы, Тип("ДокументОбъект.АвансовыйОтчет"));
    НовыйАО.Дата = Дата;
    НовыйАО.ФизЛицо = ФизЛицо;
    //и т.д.

    СтрокаПрочее = НовыйАО.Прочее.Добавить();
    СтрокаПрочее.Номенклатура = Номенклатура;
    //и т.д.

    ЗначениеВДанныеФормы(НовыйАО, ДанныеФормы);

КонецПроцедуры


В модуле формы документа есть процедура ПрочееНоменклатураПриИзменении, которая заполняет в строке Прочее СчетЗатрат, СчетЗатратНУ, ПодразделениеЗатрат, СчетУчетаНДС. Каким образом обратиться к этой процедуре из модуля формы обработки при добавлении строк Прочее на форму документа АвансовыйОтчет?
1 nufnufcheg
 
11.06.14
10:34
посмотри что в процедуре ПрочееНоменклатураПриИзменении. Скорее всего там дальнейшее обращение к процедуре общего модуля и передача в нее текущей строки. возьми ее
2 bcosta
 
11.06.14
10:38
(1) А напрямую никак к ней не обратиться?
3 nufnufcheg
 
11.06.14
10:48
(2) я тебе про это и говорю, посмотри какая процедура вызывается в ПрочееНоменклатураПриИзменении и обратись к ней напрямую
4 bcosta
 
11.06.14
10:49
(3)
&НаКлиенте
Процедура ПрочееНоменклатураПриИзменении(Элемент)
    
    ТекущиеДанные = Элементы.Прочее.ТекущиеДанные;
    
    ДанныеСтрокиТаблицы = Новый Структура(
        "Номенклатура, Содержание,
        |СтавкаНДС, СчетУчетаНДС, СпособУчетаНДС,
        |СчетЗатрат, Субконто1, Субконто2, Субконто3,
        |СчетЗатратНУ, СубконтоНУ1, СубконтоНУ2, СубконтоНУ3,
        |ПодразделениеЗатратДоступность,
        |Субконто1Доступность, Субконто2Доступность, Субконто3Доступность,
        |СубконтоНУ1Доступность, СубконтоНУ2Доступность, СубконтоНУ3Доступность");
    
    ЗаполнитьЗначенияСвойств(ДанныеСтрокиТаблицы, ТекущиеДанные);
    
    ДанныеОбъекта = Новый Структура(
        "Дата, Организация, Склад, СуммаВключаетНДС");
    ЗаполнитьЗначенияСвойств(ДанныеОбъекта, Объект);
    
    ПрочееНоменклатураПриИзмененииНаСервере(ДанныеСтрокиТаблицы, ДанныеОбъекта);
    
    ЗаполнитьЗначенияСвойств(ТекущиеДанные, ДанныеСтрокиТаблицы);
    
    УстановитьЗаголовкиИДоступностьСубконто(ЭтаФорма, ТекущиеДанные.СчетЗатрат, "", Истина, Истина);
    УстановитьЗаголовкиИДоступностьСубконто(ЭтаФорма, ТекущиеДанные.СчетЗатратНУ, "НУ", Ложь, Истина);
    
    ПоляОбъекта = Новый Структура("Субконто1, Субконто2, Субконто3",
        "Субконто1", "Субконто2", "Субконто3");
    ПоляОбъекта.Вставить("Подразделение", "ПодразделениеЗатрат");
    ПоляОбъекта.Вставить("Организация"  , Объект.Организация);
    БухгалтерскийУчетКлиентСервер.ПриИзмененииСчета(ТекущиеДанные.СчетЗатрат, ТекущиеДанные, ПоляОбъекта, Истина);
    
    ПоляОбъекта = Новый Структура("Субконто1, Субконто2, Субконто3",
        "СубконтоНУ1", "СубконтоНУ2", "СубконтоНУ3");
    БухгалтерскийУчетКлиентСервер.ПриИзмененииСчета(ТекущиеДанные.СчетЗатратНУ, ТекущиеДанные, ПоляОбъекта, Истина);
    
КонецПроцедуры
5 nufnufcheg
 
11.06.14
11:01
БухгалтерскийУчетКлиентСервер.ПриИзмененииСчета