ПомогитеНачинающему

1. Radmir_Marvin 31.01.21 13:57 Сейчас в теме
Ошибка в этом


{Документ.НачислениеОклада.МодульОбъекта(35,8)}: Переменная не определена (Норма)
Если <<?>>Норма <> 0 Тогда (Проверка: Сервер)
{Документ.НачислениеОклада.МодульОбъекта(36,59)}: Переменная не определена (Норма)
Оклад = ВыборкаДетальныеЗаписи.РасчетныеДанные * Факт / <<?>>Норма; (Проверка: Сервер)
{Документ.НачислениеОклада.МодульОбъекта(36,52)}: Переменная не определена (Факт)
Оклад = ВыборкаДетальныеЗаписи.РасчетныеДанные * <<?>>Факт / Норма; (Проверка: Сервер)

ВОт код

Процедура ОбработкаПроведения(Отказ, Режим)
	
	// регистр ЗаработнаяПлата
	Движения.ЗаработнаяПлата.Записывать = Истина;
	Движение = Движения.ЗаработнаяПлата.Добавить();
	Движение.Сторно = Ложь;
	Движение.ВидРасчета = ПланыВидовРасчета.Начисление.Оклад;
	Движение.ПериодДействияНачало = НачалоМесяца(Дата);
	Движение.ПериодДействияКонец = КонецМесяца(Дата);
	Движение.ПериодРегистрации = Дата;
	Движение.Сотрудник = Сотрудник;
	Движение.РасчетныеДанные = Сумма;

	Движения.Записать();
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ЗаработнаяПлатаДанныеГрафика.РабочийДеньПериодДействия КАК Норма,
		|	ЗаработнаяПлатаДанныеГрафика.РабочийДеньФактическийПериодДействия КАК Факт,
		|	ЗаработнаяПлатаДанныеГрафика.РасчетныеДанные
		|ИЗ
		|	РегистрРасчета.ЗаработнаяПлата.ДанныеГрафика(Регистратор = &Регистратор) КАК ЗаработнаяПлатаДанныеГрафика";
	
	Запрос.УстановитьПараметр("Регистратор", Ссылка);
	
	РезультатЗапроса = Запрос.Выполнить();
	
	Если НЕ РезультатЗапроса.Пустой()Тогда 
		
		ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
		ВыборкаДетальныеЗаписи.Следующий();
		
		Если Норма <> 0 Тогда
		Оклад = ВыборкаДетальныеЗаписи.РасчетныеДанные * Факт / Норма;
		Движение.Сумма = Оклад;
		
		
	Иначе
		Сообщить("Неверно заполнен график!");
	КонецЕсли;
		
	КонецЕсли;
		
	
		
		
	
	
КонецПроцедуры
Показать
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. spacecraft 31.01.21 14:13 Сейчас в теме
(1)
Если ВыборкаДетальныеЗаписи.Норма <> 0 Тогда
Оклад = ВыборкаДетальныеЗаписи.РасчетныеДанные * ВыборкаДетальныеЗаписи.Факт / ВыборкаДетальныеЗаписи.Норма;
3. mazechild 04.02.21 15:39 Сейчас в теме
Ещё надо добавить Отказ = Истина;. Если вам надо, чтобы график был заполнен верно и документ не провёлся.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот