Автоматизация бизнеса

Установка, настройка, внедрение и сопровождение любых конфигураций на платформе 1С:Предприятие.

Тел: 8(985)141-74-63 Дмитрий.   
ICQ:     552-608-881
e-mail: info@programmist1c.ru

Оплата после выполнения работы.

  •   Удаленный админ
  •   Карта сайта
  •   Контакты


  • Поиск
     

    v8: Ошибка с пустыми датами в распределенных базах данных

    Иногда в УРБД появляются проводки и движения с пустыми датами, хотя, казалось бы, 1С не дает сделать проводку с пустыми датами. Причина, как показала практика проста.
    Автор статьи: Гений 1С | Редакторы:
    Последняя редакция №3 от 26.04.07 |


    Ключевые слова: ошибка,УРБД,дата


    Дело в том, что одна из баз работает на файловом движке, где допустима любая дата от рождества христова, а другая база работает на SQL движке, где диапазон дат более ограничен.

    Пользователи иногда ошибаются и вводят вместо 2007 года 207 год. Если эта дата не дата документа, а дата реквизита (например планируемая дата оплаты), в этом случае проводка формируется на 207 год. Соответственно, когда эта проводка приходит в SQL, 207 год заменяется на пустую дату.

    К сожалению, в 1С не предусмотрено на уровне платформы ограничение диапазона рабочих дат, поэтому самый простой вариант в модуле набора записей регистра бухгалтерии контролировать дату проводок 1900-2200 года:

    Процедура ПередЗаписью(Отказ, РежимЗаписи)
        Для Каждого МЗ Из ЭтотОбъект Цикл
            Если МЗ.Период<='19000101' ИЛИ МЗ.Период>='22000101' Тогда
                Сообщить("В проводке номер "+ЭтотОбъект.Индекс(МЗ)+1+" указан период, выходящий за допустимый диапазон 1900-2200 гг ", СтатусСообщения.Важное);
                ТЗ=ЭтотОбъект.Выгрузить();
                Стр=ТЗ[ЭтотОбъект.Индекс(МЗ)];
                Для Каждого Колонка Из ТЗ.Колонки Цикл
                    Сообщить(Символы.Таб+Колонка.Имя+Символы.Таб+"="+Символы.Таб+Стр[Колонка.Имя]);
                КонецЦикла;
                ТЗ=0;
                Отказ=Истина;
            КонецЕсли;
        КонецЦикла;
    КонецПроцедуры


    Решение этой проблемы описано в комплекте документации "Особенности использования клиент-сервера 1С": нужно при создании SQL базы указать смещение дат 2000, тогда даты SQL версии и файловой версии будут совпадать. Можно выгрузить базу в DT, поменять смещение и загрузить обратно.

    21.02.18 | 10:31


    30.11.16 | 20:25


    28.11.16 | 09:22


    26.11.16 | 08:19


    22.11.16 | 20:17


    19.11.16 | 10:14


    18.11.16 | 20:09




    Внедрение 1С Автоматизация 1С Доработка 1С Сопровождение 1С Обслуживание 1С Программирование 1С 8 Hастройка 1С Карта сайта Контакты