Проблемы с предоплатой по заказу

Внимание! Данный форум является модерируемым.
Для получения к нему доступа необходимо зарегистрироваться или авторизоваться на сайте.

Страницы: Пред. 1 2
RSS
Проблемы с предоплатой по заказу
 
Можно попробовать сделать так:
В конфигураторе доработать обработку АРМАдминистратор. В конце модуля формы "ИнтерфейсАдминистратор" есть строка:
РасширяемыеПраваДоступа.Добавить(ПланыВидовХарактеристик.ПраваИНастройки.АвтоматическоеШтрихКодированиеДокументов);
Нужно добавить еще одну подобную строку
РасширяемыеПраваДоступа.Добавить(ПланыВидовХарактеристик.ПраваИНастройки.ВводНаОснованииПроведенныхДокументов);
Данное изменение позволить делать исключения права "Ввод на основании проведенных документов" для указанных документов. И например, сделать исключение для документа "Приходный кассовый ордер". Теперь его можно вводить для не проведенных заказов.
 
Мне кажется, мы уже обсуждали вопрос о том, что получать оплату на основании непроведенных заказов - нонсенс! Они забудут провести заказ - и сразу возникает поле для творчества. ЭТО НЕЛЬЗЯ ДЕЛАТЬ исходя из экономической безопасности!
 
Такой вариант, он уберет проверку предоплаты. В модуле документа "Заказ покупателя" в  процедуре ОбработкаПроведения()
удалить/Закомментировать весь блок условия:

Если СуммаПредоплаты>0 Тогда
//Проверим сумму предоплаты по заказу
Сделка=Ссылка;
СуммаОплаты=орПолучитьОстатокПоСделке(Сделка,МоментВремени(),Истина,ДоговорВзаиморасчетов,ВалютаДокумента,КурсДокумента);
Если СуммаОплаты<>Неопределено Тогда
Если СуммаПредоплаты>(СуммаДокумента-СуммаОплаты) Тогда
дкСообщитьРезультат("   Сумма предоплаты по заказу составляет "+Формат(СуммаПредоплаты,"ЧЦ=15; ЧДЦ=2; ЧН=0.00")+" "+СокрЛП(ВалютаДокумента.Наименование)+".
|   Оплачено "+Формат(СуммаДокумента-СуммаОплаты,"ЧЦ=15; ЧДЦ=2; ЧН=0.00")+" "+СокрЛП(ВалютаДокумента.Наименование)+".
|   Для проведения заказа необходимо оплатить "+Формат(СуммаПредоплаты-(СуммаДокумента-СуммаОплаты),"ЧЦ=15; ЧДЦ=2; ЧН=0.00")+" "+СокрЛП(ВалютаДокумента.Наименование)+".",,ЭтотОбъект);
Отказ=Истина;
дкВыводРезультатовОбработки(ЭтотОбъект,Отказ);
Возврат;
КонецЕсли;
Иначе
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ВзаиморасчетыКомпанииОстаткиИОбороты.СуммаРасход КАК Сумма,
| ВзаиморасчетыКомпанииОстаткиИОбороты.СуммаУпрРасход КАК СуммаУпр
|ИЗ
| РегистрНакопления.ВзаиморасчетыКомпании.Обороты(,,,
| ДоговорВзаиморасчетов = &ДоговорВзаиморасчетов И
| Контрагент = &Контрагент И
| (Сделка = &Сделка ИЛИ Сделка.ДокументОснование = &Сделка)) КАК ВзаиморасчетыКомпанииОстаткиИОбороты";
Запрос.УстановитьПараметр("ДоговорВзаиморасчетов",ДоговорВзаиморасчетов);
Запрос.УстановитьПараметр("Контрагент",Контрагент);
Запрос.УстановитьПараметр("Сделка",Ссылка);
тзОплаты=Запрос.Выполнить().Выгрузить();
Если ДоговорВзаиморасчетов.ВалютаВзаиморасчетов=ВалютаДокумента Тогда
Оплачено=обПересчет(тзОплаты.Итог("Сумма"),ДоговорВзаиморасчетов.ВалютаВзаиморасчетов,Дата,ВалютаДокумента,Дата,РежимОкругления.Окр15как20);
Если СуммаПредоплаты>Оплачено Тогда
дкСообщитьРезультат("   Сумма предоплаты по заказу составляет "+Формат(СуммаПредоплаты,"ЧЦ=15; ЧДЦ=2; ЧН=0.00")+" "+СокрЛП(ВалютаДокумента.Наименование)+".
|   Оплачено "+Формат(Оплачено,"ЧЦ=15; ЧДЦ=2; ЧН=0.00")+" "+СокрЛП(ВалютаДокумента.Наименование)+".
|   Для проведения заказа необходимо оплатить "+Формат(СуммаПредоплаты-Оплачено,"ЧЦ=15; ЧДЦ=2; ЧН=0.00")+" "+СокрЛП(ВалютаДокумента.Наименование)+".",,ЭтотОбъект);
Отказ=Истина;
дкВыводРезультатовОбработки(ЭтотОбъект,Отказ);
Возврат;
КонецЕсли;
Иначе
ОплаченоУпр=тзОплаты.Итог("СуммаУпр");
СуммаПредоплатыУпр=обПересчет(СуммаПредоплаты,ВалютаДокумента,Дата,Константы.ВалютаУправленческогоУчетаКомпании.Получить(),?(обЗначениеНеЗаполнено(ЭтотОбъект.КурсВалютыУпр), Дата, ЭтотОбъект.КурсВалютыУпр),РежимОкругления.Окр15как20);
Если СуммаПредоплатыУпр>ОплаченоУпр Тогда
дкСообщитьРезультат("   Сумма предоплаты по заказу составляет "+Формат(СуммаПредоплатыУпр,"ЧЦ=15; ЧДЦ=2; ЧН=0.00")+" "+СокрЛП(Константы.ВалютаУправленческогоУчетаКомпании.Получить().Наименование)+".
|   Оплачено "+Формат(ОплаченоУпр,"ЧЦ=15; ЧДЦ=2; ЧН=0.00")+" "+СокрЛП(Константы.ВалютаУправленческогоУчетаКомпании.Получить().Наименование)+".
|   Для проведения заказа необходимо оплатить "+Формат(СуммаПредоплатыУпр-ОплаченоУпр,"ЧЦ=15; ЧДЦ=2; ЧН=0.00")+" "+СокрЛП(Константы.ВалютаУправленческогоУчетаКомпании.Получить().Наименование)+".",,ЭтотОбъект);
Отказ=Истина;
дкВыводРезультатовОбработки(ЭтотОбъект,Отказ);
Возврат;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
 
надо подумать. Спасибо за еще одну идею :)
Страницы: Пред. 1 2
Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С