1. Stanislav1993 09.10.18 10:59 Сейчас в теме

Ежемесячные премии(штрафы)

Здравствуйте. Имеет документ начисление премии(штрафа). В документе есть реквизит типа перечисление "ПериодОплаты" со значениями : -единовременно и ежемесячно.
При проведении документа со значением "единовременно" в отчете отображается сумма начисления, но со значением ежемесячно, данных нет.

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
	// Данный фрагмент построен конструктором.
	// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

	// регистр НачисленныеШтрафыИПремии Приход
	Движения.НачисленныеШтрафыИПремии.Записывать = Истина;
	Для Каждого ТекСтрокаШтрафы Из Штрафы Цикл
		//Движение = Движения.НачисленныеШтрафыИПремии.Добавить();
		Если ТекСтрокаШтрафы.ШтрафИлиПремия = Перечисления.ШтрафИлиПремия.Надбавка Тогда
			Если ТекСтрокаШтрафы.ПериодОплаты = ОбщегоНазначения.ПолучитьВидНачисления(2) Тогда 
				Для сч = 0 По ТекСтрокаШтрафы.ВыплатаВМесяц -1 Цикл
				Движение = Движения.НачисленныеШтрафыИПремии.Добавить();
				Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
				Движение.Период = ДобавитьМесяц(Дата,сч);
				Движение.Сотрудник = ТекСтрокаШтрафы.Сотрудник;
				Движение.Причина = ТекСтрокаШтрафы.Основание;
				Движение.ВидДенежнойВыплаты = Перечисления.ШтрафИлиПремия.Надбавка;
				Движение.ПроцентОтОбшейСуммы = ТекСтрокаШтрафы.Проценты;
				КонецЦикла;
			Иначе
				Движение = Движения.НачисленныеШтрафыИПремии.Добавить();
				Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
				Движение.Период = Дата;
				Движение.Сотрудник = ТекСтрокаШтрафы.Сотрудник;
				Движение.Причина = ТекСтрокаШтрафы.Основание;
				Движение.ВидДенежнойВыплаты = Перечисления.ШтрафИлиПремия.Надбавка;
				Движение.Сумма = ТекСтрокаШтрафы.Итог;
			КонецЕсли;
		ИначеЕсли ТекСтрокаШтрафы.ШтрафИлиПремия = Перечисления.ШтрафИлиПремия.Снижение Тогда
			Если ТекСтрокаШтрафы.ПериодОплаты = ОбщегоНазначения.ПолучитьВидНачисления(2) Тогда 
				Для сч = 0 По ТекСтрокаШтрафы.ВыплатаВМесяц -1 Цикл
				Движение = Движения.НачисленныеШтрафыИПремии.Добавить();
				Движение.ВидДвижения = ВидДвиженияНакопления.расход;
				Движение.Период = ДобавитьМесяц(Дата,сч);
				Движение.Сотрудник = ТекСтрокаШтрафы.Сотрудник;
				Движение.Причина = ТекСтрокаШтрафы.Основание;
				Движение.ВидДенежнойВыплаты = Перечисления.ШтрафИлиПремия.Снижение;
				Движение.ПроцентОтОбшейСуммы = ТекСтрокаШтрафы.Проценты;
				КонецЦикла;
	
			Иначе
			Движение = Движения.НачисленныеШтрафыИПремии.Добавить();
			Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
			Движение.Период = Дата;
			Движение.Сотрудник = ТекСтрокаШтрафы.Сотрудник;
			Движение.Причина = ТекСтрокаШтрафы.Основание;
			Движение.ВидДенежнойВыплаты = Перечисления.ШтрафИлиПремия.Снижение;
			Движение.Сумма = ТекСтрокаШтрафы.Итог;
			КонецЕсли;
		КонецЕсли; 
	КонецЦикла;
	//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

Показать
Прикрепленные файлы:
Ответы
Избранное Подписка Сортировка: Древо
13. Doreng 10 09.10.18 11:48 Сейчас в теме
(1)
Если ТекСтрокаШтрафы.ПериодОплаты = ОбщегоНазначения.ПолучитьВидНачисления(2) Тогда

Сложно понять, но полагаю, что ошибка тут. У Вас условие сваливается в иначе постоянно.
2. user614822 09.10.18 11:21 Сейчас в теме
Это что за тема? Вопрос, или делитесь своими открытиями? Тогда опять же непонятно, где открыли...
4. Stanislav1993 09.10.18 11:34 Сейчас в теме
(2)я все описал выше данной проблемы.
5. user614822 09.10.18 11:38 Сейчас в теме
(4) Что описал? там ни одного вопросительного знака.
Вы спрашиваете или нам объясняете?
Похоже на разговор в курилке - "а я вот такое нарыл..." ну нарыл и нарыл...
Оно чем-то кому-то мешает? Может так задумано?
6. Stanislav1993 09.10.18 11:38 Сейчас в теме
(5)При проведении документа со значением "единовременно" в отчете отображается сумма начисления, но со значением ежемесячно, данных нет. Вот текст проблемы. Что проводка не осуществляется.
3. feva 131 09.10.18 11:34 Сейчас в теме
Если это ЗУП - то единовременная - это та которая выплатится сразу и соответственно она уже попала в начисления, а ежемесячная та - которая будет попадать в начисление документ при формировании его.
15. Stanislav1993 09.10.18 11:50 Сейчас в теме
(3)конфигурация самописная.
19. user614822 09.10.18 11:59 Сейчас в теме
А народ подумал что это ЗУП! И роется в поисках вашей проблемы... посмотрите (3)...
20. Stanislav1993 09.10.18 12:01 Сейчас в теме
(19)Возможно я сделал ошибку в обработке...есть замечания?
7. Stanislav1993 09.10.18 11:39 Сейчас в теме
Я поднял эту тему, чтобы спросить и выяснить у людей, сталкивались с такой проблемой или нет.
8. user614822 09.10.18 11:40 Сейчас в теме
9. Stanislav1993 09.10.18 11:41 Сейчас в теме
(8)Вот теперь спрашиваю. Так недавно дали мне задание решить эту проблему.
10. user614822 09.10.18 11:42 Сейчас в теме
Учитесь общаться - вы будете лучше понимать людей и люди начнут понимать вас.
А то у нас обычно каждый слышит только себя и считает, что всем и так должно быть понятно , что там у меня в голове...
11. Stanislav1993 09.10.18 11:44 Сейчас в теме
14. user614822 09.10.18 11:48 Сейчас в теме
Так ка же мы узнаем тайные ваши знания?
Это ваша самописная программа?
16. Stanislav1993 09.10.18 11:52 Сейчас в теме
(14)Я не понимаю чего вы хотите услышать? Этот форум не для того, чтобы что то выяснять, а делиться советами.
17. user614822 09.10.18 11:55 Сейчас в теме
Вот я и даю вам совет - напишите название конфигурации , где вы нашли свои пробелмы!
Иначе как и кто может вам помочь?
18. Stanislav1993 09.10.18 11:57 Сейчас в теме
(17)Конфигурация самописная с нуля.
21. user614822 09.10.18 12:02 Сейчас в теме
Отладкой проверьте цикл
Для сч = 0 По ТекСтрокаШтрафы.ВыплатаВМесяц -1 Цикл

Явно он никогда не выполняется, и надо искать причину почему
23. Stanislav1993 09.10.18 12:04 Сейчас в теме
(21)мм хорошо, спасибо. Посмотрю
22. user614822 09.10.18 12:04 Сейчас в теме
А общий совет - отладка, отладка и еще раз отладка, при возникновении любых непоняток - ставьте точку останова и следуйте по шагам, контролируя выполняет ли программа задуманную вами логику
24. Stanislav1993 09.10.18 12:12 Сейчас в теме
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Старший Программист 1С НОВОСИБИРСК
Новосибирск
зарплата до 130 000 руб.
Полный день

Программист 1С
Новосибирск
зарплата от 75 000 руб.
Полный день



Руководитель проектов 1С
Санкт-Петербург
По совместительству