Имя: Пароль:
1C
1C 7.7
v7: Запрет на проведение при просрочке (Комплексная)
0 userMR3
 
02.09.11
12:38
1с 7.7 компл. Нужно запретить проведение при условии: долг на конец периода минус увеличение долга за 14 дней, если это значение не отрицательное, тогда запрет.
Пытался делать через регистр.покупатели, но значения на начало и конец периода не сходились со взаиморасчетами.
1 zak555
 
02.09.11
12:38
всё штатно
2 zak555
 
02.09.11
12:41
запретить продавать
3 Darych
 
02.09.11
12:41
т е если зап две недели задолжали больше чем были должны, тада можно проводить? о_О
4 Ёпрст
 
02.09.11
12:56
(0)  я писал на прямом запросе, только не 14 дней, а сколько в справочнике отсрочка стоит.
+ты забываешь еще учитывать возвраты.
5 userMR3
 
02.09.11
14:03
(3) читай внимательно, это просрочка долга, типа нач.долг>оплаты за 14 дней, тогда отгружать.

(4) в запросах сделал, там тоже нач. и кон. долги не сходятся с теми, что во взаиморасчетах, почему так?
6 Ёпрст
 
02.09.11
14:04
(5) нам отсюда не видно текст твоего запроса.
ЗЫ: чорные запросы в модуле проведения моветон.
7 userMR3
 
02.09.11
14:05
(1) штатно не нашел того, что надо, может плохо искал...

(4) можешь показать код своего запроса?
8 Ёпрст
 
02.09.11
14:07
(7) чем он тебе поможет ?
;)
9 andrewks
 
02.09.11
14:08
(7)
в договоре контрагента
10 userMR3
 
02.09.11
14:20
(9) там фиксированная сумма, и честно говоря не совсем понимаю как оно работает, если в определенное время сумма долга превысит кредит, то в течении указанного времени должны быть приходы на этот договор превышающие разницу долга и кредита? правильно ли это с точки зрения отгрузок?

(8) ну хоть посмотрю как надо делать.
11 userMR3
 
04.09.11
20:28
В Функция КонтрольКредитаПройден(ВремПокупатели)

       ДатаДолга = ДатаДок-14;
   ТекущийДолг = ВремПокупатели.СводныйОстаток(Фирма,Договор,,,,"СуммаВал");
   Прих=0;
   ВремПокупатели.ВыбратьДвижения(ДатаДолга,ДатаДок);
   Пока ВремПокупатели.ПолучитьДвижение() > 0 Цикл
       
       Если ВремПокупатели.Приход=1 Тогда
           Прих = Прих + ВремПокупатели.СуммаВал;
       КонецЕсли;
   КонецЦикла;
   
   Просрочка = ТекущийДолг-Прих;
   Сообщить("Просрочка "+Просрочка);
   
   Если Просрочка > 0 Тогда
...


Так слишком криво будет?
12 userMR3
 
06.09.11
10:08
up
13 Ёпрст
 
06.09.11
10:18
(11) слишком долго
14 userMR3
 
06.09.11
10:22
(13) А как правильнее сделать? С прямыми запросами плохо знаком, может подскажете?
15 Ёпрст
 
06.09.11
10:27
(14) ну с идеей у тебя всё правильно - посмотреть долг и отнять продажу за период. Получить просроченный долг.
А вот с реализацией - :(
Если нужно быстро, то только прямым запросом.
А так, потратишь время на временный рассчет итогов + время на получение продажи за период.
Если делаешь через ВыбратьДвижения - ставь фильтры на измерения хотя-бы.
16 Ёпрст
 
06.09.11
10:28
+15 + ты должен как-то учитывать возвраты от клиентосов.