Часто после обновления типовых конфигураций 1С:Бухгалтерии пользователи сталкиваются с тем, что новые счета, например 10.03.1 и 10.03.2, отображаются с неверными настройками: имеют вид Активно-пассивный вместо Активный, или у них отсутствует признак Количественный учет. При этом поля для редактирования заблокированы, так как счета помечены как Предопределенные. Рассмотрим, как проанализировать ситуацию и устранить этот программный «рассинхрон».
Ситуация, когда настройки в Конфигураторе и в режиме 1С:Предприятие различаются, чаще всего вызвана тем, что в базе данных произошел «рассинхрон» предопределенных элементов. Это случается при переносе данных или некорректном обновлении релиза. Запись в базе данных может иметь признак Предопределенный, но при этом она не является истинным элементом конфигурации. В результате встроенные механизмы 1С не позволяют изменять настройки такого объекта, так как считают его «заблокированным» системой.
Прежде чем приступать к изменениям, необходимо убедиться, что счет 10.03 не превратился в группу счетов. В последних версиях 1С:Бухгалтерии счет 10.03 может стать «группой», внутри которой располагаются субсчета 10.03.1 и 10.03.2. Счета-группы не могут иметь вид Активный, так как они лишь суммируют показатели субсчетов. Если вы видите, что счет отображается жирным шрифтом и имеет значок папки — это нормальное поведение системы, и менять его настройки не требуется.
Если же счета 10.03.1 и 10.03.2 явно определены некорректно, а стандартные методы редактирования не дают результата, необходимо временно лишить их статуса Предопределенный программным путем. Это позволит нам получить полный доступ к настройкам счета.
Для выполнения этой задачи воспользуемся Консолью кода или создадим внешнюю обработку. Разберем последовательность действий:
.dt или копию всей папки с базой).Хозрасчетный.
// Предположим, мы нашли ссылку на счет
СчетДляИзменения = ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.03.1");
Если НЕ СчетДляИзменения.Пустая() Тогда
ОбъектДанных = СчетДляИзменения.ПолучитьОбъект();
ОбъектДанных.ИмяПредопределенныхДанных = "";
ОбъектДанных.Записать();
КонецЕсли;
После выполнения этого кода статус Предопределенный у счета в базе данных будет снят. Теперь вы сможете в режиме 1С:Предприятие изменить вид счета на Активный и установить галочку Количественный учет.
После того как вы привели настройки счета в соответствие с требованиями учета, необходимо убедиться, что система «примет» эти изменения и не будет выдавать ошибок при следующем обновлении.
Конфигуратор.Пассивный, затем верните обратно на Активный).Обновить конфигурацию базы данных).1С:Предприятие и проверьте, как отображаются счета.В ряде случаев, перед тем как прибегать к правке кода, попробуйте воспользоваться штатной утилитой Тестирование и исправление информационной базы. Выберите пункты Реструктуризация таблиц и Проверка логической целостности. Часто этого достаточно, чтобы 1С самостоятельно сопоставила существующие записи с обновленной структурой конфигурации. Если же штатная утилита не помогла, описанный выше метод программного изменения свойства ИмяПредопределенныхДанных является самым надежным способом решения проблемы.
Помните: любые манипуляции с планом счетов требуют внимательности, так как на данные счета могут быть уже сформированы проводки. Всегда выполняйте подобные действия в копии базы!