Привет всем , помогите с кодом пожалуйста

В общей форме констант прописан код который должен программно добавлять или удалять в зависимости от условия субконто в ПланеСчетов версия 1С 8.3.10 обычное приложение , код как бы отрабатывает но ничего не происходит план счетов не меняется, вот код;

```1c
    Процедура ПриЗаписи(Отказ)

    Если УчетТоваровВРозницеПоНаименованиям Тогда

    Попытка

    ДобавитьСубконто(ПланыСчетов.Хозрасчетный.А2920,ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НоменклатураПродаж);
    ДобавитьСубконто(ПланыСчетов.Хозрасчетный.А2980,ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НоменклатураПродаж);
    УбратьСубконто(ПланыСчетов.Хозрасчетный.А9120,ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Склады);
    УбратьСубконто(ПланыСчетов.Хозрасчетный.А9020,ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Склады);

    Исключение
    Отказ=Истина;
    КонецПопытки;

    Иначе

    Попытка

    УбратьСубконто(ПланыСчетов.Хозрасчетный.А2920,ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НоменклатураПродаж);
    УбратьСубконто(ПланыСчетов.Хозрасчетный.А2980,ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НоменклатураПродаж);
    ДобавитьСубконто(ПланыСчетов.Хозрасчетный.А9120,ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Склады);
    ДобавитьСубконто(ПланыСчетов.Хозрасчетный.А9020,ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Склады);

    Исключение
    Отказ=Истина;
    КонецПопытки;

    КонецЕсли;

    КонецПроцедуры

    Процедура ДобавитьСубконто(СчетДляЗаполнения,ВидСубконто)

    Счета = Новый СписокЗначений();
    Счета.Добавить(СчетДляЗаполнения);

    ВыборкаСчетов = ПланыСчетов.Хозрасчетный.ВыбратьИерархически(СчетДляЗаполнения);
    Пока ВыборкаСчетов.Следующий() Цикл

    Счета.Добавить(ВыборкаСчетов.Ссылка);

    КонецЦикла;

    Для каждого Счет Из Счета Цикл

    Объект = Счет.Значение.ПолучитьОбъект();

    Субконто = Объект.ВидыСубконто.Найти(ВидСубконто, "ВидСубконто");

    Если Субконто = Неопределено Тогда

    НовыйВид = Объект.ВидыСубконто.Вставить(0);

    НовыйВид.ВидСубконто = ВидСубконто;
    НовыйВид.Суммовой = Истина;
    НовыйВид.Количественный = Истина;

    Объект.Записать();
    Сообщить("Установлено субконто "+ВидСубконто.Наименование+" по счету "+Строка(Счет.Значение.Код));

    КонецЕсли;

    КонецЦикла;

    КонецПроцедуры

    Процедура УбратьСубконто(СчетДляЗаполнения,ВидСубконто)

    Счета = Новый СписокЗначений();
    Счета.Добавить(СчетДляЗаполнения);

    ВыборкаСчетов = ПланыСчетов.Хозрасчетный.ВыбратьИерархически(СчетДляЗаполнения);
    Пока ВыборкаСчетов.Следующий() Цикл

    Счета.Добавить(ВыборкаСчетов.Ссылка);

    КонецЦикла;

    Для каждого Счет Из Счета Цикл

    Объект = Счет.Значение.ПолучитьОбъект();

    Субконто = Объект.ВидыСубконто.Найти(ВидСубконто, "ВидСубконто");

    Если Субконто <> Неопределено Тогда

    Объект.ВидыСубконто.Удалить(Субконто);
    Объект.Записать();
    Сообщить("Удалено субконто "+ВидСубконто.Наименование+" по счету"+Строка(Счет.Значение.Код));

    КонецЕсли;

    КонецЦикла;

    КонецПроцедуры
```

вроде все правильно написано но не отрабатывает,не могу понять где ошибка?
---
```1c
    Объект.ОбменДанными.Загрузка=Истина;
```

Вставить перед Объект.Записать(); в каждой процедуре.
---
Скорее не заходит в нужную вам ветку, потому что условие не выполняется. В отладчике выполните, посмотрите, какие условия выполняются, какие строки кода выполняются.
---
```1c
    Объект.ОбменДанными.Загрузка=Истина;
```

Вставить перед Объект.Записать(); в каждой процедуре.
---
Скорее не заходит в нужную вам ветку, потому что условие не выполняется. В отладчике выполните, посмотрите, какие условия выполняются, какие строки кода выполняются.
---
При выполнении 1С что пишет?

теги форматирования кода тут есть, пока не отформатируете говорить больше не о чем
---
Спасибо всем, проблема решилась очень просто, перенёс весь код в форму обработки и все заработало, вот только так и не понял почему этот же код не отрабатывал в модуле общей формы констант