Имя: Пароль:
1C
1С v8
Программно создать определенное количество документов в определенный временной интервал
0 vikki
 
14.08.19
12:41
Стоит задача создать определенное количество продаж за определенный интервал времени. Определена граница суммы, например, если сумма реализации меньше 500тыс, тогда документов должно быть 10, если больше 500тыс, тогда 20 документов. Вот интересует вопрос, как раскидать документы, если количество дней во временном интервале меньше количества нужных документов? Например, Сумма реализации меньше 500тыс, то есть нужно создать 10 документов, а временной интервал в семь дней с 01.08.19 по 07.08.19? Можно конечно не заморачиваться, а кинуть лишние в первый день например, но а как красиво раскидать, равномерно что ли?
1 catena
 
14.08.19
12:48
А в чем проблема-то?
2 vikki
 
14.08.19
12:51
(1) как программно раскидать 10 документов на семь дней дней равномерно?
3 catena
 
14.08.19
12:51
ДатаНач = '20190801';
ДатаКон = '20190807';
КолДокументов=10;
д=ДатаНач;
КолДней=(ДатаКон-ДатаНач)/60/60/24+1;
Пока д<=ДатаКон Цикл
    
    КолДокВДень = Окр(КолДокументов/КолДней);
    Сообщить(""+д+": "+КолДокВДень);
    
    д=д+60*60*24;
    КолДней=КолДней-1;
    КолДокументов = КолДокументов-КолДокВДень;
КонецЦикла;
4 Irbis
 
14.08.19
12:52
(2) по очереди 1-7, 1-3
5 vikki
 
14.08.19
13:01
(3) Спасибо, на этом примере получилось, попробую на других, а я куда-то в создание временных таблиц пошла с датами и количеством документов за дату
6 ИУБиПовиц
 
14.08.19
13:06
(2) А как интерактивно создать 10 документов за 7 дней равномерно:)
В какие то дни будет 1 док в других 2:)
Проще найти количество секунд между датами, и каждый док делать с датой ДатаНач + Н * КолСекунд / КОлДок
Будет равномерно ( но опять же в одни дни один док в другие два)
Программист всегда исправляет последнюю ошибку.