Имя: Пароль:
1C
1С v8
Ошибка при выполнении обработчика
0 liliputochka
 
06.07.13
19:12
Добрый день,

у меня возникает вот такая ошибка:

Ошибка при выполнении обработчика - 'ОбработкаПроведения'
по причине:
{Документ.НачисленияСотрудникам.МодульОбъекта(46)}: Метод объекта не обнаружен (РассчитатьНачисления)
   ПроведениеРасчетов.РассчитатьНачисления(Движения.Начисления,

В коде:


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


ПроведениеРасчетов - это общий модуль у меня. К нему пытаюсь обратиться, но, как я понимаю, обращение не удачно. Посоветуйте что сделать?
1 ДенисЧ
 
06.07.13
20:05
модуль наверное на клиенте рабоатет?
2 Красный рассвет
 
06.07.13
20:08
дубль
3 Красный рассвет
 
06.07.13
20:09
4 Спящая
 
06.07.13
20:26
(1)+1 очень похоже
5 liliputochka
 
07.07.13
11:54
"модуль наверное на клиенте рабоатет?"

Как сделать чтобы работал на сервере? Если нужны коды, могу выложить, только скажите.
6 Пеппи
 
07.07.13
11:56
это в ЗУП?
7 liliputochka
 
07.07.13
11:59
Что такое ЗУП?
8 Пеппи
 
07.07.13
12:00
Зарплата и управление персоналом 8
9 liliputochka
 
07.07.13
12:06
То есть здесь мне помочь никто не может? (Я правильно вас поняла, Пеппи?)
10 Пеппи
 
07.07.13
12:09
(9) т.е. конфигурация у вас секретная и здесь просто надежда на телепатов угадывающих что и как вы делаете? У вас обычные формы или УФ тоже непонятно))
11 liliputochka
 
07.07.13
12:42
Код этого модуля выложен на ветке "Помогите с кодом". Общий модуль "Проведение расчетов":


Процедура РасчитатьНачисления(НаборЗаписейРегистра, ТребуемыйВидРасчета,
                               СписокСотрудников) Экспорт
   
   Регистратор = НаборЗаписейРегистра.Отбор.Регистратор.Значение;
   
   //рассчитать первичные записи
   Если ТребуемыйВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Оклад Тогда
       
       Запрос = Новый Запрос;
       Запрос.Текст =
       "ВЫБРАТЬ
       |НачисленияДанныеГрафика.ЗначениеПериодДействия КАК Норма,
       |НачисленияДанныеГрафика.ЗначениеФактическийПериодДействия КАК Факт,
       |НачисленияДанныеГрафика.НомерСтроки КАК НомерСтроки
       |ИЗ
       |РегистрРасчета.Начисления.ДанныеГрафика(Регистратор = &Регистратор И
       |ВидРасчета = &ВидРасчета И Сотрудник В (&СписокСотрудников))
       |КАК НачисленияДанныеГрафика";
       
       Запрос.УстановитьПараметр("Регистратор", Регистратор);
       Запрос.УстановитьПараметр("ВидРасчета", ТребуемыйВидРасчета);
       Запрос.УстановитьПараметр("СписокСотрудников", СписокСотрудников);
       
       ВыборкаРезультата = Запрос.Выполнить().Выбрать();
       
       Для Каждого ЗаписьРегистра Из НаборЗаписейРегистра Цикл
           СтруктураНомер = Новый Структура("НомерСтроки");
           СтруктураНомер.НомерСтроки = ЗаписьРегистра.НомерСтроки;
           ВыборкаРезультата.Сбросить();
           Если ВыборкаРезультата.НайтиСледующий(СтруктураНомер) Тогда
               Если ВыборкаРезультата.Норма = 0 Тогда
                   Сообщение = Новый СообщениеПользователю;
                   Сообщение.Текст = "Вид расчета: Оклад - Нет рабочих дней в заданном периоде";
                   Сообщение.Сообщить();
                   ЗаписьРегистра.Результат = 0;
               Иначе
                   // расчитать оклад по фактическому периоду
                   // и исходным данным.
                   ЗаписьРегистра.Результат = (ЗаписьРегистра.ИсходныеДанные
                               /ВыборкаРезультата.Норма)*ВыборкаРезультата.Факт;
                   Сообщение = Новый СообщениеПользователю;
                   Сообщение.Текст = "Выполнен расчет" + ЗаписьРегистра
                                           .Регистратор + " - " +
                                           ЗаписьРегистра.ВидРасчета + " - " +
                                           ЗаписьРегистра.Сотрудник;
                   Сообщение.Сообщить();
               КонецЕсли;
           КонецЕсли;
       КонецЦикла;
       
       
   //расчитать вторичные записи
   ИначеЕсли ТребуемыйВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Премия Тогда
       Запрос = Новый Запрос;
       Запрос.Текст =
       "ВЫБРАТЬ
       | НачисленияБазаНачисления.РезультатБаза КАК База,
       | НачисленияБазаНачисления.НомерСтроки КАК НомерСтроки
       |ИЗ
       | РегистрРасчета.Начисления.БазаНачисления(&ИзмеренияОсновного,
       | ИзмеренияБазового, , Регистратор = &Регистратор И ВидРасчета = &ВидРасчета И
       | Сотрудник В (&СписокСотрудников)) КАК НачисленияБазаНачисления";
   
       Измер = Новый Массив(1);
       Измер[0] = "Сотрудник";
       
       Запрос.УстановитьПараметр("ИзмеренияОсновного", Измер);
       Запрос.УстановитьПараметр("ИзмеренияБазового", Измер);
       Запрос.УстановитьПараметр("Регистратор", Регистратор);
       Запрос.УстановитьПараметр("ВидРасчета", ТребуемыйВидРасчета);
       Запрос.УстановитьПараметр("СписокСотрудников", СписокСотрудников);
       
       ВыборкаРезультата = Запрос.Выполнить().Выбрать();
       
       Для Каждого ЗаписьРегистра Из НаборЗаписейРегистра Цикл
           СтруктураНомер = Новый Структура("НомерСтроки");
           СтруктураНомер.НомерСтроки = ЗаписьРегистра.НомерСтроки;
           ВыборкаРезультата.Сбросить();
           Если ВыборкаРезультата.НайтиСледующий(СтруктураНомер) Тогда
               ЗаписьРегистра.Результат = ВыборкаРезультата.База * (10/100);
               Сообщение = Новый СообщениеПользователю;
               Сообщение.Текст = "Выполнен расчет" + ЗаписьРегистра.Регистратор
                                   + "-" + ЗаписьРегистра.ВидРасчета
                                   + "-" + ЗаписьРегистра.Сотрудник;
               Сообщение.Сообщить();
           КонецЕсли;
       КонецЦикла;
       
   КонецЕсли;
   
КонецПроцедуры



Формы, наверное, обычные. Я не знаю что значит УФ форма.