Конфигурация ЗиК р.2.3 профи помогите найти ошибку.
04.07.2003
10:58
#1
" Конфигурация ЗиК р.2.3. В журнале расчетов наменование вида расчета с порядком расчета "Суммой, пропорц-но отработанным дням" появляется, но результат равен 0,
при том, что документ "Ввод расчета сотруднику" с
суммой и видом расчета проводится,расчет результата производится в глобальном модуле, ниже отрывок из глоб. модуля, целый день я его изучал, что-то менял, все безрезультатно, профи помогите найти ошибку.
Примечание: Перечисление.ХарактерНачисления.Суммой - порядок расчета
"Суммой, пропорц-но отработанным дням"
/получим норму дней с учетом того, что сотрудник мог менять графики в течение месяца:
НормаДней = глНормаДнейЧасовЗаПериод(ЖурналРасчетов.Объект,ЖурналРасчетов.НачалоПериодаПоДате(ДатаНачалаДоплаты),ЖурналРасчетов.КонецПериодаПоДате(ДатаОкончанияДоплаты),"Дней");
Если Порядок = Перечисление.ХарактерНачисления.Суммой Тогда
// суммой, пропорционально отработанному времени... - с учетом дней
глСообщениеТрассировки(глСообщенияТрассировки, "Всего рабочих дней по графику работника: " + НормаДней, 0, 1);
Если НормаДней <> 0 Тогда
Если глЗаполнитьМассивДней(МассивДней, ЖурналРасчетов.Объект, ДатаНачалаДоплаты, ДатаОкончанияДоплаты,1) = 1 Тогда
ДнейПоДоплате = глПолучитьКоличествоФактическиОтработанныхДнейЧасов(МассивДней, ДатаНачалаДоплаты, ДатаОкончанияДоплаты);
глСообщениеТрассировки(глСообщенияТрассировки, "Отработано дней: " + ДнейПоДоплате , 0, 0);
Результат = глПолучитьСуммуИзРеквизита(Величина, ДатаОкончанияДоплаты);
Если ДокументИзЖурнала.Вид()="НачислениеЗаработнойПлаты" Тогда
Ставка = ЖурналРасчетов.Объект.Ставка.Получить(ДатаОкончанияДоплаты);
Если Ставка <> 1 Тогда
глСообщениеТрассировки(глСообщенияТрассировки, "По состоянию на _П01 работник занимал: "+ Ставка + " "+ Нрег(глФормаМножественногоЧисла("ставку","ставки","ставок", Ставка)), 0, 1, ДатаОкончанияДоплаты, "ДДДММММГГГГ");
КонецЕсли;
Результат = Результат * Ставка;
КонецЕсли;
Результат = Результат / НормаДней * ДнейПоДоплате;
ИначеЕсли (ДатаНачалаДоплаты = ЖрнЗарплата.НачалоПериодаПоДате(ДатаНачалаДоплаты)) и (ДатаОкончанияДоплаты = ЖрнЗарплата.КонецПериодаПоДате(ДатаОкончанияДоплаты)) Тогда
ДнейПоДоплате = МассивДней[НомерДняГода(ДатаНачалаДоплаты)+1]; // всего дней из документа Табель
глСообщениеТрассировки(глСообщенияТрассировки, "Отработано дней: " + ДнейПоДоплате , 0, 0);
Результат = глПолучитьСуммуИзРеквизита(Величина, ДатаОкончанияДоплаты);
Результат = Результат / НормаДней * ДнейПоДоплате;
Иначе
Сотрудник = ЖурналРасчетов.Объект;
Если глРежимТрассировки = 1 Тогда
глСообщениеТрассировки(глСообщенияТрассировки, "Сотруднику "+Сотрудник+" в "+ЖрнЗарплата.ОписательПериода(ДатаОкончанияДоплаты) + " был введен Табель отработанного времени в целом за месяц!", 0, 0);
глСообщениеТрассировки(глСообщенияТрассировки, "Расчет """"_П01"""" с _П02 по _П03 не проводился!", 1, 0,ВР,,ДатаНачалаДоплаты,"ДДДММММГГГГ",ДатаОкончанияДоплаты,"ДДДММММГГГГ");
Иначе
глДобавитьСообщение(глОбработчикСообщений, "Сотруднику "+Сотрудник+" в "+ЖрнЗарплата.ОписательПериода(ДатаОкончанияДоплаты) + " был введен Табель отработанного времени в целом за месяц! Расчет """""+глПредставлениеВидаРасчета(ВР)+""""" с "+ДатаНачалаДоплаты+" по "+ДатаОкончанияДоплаты+" не проводился! Введите подробные данные об отработанном времени.", , , );
КонецЕсли;
КонецЕсли;;
КонецЕсли;"
при том, что документ "Ввод расчета сотруднику" с
суммой и видом расчета проводится,расчет результата производится в глобальном модуле, ниже отрывок из глоб. модуля, целый день я его изучал, что-то менял, все безрезультатно, профи помогите найти ошибку.
Примечание: Перечисление.ХарактерНачисления.Суммой - порядок расчета
"Суммой, пропорц-но отработанным дням"
/получим норму дней с учетом того, что сотрудник мог менять графики в течение месяца:
НормаДней = глНормаДнейЧасовЗаПериод(ЖурналРасчетов.Объект,ЖурналРасчетов.НачалоПериодаПоДате(ДатаНачалаДоплаты),ЖурналРасчетов.КонецПериодаПоДате(ДатаОкончанияДоплаты),"Дней");
Если Порядок = Перечисление.ХарактерНачисления.Суммой Тогда
// суммой, пропорционально отработанному времени... - с учетом дней
глСообщениеТрассировки(глСообщенияТрассировки, "Всего рабочих дней по графику работника: " + НормаДней, 0, 1);
Если НормаДней <> 0 Тогда
Если глЗаполнитьМассивДней(МассивДней, ЖурналРасчетов.Объект, ДатаНачалаДоплаты, ДатаОкончанияДоплаты,1) = 1 Тогда
ДнейПоДоплате = глПолучитьКоличествоФактическиОтработанныхДнейЧасов(МассивДней, ДатаНачалаДоплаты, ДатаОкончанияДоплаты);
глСообщениеТрассировки(глСообщенияТрассировки, "Отработано дней: " + ДнейПоДоплате , 0, 0);
Результат = глПолучитьСуммуИзРеквизита(Величина, ДатаОкончанияДоплаты);
Если ДокументИзЖурнала.Вид()="НачислениеЗаработнойПлаты" Тогда
Ставка = ЖурналРасчетов.Объект.Ставка.Получить(ДатаОкончанияДоплаты);
Если Ставка <> 1 Тогда
глСообщениеТрассировки(глСообщенияТрассировки, "По состоянию на _П01 работник занимал: "+ Ставка + " "+ Нрег(глФормаМножественногоЧисла("ставку","ставки","ставок", Ставка)), 0, 1, ДатаОкончанияДоплаты, "ДДДММММГГГГ");
КонецЕсли;
Результат = Результат * Ставка;
КонецЕсли;
Результат = Результат / НормаДней * ДнейПоДоплате;
ИначеЕсли (ДатаНачалаДоплаты = ЖрнЗарплата.НачалоПериодаПоДате(ДатаНачалаДоплаты)) и (ДатаОкончанияДоплаты = ЖрнЗарплата.КонецПериодаПоДате(ДатаОкончанияДоплаты)) Тогда
ДнейПоДоплате = МассивДней[НомерДняГода(ДатаНачалаДоплаты)+1]; // всего дней из документа Табель
глСообщениеТрассировки(глСообщенияТрассировки, "Отработано дней: " + ДнейПоДоплате , 0, 0);
Результат = глПолучитьСуммуИзРеквизита(Величина, ДатаОкончанияДоплаты);
Результат = Результат / НормаДней * ДнейПоДоплате;
Иначе
Сотрудник = ЖурналРасчетов.Объект;
Если глРежимТрассировки = 1 Тогда
глСообщениеТрассировки(глСообщенияТрассировки, "Сотруднику "+Сотрудник+" в "+ЖрнЗарплата.ОписательПериода(ДатаОкончанияДоплаты) + " был введен Табель отработанного времени в целом за месяц!", 0, 0);
глСообщениеТрассировки(глСообщенияТрассировки, "Расчет """"_П01"""" с _П02 по _П03 не проводился!", 1, 0,ВР,,ДатаНачалаДоплаты,"ДДДММММГГГГ",ДатаОкончанияДоплаты,"ДДДММММГГГГ");
Иначе
глДобавитьСообщение(глОбработчикСообщений, "Сотруднику "+Сотрудник+" в "+ЖрнЗарплата.ОписательПериода(ДатаОкончанияДоплаты) + " был введен Табель отработанного времени в целом за месяц! Расчет """""+глПредставлениеВидаРасчета(ВР)+""""" с "+ДатаНачалаДоплаты+" по "+ДатаОкончанияДоплаты+" не проводился! Введите подробные данные об отработанном времени.", , , );
КонецЕсли;
КонецЕсли;;
КонецЕсли;"
Ошибка в basic.dll и account.dll в Упрощенке.Правила выгрузки данных из ТиС в комплексную конфигурацию
Читают тему
(гостей: 1)