Имя: Пароль:
1C
1С v8
УНФ. Контроль задолженности покупателей
0 Klompen
 
25.05.21
09:08
1С 8.3.15.1700 УНФ 1.6.17.161

Есть ли возможность запретить создание Расходных накладных, если у клиента долг?
Заранее всех благодарю
1 Klompen
 
25.05.21
09:53
Сегодня выходной? )
2 Aleksey
 
25.05.21
10:18
При создании ты не знаешь заранее на кого будет выписана накладная. А вот контроль при записи - вполне себе штатная возможность
3 pechkin
 
25.05.21
10:19
(2) при записи уже поздно. Нужно при выборе контрагента
4 Klompen
 
25.05.21
10:26
(2) Отлично! А где ее найти?
5 Klompen
 
25.05.21
12:03
Похоже, штатных способов, всё таки, нет. Вот есть обработка: http://catalog.mista.ru/public/788806/
6 Михаил Козлов
 
25.05.21
12:10
Достаточно не дать проводить.
Не знаю, как в УНФ, а, например, в КА есть механизм согласования заказов клиентов. Вполне себе работает.
7 Klompen
 
26.05.21
13:01
Хорошо, штатных способов нет. Решил написать. В модуле Расходной накладной в процедуре ПередЗаписью написал такое:

Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    РасчетыСПокупателямиОстатки.КоличествоОстаток КАК КоличествоОстаток
        |ИЗ
        |    РегистрНакопления.РасчетыСПокупателями.Остатки КАК РасчетыСПокупателямиОстатки
        |ГДЕ
        |    РасчетыСПокупателямиОстатки.РасходнаяНакладная.Контрагент = &Контрагент";    
    Запрос.УстановитьПараметр("Контрагент", КлиентНаФормеДокумента);    
    РезЗап = Запрос.Выполнить().Выгрузить();
    Если РезЗап.Количество()>0 тогда
        Отказ = ИСТИНА;
                Сообщить("Документ не может быть проведён, так как по клиенту числится задолженность: " + РезЗап[0].КоличествоОстаток);
    КонецЕсли;

Выходит ошибка:

{Документ.РасходнаяНакладная.МодульОбъекта(2456,43)}: Переменная не определена (КлиентНаФормеДокумента)
     Запрос.УстановитьПараметр("Контрагент", <<?>>КлиентНаФормеДокумента); (Проверка: Сервер)
8 Klompen
 
26.05.21
13:52
Все на выпускном? )))
9 Klompen
 
26.05.21
14:31
Напишу ещё раз
При сохранении кода выходит такая ошибка:


{Документ.РасходнаяНакладная.МодульОбъекта(2456,43)}: Переменная не определена (КлиентНаФормеДокумента)
     Запрос.УстановитьПараметр("Контрагент", <<?>>КлиентНаФормеДокумента); (Проверка: Сервер)
10 1Сергей
 
26.05.21
14:33
(9) Ну, и? в модуле объекта и правда нет формы, и, соответственно, элементов формы
11 Klompen
 
26.05.21
14:46
(10) не совсем понял, а что тогда вместо КлиентНаФормеДокумента написать надо?
12 Klompen
 
28.05.21
09:24
Помогите, пожалуйста
13 Klompen
 
28.05.21
13:29
Ребята, вы где?
14 Доминошник
 
28.05.21
14:00
Во-первых - сделай это при выборе клиента (что бы при создании нового заказа - сразу бы ругалось на клиента)
Оставь проверку "ПередЗаписью" (документ создали копированием, клиента - не выбирают, но проверка нужна)

Ну, и вместо КлиентНаФормеДокумента посмотри - кто там у тебя:
Клиент, Контрагент, Партнер или прочая неведома зверушка.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс