[ Вопрос дня ] Как убрать задублированный предопределенный счет учета в 1С:БП 3.0?

Доброго дня, коллеги!

На нашем сайте опубликована серия бесплатных статей из цикла “Первые шаги в разработке 1С”. Статьи действительно полезны и вызывают интерес у слушателей. Одна из них – Предопределенные элементы в «1С:Предприятие 8.3», в рамках которой слушатель задал вопрос и получил ответ совершенно “безвозмездно, то есть даром” :)

Вопрос

В 1С:БП 3.0 после переноса из 1С:БП 2.0 как-то появились дубли счетов 08.01,  10.03 и других. В режиме предприятия задублированные счета – оба предопределенные, а в конфигураторе предопределенный только один счет. Как удалить один из дублей?

Ответ

Добрый день!

Проверьте для проблемных счетов, какие значения принимают свойства ИмяПредопределенныхДанных и Предопределенный. При помощи фрагмента кода из статьи можно изменить счет:

ОбъектДанных = Объект.СчетДляИзменения.ПолучитьОбъект(); //СчетДляИзменения - реквизит обработки
ОбъектДанных.ИмяПредопределенныхДанных = "";
ОбъектДанных.Записать();

После этого можно будет удалить задвоившейся счет.

Комментарий слушателя

Помогло, спасибо! Поиск по коду – ищет “первый” счет.

КодСчета=”10.03″;
ОбъектДанных = ПланыСчетов.Хозрасчетный.НайтиПоКоду(КодСчета).ПолучитьОбъект();

Также нужно ещё отключать предопределенность у субконто

ОбъектДанных.ВидыСубконто[0].Предопределенное = ЛОЖЬ;

Комментарий тренера

Возможно, проблема со счетом 10.03 “Топливо” связана с новшествами, появившимся в релизе 3.0.74. В этой версии был реализован учет путевых листов, поэтому в конфигурации появились предопределенные счета 10.03.1 “Топливо на складе” и 10.03.2 “Топливо в баке”. А 10.03 – это теперь группа счетов.

Комментарии / обсуждение (2):

  1. Алексей

    Интересно, в такой ситуации не могла помочь реструктуризация БД или проверка целостности через конфигуратор? Ведь возникновение в режиме предприятия предопределенности, когда в конфигураторе ее нет – это рассинхронизация, которая по идее лечится пересозданием таблицы… по метаданным, заданным в конфигураторе

    • Василий Ханевич

      Добрый день!
      Провел эксперимент. Создал пустую базу, добавил в конфигурацию Справочник Справочник1. В нем создал предопределенный элемент Т1. Затем при помощи программного кода в пользовательском режиме создал еще один элемент с наименованием Т1, у которого свойство ИмяПредопределенныхДанных установил в значение Т1.

      Реструктуризация таблиц информационной базы не помогла – остались оба предопределенных элемента.

      А проверка логической целостности выдала вот такое сообщение и исправила проблему:

      Справочники. Справочник1. Проверка уникальности записей о предопределенных элементах
          В таблице Reference31 обнаружены неуникальные записи со значениями полей:
              PredefinedID = 0xB344B42AFBE3707146AC062AAF1D96AD (Т1)
                  Т1 (31:bd4a000c2987211911ea9e63f485245b)
                  Т1 (31:bd4a000c2987211911ea9e63f485245c) Установлена пометка удаления, снят признак предопределенности
          Неуникальность записей устранена

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Вход на сайт

Зарегистрироваться

Подтверждение регистрации будет отправлено на указанный e-mail.

Я подтверждаю, что ознакомлен(а) с Пользовательским соглашением, принимаю его условия и даю свое согласие на обработку моих персональных данных.

Восстановить доступ

E-mail или логин

Ссылка на создание нового пароля будет отправлена на указанный e-mail.