8.х БП Запись не верна при обновлении

Тема в разделе ""1С:Бухгалтерия БП"", создана пользователем Itsys, 15 сен 2010.

  1. TopicStarter Overlay
    Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Добрый день,

    Досталась древняя база с закрытыми изменениями, через пользовательский интерфейс начал обновлять, дошел до обновления 1.6.15.5 на 1.6.16.6, при обновлении релиза выдает ошибку:
    {Обработка.ОбновлениеИнформационнойБазы(9882)}: Ошибка при вызове метода контекста (Записать): Запись не верна! Период не может быть пустым!: *** : 01.01.0001 0:00:00 (Регистр сведений: Учетная политика организаций)
    Запись.Записать();
    по причине:
    Запись не верна! Период не может быть пустым!: *** : 01.01.0001 0:00:00 (Регистр сведений: Учетная политика организаций)

    Что посоветуете, может кто сталкивался с этим раньше?
  2. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    А если на 1.6.17.4 - что говорит?
  3. TopicStarter Overlay
    Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    щас попробую...
  4. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    И посмотрите, может для какой-то организации не заведена учетная политика. При обновлении допустим оно возможно пытается что-то записать (или что-то поменять) в учетной политике, а поскольку записи нет в принципе, то вываливается с ошибкой.
  5. TopicStarter Overlay
    Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    а вдруг не заведена, как теперь это поправить, при входе в базу начинается обновление и сразу вываливается...
  6. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Если попробовать запустить с такими ключами:
    Ну всмысле последовательно. Так уж отсортировал по наименьшему вреду на глаз.


    Только это /RollbackCfg - это параметр пакетного запуска, там так понимаю требуется конфигуратор указать (DESIGNER).
  7. TopicStarter Overlay
    Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Врят ли это подойдет...

    /RollbackCfg конфигурация базы данных уже обновлена, а обновление версии, где вылезает ошибка, это уже на уровне конфигурации делается.

    насколько я понимаю, единственный выход, это открывать конфу для изменения и править процедуру обновления
  8. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Ну тада у меня осталась 1 идея: попробовать подключиться через com. Не, точнее через ComConnector. И посмотреть (пля тоже писец геморой). А чтобы знать что смотреть - вторая безумная идея: создать чистую конфигурацию 1.6.16.6 (или 1.6.17.4, если там та же ошибка), и попытаться посмотреть чего оно пытается на этой строке сделать, ну точнее чего пытается - понятно: "записать", а вот откуда данные берет. Если конечно удастся разобраться чего там откуда.
  9. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    З.Ы. Насчет новой базы я походу загнался. Можно ведь и в этой посмотреть.
  10. TopicStarter Overlay
    Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Да вот чего он делает...
    никакого криминала
    Код:
        Выборка = РегистрыСведений.УчетнаяПолитикаОрганизаций.Выбрать();
    Пока Выборка.Следующий() Цикл
    Запись = Выборка.ПолучитьМенеджерЗаписи();
    Запись.Прочитать();
    Если Запись.ПорядокРегистрацииСчетовФактурНаАванс = Перечисления.ПорядокРегистрацииСчетовФактурНаАванс.ПустаяСсылка() Тогда
    Запись.ПорядокРегистрацииСчетовФактурНаАванс = Перечисления.ПорядокРегистрацииСчетовФактурНаАванс.НаВсеАвансы;
    Запись.Записать();
    КонецЕсли;
    КонецЦикла;        
    
    
  11. TopicStarter Overlay
    Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Посмотрел в отладчике, запись есть, но период не установлен...

    А можно каким-то образом в процессе отладки поменять значение переменной без изменения модуля?
  12. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Чет я не понимаю, если в выборку попадает, значит запись есть. Регистратор - переодический, независимый. Как так могло получится - что оно с пустым периодом оказалось?
  13. TopicStarter Overlay
    Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Может он до обновления был непериодический?
  14. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Я думаю можно попытаться. Щас, 1 сек, поищу, недавно читал.

    Да нет, учетная политика организаций изначально был переодический. Хз как так получилось.
  15. TopicStarter Overlay
    Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Нашел способ: во внешнем соединении не проверяется наличие обновлений, щас буду через ком стучаться и менять период в регистре...
  16. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Оригинал статьи тут: http://www.kb.mista.ru/article.php?id=105

    Т.е. создаете внешнюю обработку, и в окне (из меню "Вычислить выражение"), пишите это самое "ВнешниеОбработки.Создать("C:\debug.epf").Присвоить(А, Неопределено);". Сам не проверял, но вот как люди советуют.
  17. TopicStarter Overlay
    Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Победил :)
    Код:
        База = Новый COMОбъект("V81.COMConnector");
    Подключение = База.Connect("Srvr=""***"";Ref=""***"";Usr=""***"";Pwd=""***""");
    Выборка = Подключение.РегистрыСведений.УчетнаяПолитикаОрганизаций.Выбрать();
    Пока Выборка.Следующий() Цикл
    Запись = Выборка.ПолучитьМенеджерЗаписи();
    Запись.Прочитать();
    Запись.Период = '20090101';
    Запись.Записать();
    КонецЦикла;        
    
    
    :angry:

Поделиться этой страницей