|
v8: Начисления Сотрудникам, ошибка при записи в регистр | ☑ | ||
---|---|---|---|---|
0
Slk777
30.01.14
✎
12:39
|
Здраствуйте уважаемые. У меня такая Проблема Делаю документ Начисления Сотрудникам При написании Общий Модуль Проведения Расчетов В Листинги Синтетических ошибок не обнаруженно. При Проведении документа Начисления сотрудникам выдает следующею ошибку. {ОбщийМодуль.ПроведениеРасчетов.Модуль(52)}: Преобразование значения к типу Число не может быть выполнено
ЗаписьРегистра.Результат = (ЗаписьРегистра.ИсходныеДанные. |
|||
1
Slk777
30.01.14
✎
12:40
|
Ищу ошибку в реквизитах, только не могу найти нужные... Я НУБ(
|
|||
2
aka AMIGO
30.01.14
✎
12:43
|
рекомендую научиться пользоваться отладчиком.
в нём можно посмотреть свойства реквизита регистра, и что ты в этот реквизит Регистра пытаешься записать |
|||
3
Slk777
30.01.14
✎
12:46
|
СПС ТОЛЬко знать бы что это и как этим пользоватся
|
|||
4
aka AMIGO
30.01.14
✎
12:48
|
(3) формально всё описано в документации.. документация, надеюсь, доступна?
ЗЫ. обычно со знакомства с отладчиком и начинают "начинающие" |
|||
5
Slk777
30.01.14
✎
12:50
|
Так отладка это Жолтый Кружочек с черным Плеей? ;) я всегда через него всё делаю..
|
|||
6
aka AMIGO
30.01.14
✎
12:51
|
(5) угу. и еще + точки останова, и + табло
|
|||
7
Slk777
30.01.14
✎
12:53
|
Я так понял ошибка в том что где то в реквизитах тип число не совпадает с тем что я сделал и возможно в ИсходныеДанные. Но по книге там ЧИсло 15 Точность 2
|
|||
8
aka AMIGO
30.01.14
✎
12:55
|
(7) в книге всего и всё правильно. а ты смотри, что у тебя в коде
|
|||
9
Slk777
30.01.14
✎
12:57
|
Иначе
//Рассчитать оклад по фактическому периоду // и исходным данным. ЗаписьРегистра.Результат = (ЗаписьРегистра.ИсходныеДанные / ВыборкаРезультата.Норма)* ВыборкаРезультата.Факт; Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Выполнить расчет" + ЗаписьРегистра.Регистратор + "-" + ЗаписьРегистра.ВидРасчета + "-" + ЗаписьРегистра.Сотрудник; Сообщение.Сообщить(); //////КонецЕсли; |
|||
10
Slk777
30.01.14
✎
12:59
|
Я ошибок не нашол
|
|||
11
aka AMIGO
30.01.14
✎
13:02
|
точка останова:
http://gyazo.com/9e281ba3a777e5ea92b48d0f2e6f0298 Кнопка запуска Табло: http://gyazo.com/78ea9e93cb87227639034bd4f297c0a0 окно табло: http://gyazo.com/88ba41d2a95da9149008301f66cb9e9a вот в этом окне и надо искать ошибки Слова твои "не шашОл" надо заменить на "не увидел".. :) |
|||
12
Slk777
30.01.14
✎
13:14
|
СПС
|
|||
13
Slk777
30.01.14
✎
13:17
|
Тоесть всё таки ошибка в коде? и Вы её нашли ?
|
|||
14
aka AMIGO
30.01.14
✎
13:27
|
для "найти" ошибку в коде в сабже и далее крайне мало информации.. Я так не могу.
тут есть ребята-телепаты, но я их что-то в списке пользователей ветки не вижу ( |
|||
15
Slk777
30.01.14
✎
13:30
|
Процедура РассчитатьНачисления(НаборЗаписейРегистра,ТребуемыйВидРасчета,СписокСОтрудников)Экспорт
Регистратор = НаборЗаписейРегистра.Отбор.Регистратор.Значение; //Рассчитать первичные записи. Если ТребуемыйВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Оклад Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | НачисленияДанныеГрафика.ЗначениеПериодДействия КАК Норма, | НачисленияДанныеГрафика.ЗначениеФактическийПериодДействия КАК Факт, | НачисленияДанныеГрафика.НомерСтроки КАК НомерСтроки |ИЗ | РегистрРасчета.Начисления.ДанныеГрафика( | Регистратор = &Регистратор | И ВидРасчета = &ВидРасчета | И Сотрудник В (&СписокСотрудников)) КАК НачисленияДанныеГрафика"; Запрос.УстановитьПараметр("Регистратор",Регистратор); Запрос.УстановитьПараметр("ВидРасчета",ТребуемыйВидРасчета); Запрос.УстановитьПараметр("СписокСотрудников",СписокСотрудников); ВыборкаРезультата = Запрос.Выполнить().Выбрать(); Для Каждого ЗаписьРегистра Из НаборЗаписейРегистра Цикл СтруктураНомер = Новый Структура("НомерСтроки"); СтруктураНомер.НомерСтроки = ЗаписьРегистра.НомерСтроки; ВыборкаРезультата.Сбросить(); Если ВыборкаРезультата.Норма = 0 Тогда Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "ВидРасчета:Оклад - Нет рабочих дней в заданном переоде"; Сообщение.Сообщить(); ЗаписьРегистра.Результат = 0; Сообщение.Сообщить(); ЗаписьРегистра.Результат = 0; ////// КонецЕсли; //////КонецЦикла; Иначе //Рассчитать оклад по фактическому периоду // и исходным данным. ЗаписьРегистра.Результат = (ЗаписьРегистра.ИсходныеДанные / ВыборкаРезультата.Норма)* ВыборкаРезультата.Факт; Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Выполнить расчет" + ЗаписьРегистра.Регистратор + "-" + ЗаписьРегистра.ВидРасчета + "-" + ЗаписьРегистра.Сотрудник; Сообщение.Сообщить(); //////КонецЕсли; КонецЕсли; КонецЦикла; // Рассчитать вторичные записи. ИначеЕсли ТребуемыйВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.Премия Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | НачисленияБазаНачисления.РезультатБаза КАК База, | НачисленияБазаНачисления.НомерСтроки КАК НомерСтроки |ИЗ | РегистрРасчета.Начисления.БазаНачисления( | &ИзмеренияОсновного, | &ИзмеренияБазового, | , | Регистратор = &Регистратор | И ВидРасчета = &ВидРасчета | И Сотрудник В (&СписокСотрудников)) КАК НачисленияБазаНачисления"; Измер = Новый Массив(1); Измер[0] = "Сотрудник"; Запрос.УстановитьПараметр("ИзмеренияОсновного",Измер); Запрос.УстановитьПараметр("ИзмеренияБазового",Измер); Запрос.УстановитьПараметр("Регистратор",Регистратор); Запрос.УстановитьПараметр("ВидРасчета",ТребуемыйВидРасчета); Запрос.УстановитьПараметр("СписокСотрудников", СписокСотрудников); ВыборкаРезультата = Запрос.Выполнить().Выбрать(); Для Каждого ЗаписьРегистр Из НаборЗаписейРегистра Цикл СтруктураНомер = Новый Структура("НомерСтроки"); СтруктураНомер.НомерСтроки = ЗаписьРегистра.НомерСтроки; ВыборкаРезультата.Сбросить(); Если ВыборкаРезультата.НайтиСледующий(СтруктураНомер) Тогда ЗаписьРегистра.Результат = ВыборкаРезультата.База*(10/100); Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Выполнен расчет" + ЗаписьРегистра.Регистратор +"-"+ ЗаписьРегистра.ВидСчета +"-"+ ЗаписьРегистра.Сторудник; Сообщение.Сообщить(); КонецЕсли; КонецЦикла; КонецЕсли; КонецПроцедуры а ТАК? |
|||
17
aka AMIGO
30.01.14
✎
13:42
|
(15) и так у меня не выйдет ничего ( , надо иметь конфигурацию, и ключ, чтобы стартануть 8-ку.. у меня ни того, ни другого нет :(
|
|||
18
SeraFim
30.01.14
✎
13:48
|
Конфигурация-то какая? И версия?
Что-то у меня сомнения, что это типовая. На нетленку похоже |
|||
19
SeraFim
30.01.14
✎
13:52
|
ЗначениеПериодДействия - чисто по названию похоже на дату
ЗаписьРегистра.Результат = (ЗаписьРегистра.ИсходныеДанные / ВыборкаРезультата.Норма) "ИсходныеДанные" (неизвестно, что там. Предположим, что оклад - число) делим на "Норму" (то есть на дату) |
|||
20
Slk777
30.01.14
✎
13:55
|
версия 8.2 учебная версия
|
|||
21
SeraFim
30.01.14
✎
13:55
|
+(19) ай, нет, пардон. Это же регистр расчета, это стандартные названия для реквизитов.
|
|||
22
Slk777
30.01.14
✎
13:57
|
Конфигурация обыкнавенная не бухалтерия не чего такого
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |