Имя: Пароль:
1C
1С v8
Движения на разные даты с учетом остатков
,
0 Надмозг
 
30.11.17
13:44
Суть такова. Проводится документ по некому регистру накопления и списывает остатки. В документе ТЧ, где есть реквизит Дата, на которую формируется движение по каждой строке, т.е. документ формирует записи в регистре на разные периоды. При этом на каждый момент определяется остаток и списывается. В измерениях есть "Документ расчета", т.е. нельзя просто сформировать движения по данным текущего документа, нужно списать остатки последовательно по этим документам расчета.

Как это лучше реализовать?

Нужно получить запрос по остаткам. Допустим, можно собрать текст запроса в цикле или использовать периодичность. Затем надо как-то учесть уже сформированные движения предыдущими строками ТЧ, т.е. выглядит будто по-хорошему после каждого нового движения документа, надо формировать новую таблицу остатков.

В принципе, можно получить таблицу остатков, и туда добавлять движения документа. Но, может, быть есть какие-то примеры, как это реализовать оптимально?
1 hhhh
 
30.11.17
13:56
(0) ну ОстаткиИОбороты используйте
2 vicof
 
30.11.17
14:07
"документ формирует записи в регистре на разные периоды."
Зачем такое извращение?
3 Джинн
 
30.11.17
14:14
(2) Обычный ректальный способ удаления гланд. Что не так?
4 Масянька
 
30.11.17
14:21
(0) Один док-т -> списывает остатки на разные даты? Правильно?
5 vicof
 
30.11.17
14:30
(3) не, я просто смущен, может это передовые технологии
6 Джинн
 
30.11.17
14:35
(5) Конечно. Через рот гланды любой дебил вытащит. А тут высокие технологии.
7 Масянька
 
30.11.17
14:39
(5) Передовые?...
Через рот - побочных явлений (что-то повредили, не то удалили) - нету.
Ректально - побочные явления (тут фантазия просто зашкаливает).
8 Надмозг
 
30.11.17
14:54
(2) Смысл в том, что это как рассрочка. Одним документом регистрируется факт того, что ты должен заплатить какие-то суммы на определенную дату. Допустим, две записи в ТЧ 1.01 и 1.02 по 1000 руб., сам документ 1.01.
15.01 у нас нет долга в две тысячи, нам нужно оплатить только одну. А 1.02 возникает еще долг в тысячу.Если мы сделаем один период, равный дате документа или какому-то периоду регистрации, то это не будет так работать. А два документа на каждую дату мы тоже не будем делать, естественно, т.к. через месяц, грубо говоря, мы не вспомним, что у кого-то там должен появиться долг на 1.02.
9 Надмозг
 
30.11.17
14:56
(1) в них не появятся автоматом движения документа, которые мы еще не сформировали, но они должны быть учтены
10 Масянька
 
30.11.17
15:09
(8) То есть: номенклатуру вы отдаете сразу, а оплата с рассрочкой?
11 Dmitrii
 
гуру
30.11.17
15:11
(8) >> Одним документом регистрируется факт того, что ты должен заплатить какие-то суммы на определенную дату.

Это типа платежный календарь. Регистр сведений или оборотный регистр накопления.

>> А 1.02 возникает еще долг в тысячу

А это начисление задолженности - отдельное событие хозяйственной деятельности (отдельный документ), фиксируемое в регистре накопления (вид - остатки).

А вы пытаетесь одним регистром решить две разные задачи.

В любом случае остаётся загадкой - нафига тут надо "на каждый момент определяется остаток"? Если речь о пересчитываемых процентах, пенях и штрафах, то для этого не нужно ничего пересчитывать. Так как при этом (досрочное погашение или просрочка) меняется платежный календарь (регистр сведений) - сроки и суммы в нём. И происходит это в момент события - сегодня сделали досрочное погашение или сегодня произошла просрочка, а не вперёд.
12 Масянька
 
30.11.17
15:13
(11) Легко: волшебная кнопка "Сделать фсё!" :))))))))))
13 Надмозг
 
30.11.17
15:34
(11) А каким образом по календарю фиксируется задолженность? Как это автоматизируется?
14 Aleksey
 
30.11.17
15:40
(13) это как? Долг он или есть или нет. Долг со временем не может сам по себе меняться (за исключением курсовой разницы, но это другой разговор)
15 Надмозг
 
30.11.17
15:54
(14) имеется ввиду, что мы в примере (8), допустим, смотрим некий отчет на 15.01, который нам показывает долг, и мы там не увидим долг 2000 тыс, а только 1000, а в феврале уже будет учитываться запись на 01.02
16 Масянька
 
30.11.17
15:57
(15) Это уже - как напишешь (тьфу, махнешь волшебной палочкой).
17 alxxsssar
 
30.11.17
15:59
Какой-то аналог партионного учета. Пришла партия (начисление) - списалась партия(оплата).
18 Джинн
 
30.11.17
16:08
(15) Долг в 2000 тыс., что характерно, существует и на 15.01 :) Только 1000 тыс. из него не просрочены еще.

Настоятельно рекомендую навести порядок у себя в голове и не изобретать велосипед с квадратными колесами.
19 Надмозг
 
30.11.17
16:13
(18) Да мы тут уже решили, что попахивает какой-то чушью. Собственно, потому тему и создал. Думаем, как сделать правильно.
Есть уже самописная база, ее нужно доработать, не сильно все переписывая и не сильно меняя работу пользователей, но чтобы всем было хорошо
20 Масянька
 
30.11.17
16:18
(19) Да, тебе в (11) практически все расписал.
Немножко мозгов - и всё.
21 Byasha
 
30.11.17
17:01
(0) Посмотри формирование движений регистра расчетов с клиентами в типовой Комплексной второй редакции, если в заказе клиента указан график платежей. Там как раз то что тебе нужно.
(2),(3)"А пасаны из 1С" так не считают.
22 hhhh
 
30.11.17
17:08
(9) "в них не появятся автоматом движения документа, которые мы еще не сформировали", но вы можете добавить их, они у вас есть в наличии
23 Tatitutu
 
30.11.17
18:07
(8) Продажа товара в рассрочку (кредит без процентов)
https://clck.ru/CEMm2
доступно и понятно
24 Fragster
 
гуру
30.11.17
18:09
(23) у тебя сайт (как минимум) в файрфоксе выглядит не очень - правая панель картинки закрывает. ну и до кучи это реклама в тематической ветке.
25 Tatitutu
 
30.11.17
18:16
(24) По первому пункту да, по второму нет - я ему готовый вариант показал и закрыл половину вопросов которые у него (0) возникнут в дальнейшем - оплата, возврат товара оплаченного в рассрочку, частичный возврат.... что делать если долг повис .и.т.д
26 Волшебник
 
модератор
30.11.17
21:16
(23) Может тебе создать рекламную ветку? Всего 4000 руб.
27 Tateossian
 
30.11.17
21:19
(0) Смотри, твоя таблица значений - это некий кэш. До перед проведением снимаешь остатки по регистру, переносишь в кэш. Далее работаешь только с этим кэшем. При проведении записываешь разницу между остатками и текущими значениями кэша.
28 Tateossian
 
30.11.17
21:22
(27) И нюанс: пока идет обработка проведения - ставишь или блокировки по всем значениям измерений или используешь в запросе в транзакции оператор ДЛЯ ИЗМЕНЕНИЯ (см. конструктор запросов).
29 Tatitutu
 
01.12.17
00:34
(26) да был печальный опыт ...создал
MAGAZKA - программа для розничного магазина (Проекту 10 лет !)
И ее закрыли ...без объявления причин.
НЕ знаю вроде все было по правилам.