Имя: Пароль:
1C
1С v8
Помогите разобраться с условием.
0 dred999
 
17.09.15
10:19
Всем привет. Начинаю программировать и пишу обработку в которой есть условие: Если ВидЗаполнения = 3 Тогда
        Авансы()
    КонецЕсли;
Проблема в том что отработав это условие он дальше продолжает выполнять код и создает 2 документа 1. документ в процедуре Аванс, а второй документ в процедуре ОсновныеДействияФормыОсновныеДействияФормыВыполнить

Как правильно поставить условие чтоб если
Если ВидЗаполнения = 3 Тогда Авансы() КонецЕсли; чтобы создавался документ только в процедуре Авансы.????? подскажите добры люди!!!
Ниже сам код:

Процедура ОсновныеДействияФормыОсновныеДействияФормыВыполнить(Кнопка)
    
    Если ТаблицаЗагрузки.Количество()=0 Тогда
        Возврат;
    КонецЕсли;
    
    Если ВидЗаполнения = 0 Тогда
        ВидПремии = ПланыВидовРасчета.ДополнительныеНачисленияОрганизаций.Больничный_юд;
    ИначеЕсли ВидЗаполнения = 1 Тогда
        ВидПремии = ПланыВидовРасчета.ДополнительныеНачисленияОрганизаций.Отпуск_юд;
    ИначеЕсли ВидЗаполнения = 2 Тогда
        ВидПремии = ПланыВидовРасчета.ДополнительныеНачисленияОрганизаций.КомпенсацияПриУвольнении_юд;
    КонецЕсли;
    Если ВидЗаполнения = 3 Тогда
        Авансы()
    КонецЕсли;
    
    НовыйДокумент = Документы.ПремииРаботниковОрганизаций.СоздатьДокумент();
    НовыйДокумент.Дата = Дата;
    НовыйДокумент.Организация = Организация;
    НовыйДокумент.ВидРасчета = ВидПремии;
    
    ТабличнаяЧастьНачисления = НовыйДокумент.Начисления;
    Для каждого СтрокаТаблицаЗагрузки Из ТаблицаЗагрузки Цикл
        НоваяСтрока = ТабличнаяЧастьНачисления.Добавить();             
        НоваяСтрока.Сотрудник = СтрокаТаблицаЗагрузки.Сотрудник;
        НоваяСтрока.Результат = СтрокаТаблицаЗагрузки.Результат;
    КонецЦикла;
    НовыйДокумент.Записать(РежимЗаписиДокумента.Запись);
    Сообщить("Создан новый документ!!! " + НовыйДокумент );
КонецПроцедуры

Процедура Авансы()
    Если ТаблицаЗагрузки.Количество()=0 Тогда
        Возврат;
    КонецЕсли;
    
    НовыйДокумент = Документы.ЗарплатаКВыплатеОрганизаций.СоздатьДокумент();
    НовыйДокумент.Дата = Дата;
    НовыйДокумент.Организация = Организация;
    НовыйДокумент.ХарактерВыплаты = Перечисления.ХарактерВыплатыЗарплаты.ПлановыйАванс;
    НовыйДокумент.СпособВыплаты = Перечисления.СпособыВыплатыЗарплаты.ЧерезКассу;
        
    ТабличнаяЧастьАванс = НовыйДокумент.Зарплата;
    Для каждого СтрокаТаблицаЗагрузки Из ТаблицаЗагрузки Цикл
        НоваяСтрока = ТабличнаяЧастьАванс.Добавить();             
        НоваяСтрока.Физлицо = СтрокаТаблицаЗагрузки.Сотрудник;
        НоваяСтрока.Сумма = СтрокаТаблицаЗагрузки.Результат;
        НоваяСтрока.ВыплаченностьЗарплаты = Перечисления.ВыплаченностьЗарплаты.Выплачено;
    КонецЦикла;
    
    НовыйДокумент.Записать(РежимЗаписиДокумента.Запись);
    Сообщить("Создан новый документ!!! " + НовыйДокумент );
    
КонецПроцедуры
1 aleks_default
 
17.09.15
10:20
Если ВидЗаполнения = 3 Тогда
Авансы()
Иначе
возврат
КонецЕсли;
2 aleks_default
 
17.09.15
10:21
Ой
т. е.
Если ВидЗаполнения = 3 Тогда
Авансы()
возврат
КонецЕсли;
3 dred999
 
17.09.15
10:22
(2) Попробую
4 dred999
 
17.09.15
10:24
(2) Спасибо! Работает!!!!!
5 dred999
 
17.09.15
10:25
Тема закрыта!