БП 3.0 КОРП. Как закрыть счет 25 только на счет 20 и не закрывать на счет 23 ?
На странице Учетная политика для Счета 25 «Общепроизводственные расходы» указано, что Затраты распределяются между подразделениями и номенклатурными группами на счетах 20.01 и 23.01…
Учет ведется как на 20.01, так и на 23.01.
Но распределить затраты счета 25 требуется ТОЛЬКО на счет 20.01.
Кто в теме, посоветуйте, пожалуйста, способ реализации такого нестандартного закрытия счета 25.
Как заблокировать закрытие счета 25 на счет 23.01? Настройки или корректировки в модуле?
Заранее всем спасибо за внимание к моему вопросу.
Учет ведется как на 20.01, так и на 23.01.
Но распределить затраты счета 25 требуется ТОЛЬКО на счет 20.01.
Кто в теме, посоветуйте, пожалуйста, способ реализации такого нестандартного закрытия счета 25.
Как заблокировать закрытие счета 25 на счет 23.01? Настройки или корректировки в модуле?
Заранее всем спасибо за внимание к моему вопросу.
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Спасибо S.Volynkina (infostart.ru/1c/articles/1372421/.
В Общем модуле ПравилаРаспределенияРасходовМодификацияКонфигурации вставил в Процедуру ПриДобавленииПравилПоСчету(Процессор) готовый пример из ОграничитьРаспределениеНаДругиеПодразделения(Процессор).
Теперь на одно подразделение на счете 23 распределение с 25 не происходит.
Как бы модифицировать этот готовый пример для одного подразделения на запрет распределения сразу на несколько подразделений?
// Определим запрещенное подразделение.
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Организация", Процессор.Настройки.Контекст.Организация);
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| Подразделения.Ссылка КАК Ссылка
|ИЗ
| Справочник.ПодразделенияОрганизаций КАК Подразделения
|ГДЕ
| Подразделения.Владелец = &Организация
| И Подразделения.Родитель = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
|
|УПОРЯДОЧИТЬ ПО
| Подразделения.РеквизитДопУпорядочивания,
| Подразделения.Ссылка";
Выборка = Запрос.Выполнить().Выбрать();
Если Не Выборка.Следующий() Тогда
Возврат;
КонецЕсли;
ЗапрещенноеПодразделение = Выборка.Ссылка;
// Модифицируем запросы базы распределения, добавив условие, ограничивающее данные базы.
// На проектах связи могут быть сложнее:
// одни "косвенные" подразделения могут быть ограничены в распределении одним набором подразделений или наименований продукции,
// а другие - другим.
// В этом случае следует использовать ПоляИсточника правила, дополняя текст запроса соединением с таблицей таких связей.
Для Каждого Правило Из ПравилаДляМодификации Цикл
ЗапросБазыРаспределения = СхемыЗапросов.НайтиЗапросСозданияТаблицы(
Правило.БазаРаспределения.ТекстЗапроса,
Правило.БазаРаспределения.Имя);
КолонкаПодразделение = ЗапросБазыРаспределения.Запрос.Колонки.Найти("Подразделение");
Для Каждого Оператор Из ЗапросБазыРаспределения.Запрос.Операторы Цикл
ИндексОператора = ЗапросБазыРаспределения.Запрос.Операторы.Индекс(Оператор);
ВыражениеПодразделение = КолонкаПодразделение.Поля[ИндексОператора];
Оператор.Отбор.Добавить(СтрШаблон("%1 <> &ЗапрещенноеПодразделение", ВыражениеПодразделение));
КонецЦикла;
Правило.БазаРаспределения.ПараметрыЗапроса.Вставить("ЗапрещенноеПодразделение", ЗапрещенноеПодразделение);
// Изменение текста или параметров запроса требует изменить имя временной таблицы - так, чтобы не оказалось,
// что различные правила предусматривают создание разных таблиц с одинаковым именем.
ЗапросБазыРаспределения.Запрос.ТаблицаДляПомещения = "";
Правило.БазаРаспределения.Имя = "";
ПравилаРаспределенияРасходов.НастроитьТекстБазыРаспределения(Правило, ЗапросБазыРаспределения);
КонецЦикла;
В Общем модуле ПравилаРаспределенияРасходовМодификацияКонфигурации вставил в Процедуру ПриДобавленииПравилПоСчету(Процессор) готовый пример из ОграничитьРаспределениеНаДругиеПодразделения(Процессор).
Теперь на одно подразделение на счете 23 распределение с 25 не происходит.
Как бы модифицировать этот готовый пример для одного подразделения на запрет распределения сразу на несколько подразделений?
// Определим запрещенное подразделение.
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Организация", Процессор.Настройки.Контекст.Организация);
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| Подразделения.Ссылка КАК Ссылка
|ИЗ
| Справочник.ПодразделенияОрганизаций КАК Подразделения
|ГДЕ
| Подразделения.Владелец = &Организация
| И Подразделения.Родитель = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
|
|УПОРЯДОЧИТЬ ПО
| Подразделения.РеквизитДопУпорядочивания,
| Подразделения.Ссылка";
Выборка = Запрос.Выполнить().Выбрать();
Если Не Выборка.Следующий() Тогда
Возврат;
КонецЕсли;
ЗапрещенноеПодразделение = Выборка.Ссылка;
// Модифицируем запросы базы распределения, добавив условие, ограничивающее данные базы.
// На проектах связи могут быть сложнее:
// одни "косвенные" подразделения могут быть ограничены в распределении одним набором подразделений или наименований продукции,
// а другие - другим.
// В этом случае следует использовать ПоляИсточника правила, дополняя текст запроса соединением с таблицей таких связей.
Для Каждого Правило Из ПравилаДляМодификации Цикл
ЗапросБазыРаспределения = СхемыЗапросов.НайтиЗапросСозданияТаблицы(
Правило.БазаРаспределения.ТекстЗапроса,
Правило.БазаРаспределения.Имя);
КолонкаПодразделение = ЗапросБазыРаспределения.Запрос.Колонки.Найти("Подразделение");
Для Каждого Оператор Из ЗапросБазыРаспределения.Запрос.Операторы Цикл
ИндексОператора = ЗапросБазыРаспределения.Запрос.Операторы.Индекс(Оператор);
ВыражениеПодразделение = КолонкаПодразделение.Поля[ИндексОператора];
Оператор.Отбор.Добавить(СтрШаблон("%1 <> &ЗапрещенноеПодразделение", ВыражениеПодразделение));
КонецЦикла;
Правило.БазаРаспределения.ПараметрыЗапроса.Вставить("ЗапрещенноеПодразделение", ЗапрещенноеПодразделение);
// Изменение текста или параметров запроса требует изменить имя временной таблицы - так, чтобы не оказалось,
// что различные правила предусматривают создание разных таблиц с одинаковым именем.
ЗапросБазыРаспределения.Запрос.ТаблицаДляПомещения = "";
Правило.БазаРаспределения.Имя = "";
ПравилаРаспределенияРасходов.НастроитьТекстБазыРаспределения(Правило, ЗапросБазыРаспределения);
КонецЦикла;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот