Контроль бюджетов подразделений 1С Управление торговлей
Если Вас интересует автоматизация бюджетирования, внедрения казначейства или учета по МСФО — ознакомьтесь с нашим специальным предложением.
В компании при отражении факта оплаты поставщику наличными денежными средствами действует следующая политика:
- В конце месяца (на следующий месяц) для каждого подразделения определяется лимит денежных средств
- Пока подразделение не выбрало этот лимит, платежи могут осуществляться без оформления заявки на расходование денежных средств.
- При превышении лимита оплата возможна только по предварительно выставленной заявке
Необходимо в системе предусмотреть отчет, показывающий остатки по лимитам (в разрезе подразделений) и суммы, оплаченные сверх лимита.
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
СПРОСИТЕ в комментариях!
blackschool:
При подготовке использовал следующее решение (ибо решение на своём регистре сведений не принимается преподавателями):
1. Включил в Администрировании функциональные опции «Заявки на расходование денежных средств» (все галочки).
2. Добавил у справочника «Кассы» реквизит «ИспользоватьЗаявкиСверхЛимита» с типом «булево» и вынес его на форму элемента справочника.
3. В модуле менеджера док-та «Расходный кассовый ордер» в процедуре «ЗаполнитьИменаРеквизитовПоХозяйственнойОперации» добавил реквизит хозяйственной операции с видом «Оплата поставщику»:
МассивРеквизитовОперации.Добавить(«Подразделение»);
4. В обработку проведения док-так РКО добавил следующий код после строки «ДенежныеСредстваСервер.ОтразитьЛимитыРасходаДенежныхСредств(ДополнительныеСвойства, Движения, Отказ);» :
//Проверим, установлен ли для текущей кассы режим контроля расходов при превышении допустимого лимита
Если Касса.ИспользоватьЗаявкиСверхЛимита Тогда
//Проверим наличие отрицательных остатков в регистре
Запрос = Новый Запрос(«ВЫБРАТЬ
| РасходныйКассовыйОрдерРасшифровкаПлатежа.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредствВРКО,
| СУММА(РасходныйКассовыйОрдерРасшифровкаПлатежа.Сумма) КАК СуммаВРКО
|ПОМЕСТИТЬ СтатьиДДССуммы
|ИЗ
| Документ.РасходныйКассовыйОрдер.РасшифровкаПлатежа КАК РасходныйКассовыйОрдерРасшифровкаПлатежа
|ГДЕ
| РасходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| РасходныйКассовыйОрдерРасшифровкаПлатежа.СтатьяДвиженияДенежныхСредств
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ЕСТЬNULL(-ЛимитыРасходаДенежныхСредствОбороты.ЛимитОборот + ЛимитыРасходаДенежныхСредствОбороты.РасходСверхЛимитаОборот + ЛимитыРасходаДенежныхСредствОбороты.РасходВПределахЛимитаОборот, 0) КАК Перерасход,
| ЛимитыРасходаДенежныхСредствОбороты.СтатьяДвиженияДенежныхСредств,
| ЛимитыРасходаДенежныхСредствОбороты.Организация,
| ЛимитыРасходаДенежныхСредствОбороты.Подразделение
|ПОМЕСТИТЬ ПредИтог
|ИЗ
| СтатьиДДССуммы КАК СтатьиДДССуммы
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЛимитыРасходаДенежныхСредств.Обороты(
| &ПериодНач,
| &ПериодКон,
| ,
| Организация = &Организация
| И Подразделение = &Подразделение
| И СтатьяДвиженияДенежныхСредств В
| (ВЫБРАТЬ
| Т1.СтатьяДвиженияДенежныхСредствВРКО
| ИЗ
| СтатьиДДССуммы КАК Т1)) КАК ЛимитыРасходаДенежныхСредствОбороты
| ПО СтатьиДДССуммы.СтатьяДвиженияДенежныхСредствВРКО = ЛимитыРасходаДенежныхСредствОбороты.СтатьяДвиженияДенежныхСредств
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ПредИтог.Перерасход,
| ПредИтог.СтатьяДвиженияДенежныхСредств,
| ПредИтог.Организация,
| ПредИтог.Подразделение
|ИЗ
| ПредИтог КАК ПредИтог
|ГДЕ
| ПредИтог.Перерасход > 0»);
Запрос.УстановитьПараметр(«ПериодНач»,НачалоМесяца(Дата));
Запрос.УстановитьПараметр(«ПериодКон»,КонецМесяца(Дата));
Запрос.УстановитьПараметр(«Организация»,Организация);
Запрос.УстановитьПараметр(«Подразделение»,Подразделение);
РезультатЗапроса = Запрос.Выполнить();
Если НЕ РезультатЗапроса.Пустой() Тогда
//Есть перерасход
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить(«Возник перерасход по статье ДДС «+Выборка.СтатьяДвиженияДенежныхСредств+» в размере «+Выборка.Перерасход+» «+Валюта.Наименование+»!»);
КонецЦикла;
//Отказ = Истина;
Возврат;
КонецЕсли;
КонецЕсли;
Михаил Щербаков:
Ошибки в коде выше:
1. ЕСТЬNULL(-ЛимитыРасходаДенежныхСредствОбороты.ЛимитОборот + ЛимитыРасходаДенежныхСредствОбороты.РасходСверхЛимитаОборот + ЛимитыРасходаДенежныхСредствОбороты.РасходВПределахЛимитаОборот, 0) КАК Перерасход, заменяем на
ЕСТЬNULL(-ЛимитыРасходаДенежныхСредствОбороты.ЛимитОборот + ЛимитыРасходаДенежныхСредствОбороты.РасходСверхЛимитаОборот + ЛимитыРасходаДенежныхСредствОбороты.РасходВПределахЛимитаОборот +СтатьиДДССуммы.СуммаВРКО , 0) КАК Перерасход,
2. Не забываем заполнить параметр Ссылка у запроса
3. Раскомментируем Отказ=Истина.