Вопрос по оптимизации архитектуры

1. PLAstic 295 25.12.19 09:25 Сейчас в теме
Есть некий нетиповой процесс с документом. Сначала сам документ оформляется пользователем и проводится. При этом он должен как-то отметиться, что его надо далее по процессу обработать - включить в некие механизмы расчёта. Затем вводится документ расчёта и он по "Заполнить" должен выбирать такие документы, которые уже введены и ещё не были рассчитаны другими документами расчёта.

Вопрос в том, как оптимально организовать архитектуру.
На данный момент я сделал периодический подчинённый РС с колонками РассчитываемыйДокумент и ДокументРасчёта. Первично документ записывается туда с пустым документом расчёта. Сам документ расчёта при проведении по документам из своей ТЧ записывает в этот РС строки, где в ДокументРасчёта ставит себя, отмечая т.о., что он рассчитал документы.

Всё работает, но есть какое-то смутное чувство, что можно сделать оптимальнее.
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
22. YannikAlx 43 25.12.19 10:46 Сейчас в теме +2 $m
(20) В продолжение , если же ваш документ расчета, просто делает свои телодвижении на основании этих 300, то ясно что для каждого документа основания из Таблицы Основания документа расчета целесообразнее делать движения в РС при проведении документа расчета
Движения РС подчиненного документу расчета
Документ-Расчитан

И таких движений у одного документа расчета будет 300 в вашем описаном примере
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. tvm 25.12.19 09:33 Сейчас в теме
(1) в типовых посмотреть как делается связь между реализацией и счет-фактурой
5. PLAstic 295 25.12.19 10:05 Сейчас в теме
(2) Посмотрел. Похоже, они выбирают почти все поля ТЧ Товары (исключая суммовые) из накладной и сравнивают по всем ним с таким же набором данных из ТЧ Товары счетов-фактур, которые были введены до вводимой в данный момент.
Я не уверен, что анализировать ТЧ документов - это правильнее, чем РС.
7. Lenten 25 25.12.19 10:08 Сейчас в теме
(5) там плюс в том, что в структуре подчиненности видны будут связанные документы.
13. PLAstic 295 25.12.19 10:16 Сейчас в теме
(7) Это действительно плюс. Тут мы контролируем, что на основании одной накладной не введут две СФ. А как ответить на вопрос "какие накладные на данный момент без СФ"? Ведь документ расчёта должен включить в себя множество нерассчитанных документов.
9. user623969_dusa 25.12.19 10:09 Сейчас в теме
(5) смысл РС только если ты уверен что ты правильно создал измерения у тебя будут нужные индексы и тогда запрос будет быстрее а так что РС что Документ это таблица в БД. все равно из какой таблицы запрашивать данные
6. user623969_dusa 25.12.19 10:07 Сейчас в теме
(1) чем простые статусы не угодили? очень нужно знать каким документом рассчитан обрабатываемый документ? так просто реквизит в документ добавить - например, ДокументОснование? запрос по документам религия не позволяет делать?
8. PLAstic 295 25.12.19 10:09 Сейчас в теме
(6) Всё так. Нужно знать, кем был рассчитан. А документ-основание не совсем подходит, т.к. документ расчёта включает в себя все нерассчитанные документы до момента своего ввода. Т.е. "оснований" много.
Запрос по документам религия не позволяет делать, да.
10. Lenten 25 25.12.19 10:10 Сейчас в теме
(8)
Запрос по документам религия не позволяет делать, да.


почему?
11. user623969_dusa 25.12.19 10:10 Сейчас в теме
(8) если нужна именно история расчета то тут регистр сведений без вариантов
YannikAlx; +1 Ответить
14. YannikAlx 43 25.12.19 10:17 Сейчас в теме
Вот как сказано в (11) нужна история кто, как и когда рассчитывал, то тут ясно нужен РС .
Других причин использовать РС - нету
12. YannikAlx 43 25.12.19 10:15 Сейчас в теме
(8) Правильным значит будет добавить табличную часть в документ Документы Основания.
Причем в типовых делается именно так!
А делать РС для рассчетов - не айс совершенно. Ну не для того РС были задуманы...
Там лучше хранить конечные результаты все же...
15. PLAstic 295 25.12.19 10:18 Сейчас в теме
(12) Согласен со всем. Но как ответить на вопрос из (13)?
какие накладные на данный момент без СФ
Красиво не решишь. Надо выбирать все основания из всех СФ, а потом искать накладные не из этого массива. Так?
16. YannikAlx 43 25.12.19 10:20 Сейчас в теме
(15) Какой вопрос ?
какие накладные на данный момент без СФ

?
Ну так у вас же будут все документы основания прописаны в документе расчета!
17. PLAstic 295 25.12.19 10:22 Сейчас в теме
(16) Но так новый документ расчёта вводится независимо, не на основании. В нём есть механизм заполнения, который должен включить в документ (например,заполнить ТЧ ДокументыОснования) все нерассчитанные на данный момент документы.
В нынешней реализации я ищу все записи в РС с пустым документом расчёта.
19. YannikAlx 43 25.12.19 10:28 Сейчас в теме
(17) Вот вы и подошли к верному механизму...
Команда "Заполнить" ТЧ ДокументыОснования....
А в документах , которые нерасчитаны, после включения в этот документ расчета статус можно менять (расчитан-НЕРасчитан)
И по нему в том числе заполнять документ расчета в выше указанной команде
20. PLAstic 295 25.12.19 10:32 Сейчас в теме
(19) Статус в данном решении - реквизит документа? Т.е. я беру и программно перезаписываю все документы-основания при включении их в документ расчёта? Со всеми проверками и обработчиками записи/проведения? А если мы рассчитываем одним документом штук 300 документов, то процедура перезаписи документов умножается на 300. И, конечно, надо менять статус расчёта обратно в случае, если документ расчёта распровели.
Оптимально ли это?
21. YannikAlx 43 25.12.19 10:39 Сейчас в теме
(20) Я не знаю что и как вы расчитываете...
Если данные всех этих 300 документов меняются, а именно так я воспринимаю слова - документ расчитывается, то ясно что только так и должно быть...
Как в ЗУПе например - кадровики создают документ отпуск, а потом его расчитывает бухгалтер-расчетчик и ставится статус документа РАСЧИТАН.
Если же расчет этот никак не связан с изменениями данных в документе, то это и расчетом его вряд ли назовешь, то безусловно статус документа в самом документе - нелепость.
Поэтому вы либо распишите подробнее, либо сами определяйте, как определить "расчитанность" документа....
22. YannikAlx 43 25.12.19 10:46 Сейчас в теме +2 $m
(20) В продолжение , если же ваш документ расчета, просто делает свои телодвижении на основании этих 300, то ясно что для каждого документа основания из Таблицы Основания документа расчета целесообразнее делать движения в РС при проведении документа расчета
Движения РС подчиненного документу расчета
Документ-Расчитан

И таких движений у одного документа расчета будет 300 в вашем описаном примере
23. YannikAlx 43 25.12.19 10:47 Сейчас в теме
(20) опять же именно этот РС позволит исключать в команде Заполнить те документы , которые уже расчитаны
3. Lenten 25 25.12.19 09:44 Сейчас в теме
проверь ситуации отмены проведения обоих документов. Т.е. у тебя документы связались, а потом старый удалили например
4. PLAstic 295 25.12.19 09:49 Сейчас в теме
(3) Действия с документом будут запрещаться, если он был рассчитан. Если же распровели документ расчёта, то появилась пачка необработанных документов, которые войдут автоматом в следующий документ расчёта.
18. YannikAlx 43 25.12.19 10:25 Сейчас в теме
Что значит красиво?
Главное быстро и правильно...
А красота - понятие очень скользкое... Квадрат Малевича - красив? А туча маньяков им восхищаются... Вот то-то
24. PLAstic 295 25.12.19 10:54 Сейчас в теме
Спасибо всем участникам за то, что откликнулись. Ваши советы мне помогли.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот