Консультация № 182998
30.04.2011, 01:59
53.35 руб.
0 9 0
Здравствуйте! У меня возникли сложности с таким вопросом:
1C-8.2.13.219 УПП-1.3.11.1 файловая; Win-2008-ServerEnterprise x64 SP2; терминальный режим.
Стоит задача запретить "продажникам" оформление новых отгрузок, если у контрагента есть просроченные неоплаты по предыдущим отгрузкам.
Галка "Контролировать число дней задолженности" с указанием количества дней отсрочки в договоре контрагента стоит, но она работает только при формировании соответствующего отчета, а проводить новые отгрузки не запрещает.
Если же включить флажок "Контролировать сумму задолженности", то нельзя провести новые отгрузки контрагенту, даже если отсрочка по предыдущим отгрузкам ещё не истекла. Соответственно, запрета на отгрузку быть (по требованию руководства) не должно.
Посоветуйте, пожалуйста, выход из ситуации.
Спасибо

Обсуждение

Неизвестный
30.04.2011, 08:34
общий
Что значит "запретить"?
Запретить формировать новые заказы от покупателей, или запретить проводить (оформлять) реализацию, если есть просроченная сумма?
Еще предлагаю обсудить такой вопрос - индивидуальное разрешение на отгрузку клиенту, у которого есть просроченная задолженность, но отгрузить его надо.

Есть такое решение. У нас запрещено проводить РТУ, если есть просрочка. Тогда продажники пишут служебную записку руководству и на усмотрение руководства дается разрешение на отгрузку. В РТУ устанавливается флажок "Разрешить отгружать без контроля взаиморасчетов" (дописано) и в путь. Во всех остальных случаях система контролирует просрочку сама.
Неизвестный
30.04.2011, 11:53
общий
Я в подобном случае создала внешнюю печатную форму, заменила ей стандартную, где прописала, что если срок договора истек или количество дней отсрочки превышено, документ просто не печатается, и этого оказалось достаточно, менеджеры видят предупреждение, и не отгружают товар. Может быть вам подойдет этот вариант?
Неизвестный
30.04.2011, 13:37
общий
Хороший вариант.

А если товар отдавать сначала тем, кто платит, этот вариант не подойдёт. Документ ведь проведётся, остатки спишутся. Или эта внешняя форма открывается до проведения?
Неизвестный
30.04.2011, 15:07
общий
Да, форма открывается до проведения. При нажатии на нее выходит форма обработки, где они указывают дополнительные реквизиты (кто будет подписывать документы, если у контрагента генеральная доверенность на год, то она тоже встает в форму и т.д.).
Неизвестный
02.05.2011, 23:50
общий
Цитата: 219769
Я в подобном случае создала внешнюю печатную форму, заменила ей стандартную, где прописала, что если срок договора истек или количество дней отсрочки превышено, документ просто не печатается, и этого оказалось достаточно, менеджеры видят предупреждение, и не отгружают товар. Может быть вам подойдет этот вариант?

Похоже, что это - самый подходящий вариант. Вопрос только: а сама возможность проведения реализации после открытия формы обработки остаётся или "рубится на корню"?
Кстати, возможность формирования новых заказов покупателя должна остаться без каких бы то ни было дополнительных условий. Необходим запрет только на проведение реализации.
Неизвестный
03.05.2011, 07:44
общий
Я уезжаю в командировку, продлеваю вопрос на 5 суток.

Неизвестный
03.05.2011, 18:04
общий
Можно оставить только предупреждение, но при необходимости можно поставить дополнительную галочку которая позволит выводить печатную форму.
Неизвестный
09.08.2011, 14:49
общий
09.08.2011, 15:06
В модуле документа есть процедура "ОбработкаПроведения(Отказ,..."
Первый параметр скорей всего называется Отказ (это просто переменную так назвали), ну пусть тогда ПерХ

в начеле тела этой процедуры вставте условие
Код:

если МояФункцияПроверкаПросрочкиДолга_можноЛиОтгрузить()=Ложь тогда
Отказ = Истина; // здесь вписать имя того первого параметра, если называется не Оказ - то ПерХ или как там его
сообщить("Документ "+строка(Ссылка)+" нельзя проводить - клиент слишком давно нам должен!");
Возврат; // Ссылка - это такая предопределенная глобальныя(в рамках модуля этого документа) переменная, содержит сам документ можно сказать =)
конецЕсли;


Как написать ту самую МояФункцияПроверкаПросрочкиДолга_можноЛиОтгрузить() - посмотрите в программном коде того самого "соответствующего отчета", возможно просто аккуратно скопипастить, ну или выяснить как соответствующий отчет выясняет кол-во дней отсрочки и кол-во дней просрочки - и сделать подобно.
Неизвестный
09.08.2011, 14:53
общий
09.08.2011, 14:56
Да, если такой процедуры ОбработкаПроведения() не будет в модуле документа(что КРАЙНЕ маловероятно, но всякие же конфы бывают переписанные-измененные) -- эту процедуру допустимо внести самостоятельно, она предопределенная и будет прочитана системой, при исполнении. Главное, определить первый параметр, а в теле присвоить ему значение Истина. Документ проведен не будет.
Форма ответа