![]() |
![]() |
![]() |
|
Проблема с ПолучитьДанныеГрафика(...ФактическийПериодДействия) | ☑ | ||
---|---|---|---|---|
0
SSSSSSS
28.09.04
✎
14:38
|
В случае, когда ПериодРегистрации не совпалает с периодом действия, конструкция
Болел = Движение.ПолучитьДанныеГрафика(ВидПериодаРегистраРасчета.ФактическийПериодДействия); возвражает 0. Например при том, что ПериодРегистрации равен 01/03/2004, ДатаНачала - 05/02/2004, а ДатаОкончания - 10/02.2004... Остальные данные получаю нормально... Что я делаю неправильно? Текст прораммы приводится... С уважением, Владимир. Процедура ОбработкаПроведения(Отказ, Режим) Движение = Движения.Начисления.Добавить(); Движение.ПериодРегистрации = ПериодРегистрации; Движение.ПериодДействияНачало = ДатаНачала; Движение.ПериодДействияКонец = ДатаОкончания; Движение.ВидРасчета = ПланыВидовРасчета.Начисления.Больничный; Движение.БазовыйПериодНачало = ДобавитьМесяц(Движение.ПериодДействия, -1); Движение.БазовыйПериодКонец = Движение.ПериодДействия - 1; Движение.Сотрудник = Сотрудник; Движение.Подразделение = Подразделение; Движение.Должность = Должность; Движение.График = График; Движения.Начисления.Записать(); Доп = Движения.Начисления.ПолучитьДополнение(); Для Каждого Строка Из Доп Цикл Движение = Движения.Начисления.Добавить(); Движение.ПериодРегистрации = Строка.ПериодРегистрации; Движение.ПериодДействияНачало = Строка.ПериодДействияНачалоСторно; Движение.ПериодДействияКонец = Строка.ПериодДействияКонецСторно; Движение.ВидРасчета = Строка.ВидРасчета; Движение.Сотрудник = Строка.Сотрудник; Движение.Подразделение = Строка.Подразделение; Движение.Должность = Строка.Должность; Движение.График = Строка.График; Движение.ПараметрРасчета = Строка.ПараметрРасчета; Движение.Сторно = Истина; // Строка.Сторно; КонецЦикла; Движения.Начисления.Записать(); Ресурсы = Новый Массив(1); Ресурсы[0] = "Начисления.Результат"; Отбор = Новый Структура(); Отбор.Вставить("Регистратор",Ссылка); // ссылка); Измерения = Новый Структура(); Измерения.Вставить("Подразделение","Начисления.Подразделение"); Измерения.Вставить("Должность","Начисления.Должность"); Измерения.Вставить("Сотрудник","Начисления.Сотрудник"); // ДанныеБазы = РегистрыРасчета.Начисления.ПолучитьБазу(Отбор,Ресурсы,Измерения); // ОтработаноПоБазе = РегистрыРасчета.Начисления.ПолучитьДанныеГрафика(Отбор,ВидПериодаРегистраРасчета.БазовыйПериод); // Болел = РегистрыРасчета.Начисления.ПолучитьДанныеГрафика(Отбор,ВидПериодаРегистраРасчета.ФактическийПериодДействия); Для Каждого Движение Из Движения.Начисления Цикл // Индекс = Движения.Начисления.Индекс(Движение); Если Движение.ВидРасчета = ПланыВидовРасчета.Начисления.Оклад Тогда ДолжноБытьОтработано = Движение.ПолучитьДанныеГрафика(ВидПериодаРегистраРасчета.ПериодДействия); Болел = Движение.ПолучитьДанныеГрафика(ВидПериодаРегистраРасчета.ФактическийПериодДействия); ДанныеПоДеньгам = Движение.ПараметрРасчета; ДолжноБытьОтработано = ДолжноБытьОтработано[0].Значение; ДнейНаБольничном = Болел[0].Значение; Движение.Результат = ДанныеПоДеньгам / ДолжноБытьОтработано * ДнейНаБольничном; КонецЕсли; КонецЦикла; Движения.Начисления.Записать(); // Движения.Начисления.Записать(Истина,Истина); Для Каждого Движение Из Движения.Начисления Цикл // Индекс = Движения.Начисления.Индекс(Движение); Если Движение.ВидРасчета = ПланыВидовРасчета.Начисления.Больничный Тогда ДанныеБазы = Движение.ПолучитьБазу(Ресурсы,Измерения); ОтработаноПоБазе = Движение.ПолучитьДанныеГрафика(ВидПериодаРегистраРасчета.БазовыйПериод); Болел = Движение.ПолучитьДанныеГрафика(ВидПериодаРегистраРасчета.ФактическийПериодДействия); ДанныеБазыДеньги = ДанныеБазы[0].Результат; ОтработаноДнейПоБазе = ОтработаноПоБазе[0].Значение; ДнейНаБольничном = Болел[0].Значение; Движение.Результат = ДанныеБазыДеньги / ОтработаноДнейПоБазе * ДнейНаБольничном; КонецЕсли; КонецЦикла; Движения.Начисления.Записать(Истина,Истина); КонецПроцедуры |
|||
1
Буряков Олег
28.09.04
✎
14:56
|
Ну, не работает... Я вот тоже думаю, что делать в таких случаях? Волшебник молчит. Может в УПП есть что?
|
|||
2
Волшебник
28.09.04
✎
14:58
|
(0) Не надо приводить столько много исходного текста.
|
|||
3
SSSSSSS
28.09.04
✎
15:43
|
Так все таки из за чего Движение.ПолучитьДанныеГрафика(ВидПериодаРегистраРасчета.ФактическийПериодДействия);
возвращает 0 в случае, когда ПериодРегистрации не совпалает с периодом действия? Например при ПериодРегистрации равен 01/03/2004, ДатаНачала - 05/02/2004, а ДатаОкончания - 10/02.2004... и все начинает работать, достаточно сделать ПериодРегистрации равен 01/02/2004... Остальные данные получаю нормально... С уважением, Владимир. |
|||
4
SSSSSSS
28.09.04
✎
16:10
|
Отбой... Ошибка найдена...
С уважением, Владимир. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |