Открыли субсчета к счету 50.01. Сразу не добавили субконто, а после записи это сделать невозможно. Попытался сделать добавление программно (пример взят из книги Простые примеры разработки) - не получилось, виснет после записи счета.
Подскажите, как правильно добавить субконто? Конфигурация бухгалтерия 1.6
Подскажите, как правильно добавить субконто? Конфигурация бухгалтерия 1.6
По теме из базы знаний
- Выгрузка данных по зарплате из ЗиК 7.7 в 1С "Подрядчик строительства". Как выгрузить субконто 2 по 70 счету.
- Корректировка Поступления не попадает в книгу продаж. Как исправить?
- Отчет ОСВ++ для 1С:Бухгалтерии 3.0 - расшифровка оборотов, добавление любого количества субконто без изменения конфигурации и не только
- Регистры бухгалтерии. Настройки, субконто и движения с субконто
- Заполнение бухгалтерской операции остатками по счету. Автоматические проводки закрытия счетов
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) Зачем же Габец в книге "Простые примеры разработки" помещает пример?
ВидМенеджеры = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НайтиПоНаименованию("Менеджеры", Истина);
// Добавить новый вид характеристик.
Если ВидМенеджеры.Пустая() Тогда
ВидМенеджеры = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СоздатьЭлемент();
ВидМенеджеры.Наименование = "Менеджеры";
ВидМенеджеры.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.Пользователи");
ВидМенеджеры.Записать();
КонецЕсли;
// Получить нужный счет.
Счет = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.01.1");
Если (Не Счет.Пустая()) И (Счет.ВидыСубконто.Найти(ВидМенеджеры) = Неопределено) Тогда
// Добавить новый вид субконто к счету.
ОбъектСчета = Счет.ПолучитьОбъект();
НовыйВидСубконто = ОбъектСчета.ВидыСубконто.Добавить();
НовыйВидСубконто.ВидСубконто = ВидМенеджеры;
НовыйВидСубконто.ТолькоОбороты = Истина;
НовыйВидСубконто.Суммовой = Истина;
ОбъектСчета.Записать();
КонецЕсли;
Делаю примерно так же (из ПВХ выбираю, ничего нового там не создаю) , весь код выполняется. Виснет после выполнения ОбъектСчета.Записать();
ВидМенеджеры = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.НайтиПоНаименованию("Менеджеры", Истина);
// Добавить новый вид характеристик.
Если ВидМенеджеры.Пустая() Тогда
ВидМенеджеры = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СоздатьЭлемент();
ВидМенеджеры.Наименование = "Менеджеры";
ВидМенеджеры.ТипЗначения = Новый ОписаниеТипов("СправочникСсылка.Пользователи");
ВидМенеджеры.Записать();
КонецЕсли;
// Получить нужный счет.
Счет = ПланыСчетов.Хозрасчетный.НайтиПоКоду("90.01.1");
Если (Не Счет.Пустая()) И (Счет.ВидыСубконто.Найти(ВидМенеджеры) = Неопределено) Тогда
// Добавить новый вид субконто к счету.
ОбъектСчета = Счет.ПолучитьОбъект();
НовыйВидСубконто = ОбъектСчета.ВидыСубконто.Добавить();
НовыйВидСубконто.ВидСубконто = ВидМенеджеры;
НовыйВидСубконто.ТолькоОбороты = Истина;
НовыйВидСубконто.Суммовой = Истина;
ОбъектСчета.Записать();
КонецЕсли;
Делаю примерно так же (из ПВХ выбираю, ничего нового там не создаю) , весь код выполняется. Виснет после выполнения ОбъектСчета.Записать();
Правильно ли я понимаю, что к 50.01 создали 50.01.1, после записи не получается создать субконто? Если да, то посоветую сделать так- создайте некий 50.01.3 (с нужным субконто), далее ваш кривой счет- поменяйте код на другой, поменяйте в новь созданном на нужным...и в документах обработкой переоформите все на вновь созданный.
Конечно не подойдет, зайдите в модуль объекта плана счетов и посмотрите на перечень "Запрещенных к изменению счетов":
ЗапрещенныеСчета.Добавить(ПланыСчетов.Хозрасчетный.Касса);
ЗапрещенныеСчета.Добавить(ПланыСчетов.Хозрасчетный.КассаОрганизации);
ЗапрещенныеСчета.Добавить(ПланыСчетов.Хозрасчетный.ОперационнаяКасса);
ЗапрещенныеСчета.Добавить(ПланыСчетов.Хозрасчетный.КассаПлатежногоАгента);
ЗапрещенныеСчета.Добавить(ПланыСчетов.Хозрасчетный.КассаОрганизацииВал);
а затем в модуль формы элемента, в процедуру ПриОткрытии()
лементыФормы.ВидыСубконто.Колонки.Валютный.Видимость = Валютный;
ЭлементыФормы.ВидыСубконто.Колонки.Количественный.Видимость = Количественный;
Запрос = Новый Запрос();
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Запрос.УстановитьПараметр("СписокСчетов", ЗапрещенныеСчета);
Запрос.УстановитьПараметр("СписокИсключений", СписокИсключений);
Запрос.Текст =
"ВЫБРАТЬ
| Хозрасчетный.Ссылка КАК Ссылка
|ИЗ
| ПланСчетов.Хозрасчетный КАК Хозрасчетный
|ГДЕ
| Хозрасчетный.Ссылка = &Ссылка
| И Хозрасчетный.Ссылка В ИЕРАРХИИ(&СписокСчетов)
| И (НЕ Хозрасчетный.Ссылка В ИЕРАРХИИ (&СписокИсключений))";
мЗапрещенныйСчет = НЕ Запрос.Выполнить().Пустой();
Если мЗапрещенныйСчет Тогда
ЭлементыФормы.КоманднаяПанель1.Кнопки.Добавить.Доступность = Ложь;
ЭлементыФормы.КоманднаяПанель1.Кнопки.Изменить.Доступность = Ложь;
ЭлементыФормы.КоманднаяПанель1.Кнопки.Удалить.Доступность = Ложь;
КонецЕсли;
То есть, если ваш счет в запрещенных, то кнопки недоступны
ЗапрещенныеСчета.Добавить(ПланыСчетов.Хозрасчетный.Касса);
ЗапрещенныеСчета.Добавить(ПланыСчетов.Хозрасчетный.КассаОрганизации);
ЗапрещенныеСчета.Добавить(ПланыСчетов.Хозрасчетный.ОперационнаяКасса);
ЗапрещенныеСчета.Добавить(ПланыСчетов.Хозрасчетный.КассаПлатежногоАгента);
ЗапрещенныеСчета.Добавить(ПланыСчетов.Хозрасчетный.КассаОрганизацииВал);
а затем в модуль формы элемента, в процедуру ПриОткрытии()
лементыФормы.ВидыСубконто.Колонки.Валютный.Видимость = Валютный;
ЭлементыФормы.ВидыСубконто.Колонки.Количественный.Видимость = Количественный;
Запрос = Новый Запрос();
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Запрос.УстановитьПараметр("СписокСчетов", ЗапрещенныеСчета);
Запрос.УстановитьПараметр("СписокИсключений", СписокИсключений);
Запрос.Текст =
"ВЫБРАТЬ
| Хозрасчетный.Ссылка КАК Ссылка
|ИЗ
| ПланСчетов.Хозрасчетный КАК Хозрасчетный
|ГДЕ
| Хозрасчетный.Ссылка = &Ссылка
| И Хозрасчетный.Ссылка В ИЕРАРХИИ(&СписокСчетов)
| И (НЕ Хозрасчетный.Ссылка В ИЕРАРХИИ (&СписокИсключений))";
мЗапрещенныйСчет = НЕ Запрос.Выполнить().Пустой();
Если мЗапрещенныйСчет Тогда
ЭлементыФормы.КоманднаяПанель1.Кнопки.Добавить.Доступность = Ложь;
ЭлементыФормы.КоманднаяПанель1.Кнопки.Изменить.Доступность = Ложь;
ЭлементыФормы.КоманднаяПанель1.Кнопки.Удалить.Доступность = Ложь;
КонецЕсли;
То есть, если ваш счет в запрещенных, то кнопки недоступны
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот