Попытка вставки недопустимого значения в табл 16057(Nrec=0)

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Ренат
Постоянный обитатель
Сообщения: 194
Зарегистрирован: 12 сен 2007, 16:34
Откуда: Глазов
Контактная информация:

Попытка вставки недопустимого значения в табл 16057(Nrec=0)

Сообщение Ренат »

Здравствуйте. :-)
При выполнении расчета заработной платы выскакивает ошибка
Ошибка при работе с таблицей "Архив тарифов"(Arxtar) Для табельного номера 17
Попытка записи недопустимого значения
в таблицу N16057.
(NREC = 0).
и так для нескольких записей
--------------------------------------------------------------------------------
Протокол сообщений (среда, 24/10/2007)
--------------------------------------------------------------------------------
-------------------------- ПРЕДВАРИТЕЛЬНАЯ РАЗНОСКА ----------------------------
[!] График за сентябрь 2007 г. для режима работы 11 не сформирован
Фонд рабочего времени по умолчанию: 20 дн., 160 ч.
--------------------------- РАСЧЕТ ЗАРАБОТНОЙ ПЛАТЫ ----------------------------
Начало процесса подготовки данных 12:14:17
Начало расчета заработной платы 12:14:22
[!] График за сентябрь 2007 г. для режима работы 11 не сформирован
Фонд рабочего времени по умолчанию: 20 дн., 160 ч.
Для табельного номера 17 некорректно задан номер алгоритма 0 для оплаты 1(1)
Ошибка при работе с таблицей "Архив тарифов"(Arxtar) Для табельного номера 17
Попытка записи недопустимого значения
в таблицу N16057.
(NREC = 0).
Операция отменена.
Ошибка при работе с таблицей "Архив тарифов"(Arxtar) Для табельного номера 17
Для табельного номера 14 некорректно задан номер алгоритма 0 для оплаты 1(1)
Для табельного номера 15 некорректно задан номер алгоритма 0 для оплаты 1(1)
Ошибка при работе с таблицей "Архив тарифов"(Arxtar) Для табельного номера 15
Попытка записи недопустимого значения
в таблицу N16057.
(NREC = 0).
Операция отменена.
Ошибка при работе с таблицей "Архив тарифов"(Arxtar) Для табельного номера 15
Для табельного номера 16 некорректно задан номер алгоритма 0 для оплаты 1(1)
Для табельного номера 18 некорректно задан номер алгоритма 0 для оплаты 1(1)
Ошибка при работе с таблицей "Архив тарифов"(Arxtar) Для табельного номера 18
Попытка записи недопустимого значения
в таблицу N16057.
(NREC = 0).
Операция отменена.
Ошибка при работе с таблицей "Архив тарифов"(Arxtar) Для табельного номера 18
Ошибка при работе с таблицей "Архив тарифов"(Arxtar) Для табельного номера 11
Попытка записи недопустимого значения
в таблицу N16057.
(NREC = 0).
Операция отменена.
Ошибка при работе с таблицей "Архив тарифов"(Arxtar) Для табельного номера 11
Окончание расчета заработной платы 12:14:47
-------------------------- ПЕЧАТЬ РАСЧЕТНЫХ ЛИСТКОВ ----------------------------
[!] График за сентябрь 2007 г. для режима работы 11 не сформирован
Фонд рабочего времени по умолчанию: 20 дн., 160 ч.


БД в которой выполняется расчет была созданна на основе другой БД.
В таблице архивов (Arxtar) много записей по различным табельным номерам. Если удалить одну из записей на которую ругается Галактика то при следующем расчете она корректно создает эту запись.

Как мне сказали кадры после создания новой базы они меняли табельные номера у сотрудников.

Почему может так происходить?
Ренат
Постоянный обитатель
Сообщения: 194
Зарегистрирован: 12 сен 2007, 16:34
Откуда: Глазов
Контактная информация:

Сообщение Ренат »

Как я себе это представляю:
В таблице Arxtar есть поля tabN, CLSCH и TPERSON (табельный номер, код работника из лицевого счета, код работника из Физ лиц). Мы создали копию рабочей БД, а потом в кадрах решили поменять табельные номера у сотрудников (чтобы все красиво было 1,2,3 и т.д.). В результате нарушилось соответсвие этих трех полей.
В результате Галактика не находит запись с набором этих полей и пытается создать новую для данного табельного номера, кода из ЛС и кода ФЛ. Выскакивает ошибка что невозможно создать запись
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

из сего следует вывод, что нужно сцепить по clsch c lschet.nrec и проапдейтить поля tabn,cex значениями из lschet. в 810 могет быть поле cex необязательно менять, но не факт что это где то в отчетах не вылезет.
Ренат
Постоянный обитатель
Сообщения: 194
Зарегистрирован: 12 сен 2007, 16:34
Откуда: Глазов
Контактная информация:

Сообщение Ренат »

Сейчас попробую :grin:
Ренат
Постоянный обитатель
Сообщения: 194
Зарегистрирован: 12 сен 2007, 16:34
Откуда: Глазов
Контактная информация:

Сообщение Ренат »

Пытаюсь написать запрос котрый вернет записи без соответсвия по табельным номерам и не получается. Вот запрос

Код: Выделить всё

select arxtar.tabN,lschet.tabN from arxtar, lschet
where((arxtar.clsch==lschet.nrec and (arxtar.tabN<>lschet.TabN) ));
Второй столбец пустой. А по идее должен выводить тех у кого не совпадают табельные номера :-?
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

раз второй пустой у вас вообще все плохо. можно попробовать по tperson зацепиться, а табельные вы ужо поменяли
и напишите сначала
select arxtar.tabN,lschet.tabN from arxtar, lschet
where((arxtar.clsch==lschet.nrec ));
а потом
select arxtar.tabN,lschet.tabN from arxtar, lschet
where((arxtar.clsch==lschet.nrec ))
and (arxtar.tabN<>lschet.TabN) ;
Screw
Слесарь-системщик
Сообщения: 304
Зарегистрирован: 29 мар 2005, 17:49
Откуда: р.Беларусь, Унитарное предприятие "ТОП СОФТ"
Контактная информация:

Сообщение Screw »

Отнюдь! Пустая вторая колонка означает, что лицевых счетов с табельным номером, отличным от того, который значится в arxtar-е, НЕТУ. И, следовательно, всё хорошо.

...если, конечно, в arxtar-е валидная ссылка на лицевой счет...
Виталий
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

вообще начерное самое правильное - грохнуть arxtar и потом выполнить "Расчет коэффицентов" в сервисных функциях. обратите оссобое внимание на тарифников. Arxtar то выправиться, но интересно что вы еще зацепили меняя табельные в кадрах.
Ответить