Семерка ПослеЗаписи

  1. 9 г. назад

    Как грамотно организовать событие ПослеЗаписи документа на семерке? Нужно после записи нового создавать элемент справочника с сылкой на документ.

  2. в ПриЗаписи делай

  3. Если новый документа там, насколько я понял, ссылка еще пустая.

  4. Надо переопределять кнопки ОК, Записать

  5. а документ проводится? может, в проведении лучше сделать?

  6. вот, например, кусок из типовой:

    Процедура ОбработкаПроведения(ВидыДвижений)
                           
        Если Договор.Выбран()=0 Тогда
            // в этом случае подставим по умолчанию предопределенного контрагента
            СпрКонтрагенты = СоздатьОбъект("Справочник.Контрагенты");
            НаимКонтрагента = "Розничная продажа";
            Если СпрКонтрагенты.НайтиПоНаименованию(НаимКонтрагента,0,1) = 0 Тогда
                // создаем юрлицо
                СпрЮрЛица = СоздатьОбъект("Справочник.ЮрЛица");
                СпрЮрЛица.Новый();
                СпрЮрЛица.Наименование     = НаимКонтрагента;
                СпрЮрЛица.ПолнНаименование = НаимКонтрагента;
                Попытка
                    СпрЮрЛица.Записать();
                Исключение   
                    глНеПроводить(Контекст,ОписаниеОшибки());Возврат;
                КонецПопытки;         
                
                // создаем контрагента
                СпрКонтрагенты.Новый();
                СпрКонтрагенты.Наименование = НаимКонтрагента;
                СпрКонтрагенты.ЮрФизЛицо    = СпрЮрЛица.ТекущийЭлемент();
                Попытка
                    СпрКонтрагенты.Записать();
                Исключение   
                    глНеПроводить(Контекст,ОписаниеОшибки());Возврат;
                КонецПопытки;
    
    
    Ответы: (6)
  7. 27.08.2015 09:16:18 отредактировано Hans

    (5) Да, уже нашел тоже пример в какой то конфе. Сделал по аналогии:

    Если Выбран() = 0 Тогда
            
            СтатусВозврата(0);
            
            НачатьТранзакцию();
    
            Попытка
                Записать();
        
            Исключение
                ОтменитьТранзакцию();
                Сообщить("Запись заказа наряда: " + ОписаниеОшибки(), "!");
                Возврат;
        
            КонецПопытки;
            
            Диспетчеризация = СоздатьОбъект("Справочник.Диспетчеризация");
            Диспетчеризация.Новый();
            Диспетчеризация.Заказнаряд = ТекущийДокумент();
            Диспетчеризация.Записать(); 
            
            ЗафиксироватьТранзакцию();
            
        КонецЕсли;

    Все это засунул в ПриЗаписи

или зарегистрируйтесь чтобы ответить!