Имя: Пароль:
1C
1С v8
Условие на отказ создания с-фактуры
0 lirt82
 
30.10.17
17:00
Подскажите куда правильно разместить свой код. Есть док Реализации, на его форме есть надпись "Оформить счет-фактуру" если наше условие выполняется то с-фактура создается. В модуле объекта СчетФактураВыданный в Процедуре ЗаполнитьПоДокументуОснованию(ДанныеЗаполнения) можно дабавить свой код с условием, но затем следует в модуле формы процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) как в эту процедуру передать наш результат проверки чтоб не создавался объект? Если свою проверку поставить в модуль формы в процедуру ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) тогда при каждом открытии формы будет проверка) но нам нужно проверять еще на этапе создания объекта а не его формы.
1 lirt82
 
30.10.17
17:02
насколько я понимаю в модуле формы в процедуре ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) мы обрабатываем форму уже имеющегося в базе объекта?
2 LeoKeyn
 
30.10.17
17:16
(0) Есть процедура ПередСозданиемНаСервере(Отказ, СтандартнаяОбработка)
3 LeoKeyn
 
30.10.17
17:17
(0) или в СоздатьНаОсновании вызывай прерывание, если условие не выполняется
4 isa2net
 
30.10.17
17:30
(0) Как вариант по примеру УТ11


// Осуществляет проверку заполненности проверяемых реквизитов.
//
// Параметры:
// Документ           - ДокументСсылка - Документ, на основании которого осуществляется ввод
// Статус             - Статус документ, на основании которого осуществляется ввод
// ЕстьОшибкиПроведен - Булево - Если Истина - документ, на основании которого осуществляется ввод, не проведен
// ЕстьОшибкиСтатус   - Булево - Если Истина - документ, на основании которого осуществляется ввод, имеет некорректный статус
// СоглашениеДоступноВнешнемуПользователю Булево - Если Истина - документ на основаннии которого осуществляется ввод имеет соглашение
//                                                               доступное внешнему пользователю.
//
Процедура ПроверитьВозможностьВводаНаОсновании(Документ,
                                               Статус = Неопределено,
                                               ЕстьОшибкиПроведен = Ложь,
                                               ЕстьОшибкиСтатус = Ложь,
                                               МассивДопустимыхСтатусов = Неопределено,
                                               СоглашениеДоступноВнешнемуПользователю = Неопределено) Экспорт
    
    Если ЕстьОшибкиПроведен Тогда
        
        ТекстОшибки = НСтр("ru='Документ %Документ% не проведен. Ввод на основании непроведенного документа запрещен.'");
        ТекстОшибки = СтрЗаменить(ТекстОшибки, "%Документ%", Документ);
    
        ВызватьИсключение ТекстОшибки;
        
5 lirt82
 
31.10.17
07:41
(3) так и сделал, через ВызватьИсключение("Текст с ошибкой")
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.