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

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

Страницы: 1 2 След.
RSS
Проблемы с предоплатой по заказу
 
Вопрос такой: вводим заказ покупателя с предоплатой 70%. Вводим приходник на сумму, составляющую 70% от общей. Контрагент/договор - те же, что и в заказе. Но заказ провести не дает, не понимает типа, что это предоплата была. Куда копать?
 
Проверьте реквизит "Способ закрытия сделок" в договоре взаиморасчетов с покупателем. Он должен в данном случае быть "По счетам и заказам".
 
Коллеги! Подскажите пжл как провести заказ покупателя, если по договору должна быть предоплата 10% и способ закрытия сделок - по расчетным документам. При этом, предоплата будет оплачена покупателем после того, как мы сформируем заказ покупателя и скажем ему сколько надо оплатить.
 
Цитата
Мария Грикурова пишет:
Коллеги! Подскажите пжл как провести заказ покупателя, если по договору должна быть предоплата 10% и способ закрытия сделок - по расчетным документам. При этом, предоплата будет оплачена покупателем после того, как мы сформируем заказ покупателя и скажем ему сколько надо оплатить.
Если в договоре способ закрытия сделок по расчетным документам, то заказ покупателя в этом случае не может быть сделкой по взаиморасчетам. В этом и суть данного реквизита. При таком ведении взаиморасчетов какие либо задолженности возникают только "по факту" (например реализация товаров).
 
Простите, не поняла ответа.
Правильно ли я понимаю методологию учета.
1. если способ закрытия сделок - по расчетным документам, то заказ покупателя не оформляется.
2. если необходимо оформлять заказы покупателя - тогда способ закрытия сделок по счетам и заказам.
Тогда
1. присутствует ошибка: при наличии условия предоплаты по заказу и отсутствии остатка денег заказ все равно не проводится...
2. Есть вопрос - как контролируется задолженность по сроку оплаты если есть отсрочка платежа - от даты заказа или счета, наверное? Или от даты отгрузки?
 
В случае способа закрытия сделок по расчетным документам сумму предоплаты надо устанавливать в 0. В этом случае заказ не является взаиморасчетным документом. По поводу возможности/невозможности проведения заказа для такого случая прикинем как корректней отрабатывать данную ситуацию.
 
По технологии продаж это правильно - я должна зарегистрировать заказ покупателя в любом случае, есть деньги или их нет, есть товар или его нет... А потом сказать покупателю сколько и когда он должен заплатить. Для этого нужно, чтобы в заказ покупателя заносился процент предоплаты из договора и при проведении в служебном сообщении рассчитывалась сумма предоплаты.
В УПП сделано достаточно разумно - в любом случае контроль наличия предоплаты осуществляется при проведении РТУ (РТ в нашем случае).
И если заказ не является расчетным документом - зачем в нем контролировать предоплату?
Предлагаю что-то поправить... Для приближения к логике продаж :)
Кроме этого, хотела уточнить - что делать с ошибкой проведения? если условия закрытия сделок "по счетам и заказам" и есть условие предоплаты в заказе - он должен проводиться или нет? Сейчас не проводится..
 
По поводу контроля предоплаты при взаиморасчетах по расчетным документам. Сделаем проведение заказа без контроля предоплаты.

Цитата
Мария Грикурова пишет:
Кроме этого, хотела уточнить - что делать с ошибкой проведения? если условия закрытия сделок "по счетам и заказам" и есть условие предоплаты в заказе - он должен проводиться или нет? Сейчас не проводится..
В данном случае и не должно проводиться. В противном случае в а где собственно контроль предоплаты? При этом заказ записывается (без проведения), вводится оплата по заказу, проводится заказ.
 
оплата по заказу даже не создается в этом случае, потому что документ-основание для чека на оплату должен быть проведен.
"Ввод на основании непроведенного документа запрещен"
 
Цитата
Мария Грикурова пишет:
оплата по заказу даже не создается в этом случае, потому что документ-основание для чека на оплату должен быть проведен.
"Ввод на основании непроведенного документа запрещен"
Проверьте значение права "Ввод на основании проведенных документов".
 
Право скорее всего стоит - запретить. Но ровно это право будет стоять у менеджера по продажам, потому что исходя из политики безопасности я не имею права давать такие права продавцам в магазине. Разрешение вводить на основании непроведенного документа не решает методологическую проблему.
 
Получается, что сотрудник должен создать документ, не проводить его, на его основании создать документ оплаты, и когда его отвлечет следующий покупатель по телефону, забыть провести заказ. Мне кажется, что в этом есть что-то нелогичное и небезопасное для бизнеса...
 
А вы не могли бы уточнить - когда вы это сделаете? Или дать код для изменения. У нас запуск в эксплуатацию близится, не хочется с начала приучать пользователей к неправильным действиям. Тем более, что из АРМ менеджера по продажам в этом случае не сформировать документы без оплаты вообще никак.
 
Цитата
Мария Грикурова пишет:
В УПП сделано достаточно разумно - в любом случае контроль наличия предоплаты осуществляется при проведении РТУ (РТ в нашем случае).

В АА есть право "Разрешить отгрузку при наличии задолженности по договору", есть право "Проверка превышения максимального кредита контрагента" - сумма максимального кредита указывается в договоре.

Цитата
Александр Яблочкин пишет:
По поводу контроля предоплаты при взаиморасчетах по расчетным документам. Сделаем проведение заказа без контроля предоплаты.

Для исправления в заказе покупателя нужно заменить процедуру ОбработкаПроведения()
не забудьте на всякий случай сначало сохранить старую процедуру.

Процедура ОбработкаПроведения(Отказ, Режим)
Если НЕ дкОбработкаПроведения(ЭтотОбъект, Отказ, Режим) Тогда Возврат; КонецЕсли;

Если ДоговорВзаиморасчетов.СпособЗакрытияСделок = Перечисления.СпособЗакрытияСделок.ПоСчетамИЗаказам Тогда
//Проверим процент предоплаты по документу
Если НЕ обПраво("РазрешитьЗаказПокупателяБезПредоплаты",Права,,ЭтотОбъект) Тогда
Если СуммаДокумента<>0 И СуммаПредоплаты=0 И ПроцентПредоплаты=0 Тогда
Сообщить("У Вас нет прав приема заказа покупателя без предоплаты!",СтатусСообщения.Важное);
Отказ=Истина;
Возврат;
КонецЕсли;
КонецЕсли;
Если СуммаПредоплаты>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")+" "+СокрЛП(Константы.ВалютаУправленческогоУчетаКомпании.Получить().Наименование)+".",,ЭтотОбъект);
Отказ=Истина;
дкВыводРезультатовОбработки(ЭтотОбъект,Отказ);
Возврат;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;

Если обПраво("ПроверкаМаксимальногоПревышенияКредитаКонтрагента",Права,,ЭтотОбъект) Тогда
// получим долг
СтруктураОтбора=Новый Структура();
СтруктураОтбора.Вставить("Контрагент",Контрагент);
СтруктураОтбора.Вставить("ДоговорВзаиморасчетов",ДоговорВзаиморасчетов);
//получаем текущие остатки, т.к. оплата может быть позже заказа
тзДолги=РегистрыНакопления.ВзаиморасчетыКомпании.Остатки(,СтруктураОтбора,,"Сумма,СуммаУпр");
Долг=тзДолги.Итог("Сумма");
СуммаДокументаВВалютеДоговора=обПересчет(СуммаДокумента,ВалютаДокумента,КурсДокумента,ДоговорВзаиморасчетов.ВалютаВзаиморасчетов,Дата);
Если (Долг+СуммаДокументаВВалютеДоговора)>ДоговорВзаиморасчетов.МаксимальныйКредит Тогда
ВалютаВзаиморасчетов=СокрЛП(ДоговорВзаиморасчетов.ВалютаВзаиморасчетов.Наименование);
дкСообщитьРезультат("   Сумма долга по договору составляет "+Формат(Долг,"ЧДЦ=2; ЧН=0.00")+" "+ВалютаВзаиморасчетов+".
|   Сумма заказа составляет "+Формат(СуммаДокументаВВалютеДоговора,"ЧДЦ=2; ЧН=0.00")+" "+ВалютаВзаиморасчетов+".
|   Итого "+Формат(Долг+СуммаДокументаВВалютеДоговора,"ЧДЦ=2; ЧН=0.00")+" "+ВалютаВзаиморасчетов+".
|   А максимальный кредит по договору "+Формат(ДоговорВзаиморасчетов.МаксимальныйКредит,"ЧДЦ=2; ЧН=0.00")+" "+ВалютаВзаиморасчетов+".",,ЭтотОбъект);
//Отказ=Истина;
КонецЕсли;
КонецЕсли;

Заказывать=Истина;
Резервировать=((ХозОперация=Справочники.ХозОперации.ЗаказРезервированиеПокупателя) ИЛИ (ХозОперация=Справочники.ХозОперации.РезервированиеПокупателя));

// проводим заказ покупателя
НаборЗаписейЗаказыПокупателей=Движения.ЗаказыПокупателей;
НаборЗаписейЗаказыПокупателей.РежимПроведения=Режим;
НаборЗаписейЗаказыПокупателей.ДокументОбъект=ЭтотОбъект;
НаборЗаписейЗаказыПокупателей.РезультатЗапросаПоТоварам=Неопределено;
НаборЗаписейЗаказыПокупателей.Контрагент=Контрагент;
НаборЗаписейЗаказыПокупателей.Заказ=Ссылка;
НаборЗаписейЗаказыПокупателей.СкладКомпании=СкладКомпании;
НаборЗаписейЗаказыПокупателей.Заказывать=Заказывать;
НаборЗаписейЗаказыПокупателей.Резервировать=Резервировать;
Отказ=НЕ НаборЗаписейЗаказыПокупателей.Приход() ИЛИ Отказ;

Если Резервировать Тогда
// резервирование заказа покупателя
НаборЗаписейОстатки=Движения.ОстаткиТоваровКомпании;
НаборЗаписейОстатки.РежимПроведения=Режим;
НаборЗаписейОстатки.ДокументОбъект=ЭтотОбъект;
НаборЗаписейОстатки.РезультатЗапросаПоТоварам=Неопределено;
НаборЗаписейОстатки.СкладКомпании=СкладКомпании;
НаборЗаписейОстатки.Приходовать=Ложь;
НаборЗаписейОстатки.Резервировать=Резервировать;
НаборЗаписейОстатки.ДвиженияПоРознице=Ложь;
Отказ=НЕ НаборЗаписейОстатки.Приход() ИЛИ Отказ;
КонецЕсли;

// двигаем границу последовательности заказов
Если Режим<>РежимПроведенияДокумента.Оперативный ИЛИ ЗначениеЗаполнено(ДополнительныеСвойства.ЗаказБыл) Тогда
НаборЗаписейГраницыЗаказы = РегистрыСведений.ГраницыЗаказы.СоздатьНаборЗаписей();
Если Режим<>РежимПроведенияДокумента.Оперативный Тогда
НаборЗаписейГраницыЗаказы.Заказ = Ссылка;
НаборЗаписейГраницыЗаказы.МоментВремени = Дата;
НаборЗаписейГраницыЗаказы.ЗаказБыл = ДополнительныеСвойства.ЗаказБыл;
НаборЗаписейГраницыЗаказы.МоментВремениБыл = ДополнительныеСвойства.МоментВремениБыл;
Иначе
НаборЗаписейГраницыЗаказы.Заказ = ДополнительныеСвойства.ЗаказБыл;
НаборЗаписейГраницыЗаказы.МоментВремени = ДополнительныеСвойства.МоментВремениБыл;
НаборЗаписейГраницыЗаказы.ЗаказБыл = Неопределено;
НаборЗаписейГраницыЗаказы.МоментВремениБыл = Неопределено;
КонецЕсли;
НаборЗаписейГраницыЗаказы.ДокументСсылка = Ссылка;
НаборЗаписейГраницыЗаказы.ИзменитьГраницу();
КонецЕсли;

// выведем сообщения об ошибках и предупреждениях
дкВыводРезультатовОбработки(ЭтотОбъект,Отказ);
КонецПроцедуры // ОбработкаПроведения()
 
Цитата
Виктор Радько пишет:
В АА есть право "Разрешить отгрузку при наличии задолженности по договору", есть право "Проверка превышения максимального кредита контрагента" - сумма максимального кредита указывается в договоре.

По поводу первого права - я не могу его давать всем продажникам, это нарушение политики безопасности.
А вот второе - уже ближе к бизнесу. Это будет работать при ведении расчетов по заказам и счетам?
 
Цитата
Мария Грикурова пишет:
А вот второе - уже ближе к бизнесу. Это будет работать при ведении расчетов по заказам и счетам?

Да, и ограничение на максимальный кредит это максимальная сумма долга в целом по договору, а не по определенной сделке.
 
Все поняла. Будем работать дальше  :D
 
Пожелание выполнено, изменения появятся в 19 релизе.
Изменено: Эдуард Иванов - 07.12.2010 17:06:49
 
Здорово! Спасибо большое!
 
Что-то нет никаких изменений в 19 релизе. Продажники не могут провести заказ, т.к. не оплачена предоплата. а как её оплатить, если заказ не проведен. А если оплата безналом - деньги только через сутки приходят?
 
Я честно говоря вставила кусок кода и ничего не жду  :D Спасибо разработчикам!
 
В 19-й релиз приведенный код включен. Обратите внимание, контроль отключен только у предоплаты при взаиморасчетах по расчетным документам.
Изменено: Виктор Радько - 10.02.2011 10:47:42
 
Спасибо.
 
Цитата
Skrepka Skrepka пишет:
А если оплата безналом - деньги только через сутки приходят
Если у договора способ закрытия по счетам и заказам в этом случае можно включить право "Разрешить заказ покупателя без предоплаты" и очистить сумму предоплаты.
 
а если предоплата должна быть, обнулять её нельзя в заказе, как тогда быть?
Страницы: 1 2 След.
Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С