Запрет проведения документа, если у клиента задолженность

1. jasand 25.05.21 10:18 Сейчас в теме
Есть ли возможность настроить автоматический запрет на проведение Расходной накладной или Заказа покупателя, если клиент имеет задолженность? Вобщем, некий автоматический контроль задолженности покупателей
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. KonecEsli 1 25.05.21 10:36 Сейчас в теме
(1) А разве в договоре нет запрета отгрузки при задолженности свыше указанной суммы ?
3. jasand 25.05.21 10:48 Сейчас в теме
(2) Не нашёл. Хотя на некоторых ресурсах видел соответствующие скрины. У меня такой опции нет.
4. klom 25.05.21 10:58 Сейчас в теме
5. jasand 25.05.21 11:00 Сейчас в теме
6. klom 25.05.21 11:07 Сейчас в теме
Насколько помню штатных средств для контроля задолженности по договорам с контрагентами в конфигурации УНФ не предусмотрено. Только допиливать под себя. Или как вариант использовать то что уже придумано https://infostart.ru/public/788806/
7. jasand 25.05.21 11:23 Сейчас в теме
(6) В договоре есть функция "Срок оплаты от покупателя". Можно ли ее настроить так, чтобы документы не проводились, если оплата просрочена, скажем, на 1 день?
8. meriferi 25.05.21 11:35 Сейчас в теме
Допишите процедуру ПриПроведении, в ней запрос по регистру, если остаток больше 0, то возврат
9. M_A_D 184 25.05.21 11:53 Сейчас в теме
(8)только, наверное лучше в ПередЗаписью.

(7) и еще момент про 1 день.
Внимательно продумайте логику, т.к. если, например заказ был вчера, его не собрали, и в базе этот заказ повиснет как задолженность клиента, то при получении второго заказа в ту же сумму, новый не проведется.
(Это совет на опыте))))
10. jasand 25.05.21 11:57 Сейчас в теме
(9) у нас задолженность клиента появляется по факту, после отгрузки.

Можете немного помочь написать процедуру? я начинающий программист )))
В конфигураторе я создал Расширение1. Что делать дальше?
11. M_A_D 184 25.05.21 12:09 Сейчас в теме
(10)
Так. я опираюсь на то, что у вас 1С УНФ, думаю должно быть нечто подобное:
Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ЗаказыПокупателейОстатки.КоличествоОстаток КАК КоличествоОстаток
		|ИЗ
		|	РегистрНакопления.ЗаказыПокупателей.Остатки КАК ЗаказыПокупателейОстатки
		|ГДЕ
		|	ЗаказыПокупателейОстатки.ЗаказПокупателя.Контрагент = &Контрагент";	
	Запрос.УстановитьПараметр("Контрагент", КлиентНаФормеДокумента);	
	РезЗап = Запрос.Выполнить().Выгрузить();
	Если РезЗап.Количество()>0 тогда
		Отказ = ИСТИНА; 
                Сообщить("Документ не мождет быть проведн, т.к. по клиенту числится задолженность: " + РезЗап[0].КоличествоОстаток);
	КонецЕсли;
Показать


Тут я не делаю проверку по Дате образования задолженности, т.к. вы говорите что долг появляется в момент отгрузки, т.е. по факту, если отгрузка уже совершилась, то от клиента ждете оплату, до следующей отгрузки.
jasand; criptid; +2 Ответить
12. jasand 25.05.21 12:13 Сейчас в теме
(11) Спасибо огромное! Одну минутку, мы Заказы вообще не используем, оформляем сразу Расходные
13. M_A_D 184 25.05.21 12:16 Сейчас в теме
(12)
Тогда, думаю, вместо
РегистрНакопления.ЗаказыПокупателей.Остатки
нужно обращаться к
РегистрНакопления.РасчетыСПокупателями.Остатки


И брать информацию оттуда.
14. jasand 26.05.21 10:59 Сейчас в теме
(13) Простите, куда именно вставить этот запрос? а то я совсем начинающий ))) . Вы не подумайте, что я не знаю где кнопка Enter находится )). Раньше я создавал сайты, знаю HTML, CSS, Javascript. А 1С я недавно начал осваивать.
15. M_A_D 184 26.05.21 11:56 Сейчас в теме
(14)
У документа, в модуле объекта, должна быть процедура ПередЗаписью()
Вот в нее нужно, можно в самый конец.
16. jasand 26.05.21 15:54 Сейчас в теме
(15) Всё сделал. При сохранении ругается:

{Документ.РасходнаяНакладная.МодульОбъекта(2456,43)}: Переменная не определена (КлиентНаФормеДокумента)
     Запрос.УстановитьПараметр("Контрагент", <<?>>КлиентНаФормеДокумента); (Проверка: Сервер)


Похоже, что в этом модуле нет такой переменной "КлиентНаФормеДокумента". Вместо него, наверное, что-то другое написать надо?
17. M_A_D 184 26.05.21 19:24 Сейчас в теме
(16)ну это абсолютно верное ругательство, т.к. вместо этого нужно написать путь до реквизита формы в котором хранится клиент
19. jasand 28.05.21 10:01 Сейчас в теме
(17) Я понимаю, что это наглость с моей стороны, но помогите, пожалуйста
18. jasand 28.05.21 09:58 Сейчас в теме
20. dimaster 39 02.10.23 09:58 Сейчас в теме
Бодрое! может, кто знает. возможно, изменения в последних релизах, но раньше такого точно не было.
сейчас заказ клиента не проводится, если у клиента просроченная задолженность по договору. ну то есть не реализация, а даже заказ не проводится. раньше это требовало доработки, как в этой ветке обсуждалось.
сейчас в типовом решении отрабатывает? если да, то как убрать проверку заказа, оставив только при реализации?
Оставьте свое сообщение
Вакансии
1С-Программист (интегратор Битрикс24)
Санкт-Петербург
зарплата от 150 000 руб. до 250 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 100 000 руб.
Временный (на проект)

Разработчик 1С
Москва
зарплата от 150 000 руб.
Полный день

Программист
Санкт-Петербург
зарплата от 180 000 руб. до 240 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 150 000 руб. до 250 000 руб.
Полный день