|
создание записей регистров расчета | ☑ | ||
---|---|---|---|---|
0
Саша80
06.11.12
✎
09:51
|
Собственно говоря сабж...пытаюсь заполнить регистр расчета:
Ексель = Новый COMОбъект("Excel.Application") ; ФайлЕксель = Ексель.Workbooks.Open(ПутьКФайлу); Для н = НомерСтрокиНачало По НомерСтрокиКонец Цикл ФИО = Ексель.Sheets(1).Cells(н,7).Value; ВИдРасчета=Ексель.Sheets(1).Cells(н,3).Value; Результат=Ексель.Sheets(1).Cells(н,8).Value; ОтработаноДней=Ексель.Sheets(1).Cells(н,9).Value; ОтработаноЧасов=Ексель.Sheets(1).Cells(н,10).Value; НормаДней=Ексель.Sheets(1).Cells(н,12).Value; НормаЧасов=Ексель.Sheets(1).Cells(н,13).Value; Подразделение=Ексель.Sheets(1).Cells(н,22).Value; Размер=Ексель.Sheets(1).Cells(н,22).Value; ВидУчетаВремени=Ексель.Sheets(1).Cells(н,20).Value; Если Сокрлп(ВидУчетаВремени)="По дням" тогда вид=ПЕречисления.ВидыУчетаВремени.ПоДням; КОнецЕсли; Если Сокрлп(ВидУчетаВремени)="По часам" тогда вид=ПЕречисления.ВидыУчетаВремени.ПоЧасам; КОнецЕсли; ОбработкаПрерыванияПользователя(); Рег=РегистрыРасчета.ОсновныеНачисленияРаботниковОрганизаций.СоздатьНаборЗаписей(); рег.Отбор.регистратор.Установить(Документ); Движение=Рег.Добавить(); Движение.Регистратор = Документ; Движение.Сторно = Ложь; Движение.ПериодРегистрации=КонецДня(Документ.Дата); Движение.Сотрудник=Справочники.СотрудникиОрганизаций.НайтиПоНаименованию(СокрЛП(ФИО),Истина); Движение.Активность=Истина; Движение.ФизЛицо=Справочники.ФизическиеЛица.НайтиПоНаименованию(СокрЛП(ФИО),Истина); Движение.Организация=Организация; Движение.ПодразделениеОрганизации=Справочники.ПодразделенияОрганизаций.НайтиПоНаименованию(СокрЛП(Подразделение),Истина); Движение.ВидРасчета=ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.НайтиПоНаименованию(ВидРасчета); Движение.Авторасчет=Истина; Движение.Результат=Результат; Движение.ПериодДействияНачало=ДатаС; Движение.ПериодДействияКонец=ДатаПо; Движение.ВидУчетаВремени= вид; Движение.БазовыйПериодНачало=ДатаС; Движение.БазовыйПериодКонец=ДатаПо; Движение.ГрафикРаботы=Справочники.ГрафикиРаботы.НайтиПоНаименованию("Основной график"); Движение.ОтработаноДней=ОтработаноДней; Движение.ОтработаноЧасов=ОтработаноЧасов; Движение.НормаДней=НормаДней; Движение.НормаЧасов=НормаЧасов; Рег.Записать(); КонецЦикла; Ексель.Application.Quit(); выходит ошибка {Форма.Форма.Форма(56)}: Ошибка при вызове метода контекста (Записать) Рег.Записать(); по причине: Ошибка при выполнении обработчика - 'ПередЗаписью' по причине: {РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.МодульНабораЗаписей(295)}: Преобразование значения к типу Булево не может быть выполнено Рег.Записать(); в чем может быть дело? |
|||
1
France
06.11.12
✎
09:53
|
и что в строке 56?
|
|||
2
Саша80
06.11.12
✎
09:53
|
пустая строчка
|
|||
3
rphosts
06.11.12
✎
09:54
|
посмотри в отладчике на типы полей у объекта двтижение и сравни с типами какие должны быть по данным конфигуратора.
|
|||
4
mikecool
06.11.12
✎
09:54
|
(0) вместо булева перердаешь в набор неопределено, или , не к Ненавижу1С будет сказано - null
|
|||
5
Саша80
06.11.12
✎
09:54
|
нет, главное кое какие строчки то подгружаются...вот в чем засада
|
|||
6
rphosts
06.11.12
✎
09:56
|
конечно стоит отдельно обрабатывать случаи когда поиски типа:
Справочники.СотрудникиОрганизаций.НайтиПоНаименованию(СокрЛП(ФИО),Истина); не находят ничего! |
|||
7
Саша80
06.11.12
✎
09:59
|
слушайте точно.....вот я баранчик)))нашел ошибку, сейчас проверю...
|
|||
8
Саша80
06.11.12
✎
14:02
|
неа, не проканало...
|
|||
9
Саша80
06.11.12
✎
14:04
|
все тыпы нормальные проверил
|
|||
10
Саша80
06.11.12
✎
14:18
|
апчик
|
|||
11
Aprobator
06.11.12
✎
14:20
|
модуль набора записей регистра смотри.
|
|||
12
Aprobator
06.11.12
✎
14:22
|
отладчик те, кстати все написал. Даже номер строки с ошибкой. Читать совсем лениво что ли? У остальных, я так понял, явно похмельный вторник. С прошедшими праздниками, кстати.
|
|||
13
Aprobator
06.11.12
✎
14:23
|
имелось ввиду написанное в причине ошибки.
|
|||
14
Саша80
06.11.12
✎
14:26
|
номер строки-56, так? у меня там пустая строчка
|
|||
15
Aprobator
06.11.12
✎
14:26
|
(14) пффффф.
{РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.МодульНабораЗаписей(295)}: Преобразование значения к типу Булево не может быть выполнено Рег.Записать(); |
|||
16
Саша80
06.11.12
✎
14:32
|
хм...там вот что..
Если СоответствиеВРБазовыйПериод[СтрокаНабора.ВидРасчета] Тогда СтрокаНабора.БазовыйПериодНачало = НачалоМесяца(ДобавитьМесяц(СтрокаНабора.ПериодДействияНачало, -1)); СтрокаНабора.БазовыйПериодКонец = КонецМесяца(ДобавитьМесяц(СтрокаНабора.ПериодДействияКонец, -1)); СтрокаНабора.ДатаНачалаБазовогоПериода = СтрокаНабора.БазовыйПериодНачало; СтрокаНабора.ГодУчетаПремийПоИтогамГода = ?(ЗначениеЗаполнено(СтрокаНабора.БазовыйПериодНачало), Год(СтрокаНабора.БазовыйПериодНачало), 0); Иначе СтрокаНабора.ДатаНачалаБазовогоПериода = '00010101'; СтрокаНабора.ГодУчетаПремийПоИтогамГода = ?(ЗначениеЗаполнено(СтрокаНабора.ПериодДействияНачало), Год(СтрокаНабора.ПериодДействияНачало), 0); КонецЕсли; |
|||
17
rphosts
06.11.12
✎
14:33
|
(14)56 - это номер строки в наборе записей, из отладчика раскрой список и посмотри что не так именно в этой строке
|
|||
18
Aprobator
06.11.12
✎
14:34
|
(17) иди проспись в конце то концов.
(16) млин, СоответствиеВРБазовыйПериод[СтрокаНабора.ВидРасчета] не вернуло булево значение по каким то причинам. Каждую строку разжевывать что ли? |
|||
19
Саша80
06.11.12
✎
14:51
|
все..догнал
|
|||
20
Aprobator
06.11.12
✎
17:01
|
удачи. Учись читать сообщения системы до конца и вдумчиво.
|
|||
21
Саша80
07.11.12
✎
10:11
|
какая то засада-строчки в файле две одинаковые-меняются только наименование вида расчета, первую строчку грузит нормально, вторую нет......в чем может дело то быть?
|
|||
22
Саша80
07.11.12
✎
10:12
|
может потому что это первоначальные данные? и в прошлом никаких данных не было в прошлом расчетном периоде я имею ввиду?
|
|||
23
Aprobator
07.11.12
✎
10:18
|
с отладчиком совсем туго что ли?
|
|||
24
Aprobator
07.11.12
✎
10:19
|
на вскидку - может вытеснение.
|
|||
25
Саша80
07.11.12
✎
10:28
|
да нет, посмотрел...все основные насичления, все нормально
|
|||
26
Саша80
07.11.12
✎
10:35
|
слушай..точно...райкоф.....
|
|||
27
Саша80
07.11.12
✎
10:36
|
в нем есть вытесня.щие начисления, у меня у сотрудника стоит сначала Оплата по часовому тарифу а в райкофе этот вид начисления указан как вытесняющий..что терь делать?
|
|||
28
Aprobator
07.11.12
✎
10:39
|
расчетчиков спросить. Чего это вдруг районный коэффициент оплату по часовому тарифу вытесняет. Они же вытеснение настраивали.
|
|||
29
Саша80
07.11.12
✎
10:50
|
нет, исправил-все равно аткая же ошибка-самое главное сделал так: создал чистую базу перенес туда данные из семерки типовой обработкой (справочники там и все такое....)и все равно ошибка вылетает.
|
|||
30
Саша80
07.11.12
✎
12:16
|
апчик
|
|||
31
Aprobator
07.11.12
✎
13:03
|
не я умываю руки. У меня с телепатией слабовато.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |