Дата '01.02.0001 0:00:00' не может быть записана в базу данных #540211


#0 by simpaty
Такая вот беда. SQL + 1c 8.2 самописная. В какой-то момент заметили, что карточка счета за месяц висит очень долго. За каждый день строится за секундочку, а за месяц - никак. Запустила тестирование и исправление - пишет что вот дата не такая в регистре бухгалтерии и вылетает. Смещение базы - 2000. Так всегда и было. Проверили все таблицы в SQL на наличие такой даты - нету. Если выгрузить в файловую - все ок. Загрузить назад - проблема не уходит. Обновила на последнюю платформу, проблема не ушла. Что делать уже и не знаю. Нужна помощь!
#1 by Amra
А если ТИИ попробовать?
#2 by simpaty
Запустила тестирование и исправление - пишет что вот дата не такая в регистре бухгалтерии и вылетает
#3 by simpaty
Выгрузка - загрузка также не помогает.
#4 by Dmitrii
>> дата не такая в регистре бухгалтерии и вылетает Дата в каком поле? Если период, то найдите нужную запись, отключите использование всех итогов у регистра бухгалтерии, удалите эту запись (программно или отменив проведение документа-регистратора), верните использование итогов обратно, восстановите правильную запись (программно или перепроведя документ)
#5 by simpaty
1С не пишет в каком поле... При изменении регистра бухгалтерии пишет что дата не может быть записана и все.. Как отловить в каком это документе не понятно....смотрели какие были движения за февраль месяц (за январь Карточка счета формируется) - проверили в SQL в таблицах и SQL-средствами целостность БД - пишет все ок.
#6 by Dmitrii
>> При изменении регистра бухгалтерии Как меняете регистр? Что означает эта фраза? Меняете структуру регистра в конфигурации? Добавляете записи в регистр? Изменяете существующие записи? Выражайся яснее.
#7 by simpaty
Да, ставлю галку - разделение итогов. Или просто меняю структуру - и вот такая ошибка вылетает.
#8 by Dmitrii
Открой форму списка регистра бухгалтерии (журнал проводок). В самое начало списка. Там где-то должна быть запись с периодом - этой кривой датой.
#9 by simpaty
В самом начале  - дата 31.12.2010 так как была свертка базы. Сортировка стоит по возрастанию. Видимо, дело глубже - в субконто где-то...где есть документы прихода...но как это найти не перепоробом?
#10 by simpaty
движений раньше 31.12.2010 нет(((  ОСВ пустая.
#11 by Snorkler
Может, попробовать карточку считать периодами дней по десять, найти проблемный период, потом сокращать постепенно период до дня, потом поперебирать записи в регистре за этот день?
#12 by simpaty
Отчет за каждый день теперь строю объединением запросов - помогло...но вопрос остается с базой
#13 by Snorkler
Может, это поможет…
#14 by simpaty
Получается, что именно за февраль не строит отчет. А по дням - прекрасно. И ошибка эта с датой вылазит. Есть предположение - что какое то число записалосьпытается записаться как дата....но как такое найти?
#15 by hhhh
точно в журнале неограниченный период?
#16 by simpaty
Стопудов неограниченный период) Даже ставила эту дату = '01.02.0001' - никак нет таких записей...
#17 by Kom-off
Напоролся на такое же. Это, с большой долей вероятности, пустая дата в периоде в каком то регистре накопления или регистре бухгалтерии. При любых попытках сдвинуть эту запись делается попытка записать в итоги запись с датой.... правильно - начало месяца за датой по которой делаются итоги. А это как раз и есть эта злополучная дата. Править на уровне SQL - самое простое решение. По поводу смещения 2000. Это смещение устанавливается только при создании таблиц SQL сервером 1С при создании базы. Если базу поднимали с другой SQL-ой базы, копировали и пр., то параметр смещения не меняется. Ну, например, как было у меня: была база на 8.1, я создал запись базы на 8.2 с указанием той же базы SQL. В 8.1 было смещение 0, в 8.2 поставил 2000, ну думал, теперь заживем. А, фиг. Запись об информационной базе в 8.2 с указанным смещением 2000 создалась, но реально, смещение у базы осталось нулевым.
#18 by simpaty
Спасибо! Буду смотреть регистры....смещение изначально было 2000. Веду базу эту год, первый раз такие дела вот...
#19 by simpaty
Нет, не помогло....
#20 by Kom-off
Как искал?
#21 by Kom-off
+ искала :-)
#22 by Dmitrii
А в качестве типа значения видов субконто не используется случайно тип дата? Так на всякий случай спрашиваю.
#23 by simpaty
Дата не используется.
#24 by Midaw
в одном из регистров сведений есть не заполненная дата, именно она является проблемой.
#25 by Midaw
+ а может в другом регистре
#26 by Kom-off
Регистр сведений, скорее всего, сдесь не при чем. См.
#27 by simpaty
Искала - смотрела в регистрах поле Период А как еще можно поискать?
#28 by simpaty
Я на всякий случай все посмотрела!!!
#29 by simpaty
Есть идея написать обработку, ктр ищет реквизиты типа дата и некорректные для SQL мне показывает где притаились.
#30 by Dmitrii
остается выложить куда-нибудь базу... Предварительно можно её почистить.
#31 by Dmitrii
Значит не всё. Чего-то не видишь.
#32 by Kom-off
В я предположил, что это связно с расчетом итогов для пустой даты. Надо посмотреть в регистрах бухгалтерии и регистрах накопления все записи на нулевые периоды. Вот код: Для Каждого ТекМета Из Метаданные.РегистрыБухгалтерии Цикл     Для Каждого ТекМета Из Метаданные.РегистрыНакопления Цикл Заряди его в какую-нибудь консоль для выполнения произвольного кода и выполни. В окне сообщений, если увидишь восклицательные знаки, то все внимание этому регистру. Консоль для выполнения кода в режиме 1С Предприятие есть?
#33 by simpaty
в консоли смотрю. По Регистрам Бухгалтерии  - пустота По Регистрам Накопления  - пустота
#34 by Kom-off
Значит, другая ситуация. :-(
#35 by simpaty
Ох уж мне эта уже ситуация))))
#36 by simpaty
Думаю по всем объектам БД пройти с типом дата.
#37 by Kom-off
Ну, попробуй исправить код в , чтобы он проверял на даты целого месяца, т.е. дату конца сделать '00010131235959'
#38 by simpaty
Чего-то не вижу это точно! Ответ думаю будет не так сложен, главное - найти)))) Не могу распространять конфу - интеллектуальная собственность
#39 by mm_84
В УПП на SQL был такой косяк, исправил путём добавления в регистр курсов валют рубль на дату 01.01.0001. Вылетала ошибка при переоценке валют
#40 by mm_84
+ хотя не такой) там был текст со смещением дат(хотя смещение дат было установлено)
#41 by Kom-off
Кстати, проверь реальное смещение базы. Это надо прямо в SQL посмотреть табличку _YearsOffSet или как то так. Если там 2000, то у базы, действительно, смещение 2000.
#42 by simpaty
Есть текст дальше про смещение нулевое!! Не поняла как исправили? Добавив еще одну такую же ошибку?
#43 by mm_84
в регистрСведений.КурсыВалют скопируйте строку руб. и измените дату на 01.01.0001
#44 by mm_84
+ хотя лучше на 31.01.0001
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С