Вход | Регистрация
    1  2  3  4  5  6  7  8  9  10   
Информационные технологии :: 1С:Предприятие 8 общая

Зачем нужны регистры, если все можно взять из документов?

Ø [Волшебник, 22.04.21 - 09:56]
Зачем нужны регистры, если все можно взять из документов?
Я
   brainguard
 
14.04.21 - 13:39
Есть ли какие-то соображения, кроме быстродействия?
   mistеr
 
101 - 14.04.21 - 14:40
(80) Быстродействие это основное назначение регистров и подобных им структур. Остальные "плюсы" побочные эффекты.
   Mikeware
 
102 - 14.04.21 - 14:40
(97) нет. даже без всяких "конфигураций", без энтих ваших эвээмов, даже без арифмометров - регистры учета существовали, велись карандашом по бумаге, с помощью Деревянной Вычислительной Машиныв ака "Счеты"
   PLUT
 
103 - 14.04.21 - 14:45
(102) а в алкаша Ваню в деревне прозвали хакером, после того, как он обнулил кредитную историю всей деревни, украв регистр учета из местного магазина
   PLUT
 
104 - 14.04.21 - 14:46
+(103) "тетрадочку"
   brainguard
 
105 - 14.04.21 - 14:48
(92) Не убедили.
В процессе развития системы, если появляется потребность в новом регистре
ВЫ: Создаете регистр и мечетесь по дереву конфигурации, прописывая его движения в различных документах
Я:  Создаю новую функцию и пишу все в одном месте
В чем ваш выигрыш?
   Mikeware
 
106 - 14.04.21 - 14:50
(103) запросто!
   Осинкин
 
107 - 14.04.21 - 14:50
Один Миша может задать такой вопрос, что вся элита Мисты ответ найти не сможет...
   Dmitrii
 
108 - 14.04.21 - 14:50
(80) Считай, что нет никаких плюсов, если тебе так нравится.
Такова концепция ведения учета. Эта концепция взята за основу в 1С. И не только в 1С. Никто не считает остатки и обороты по документам.

Есть некий показатель, состояние которого надо контролировать. Например, деньги в кошельке.
Документов, отражающих изменение этого показателя может быть огромное множество.
Поэтому для простоты и удобства все эти события фиксируют в одной таблице. В регистре.
Чтобы, когда понадобится узнать - сколько же денег - достаточно было бы заглянуть в эту табличку, а не искать долго и упорно последний документ, в котором был рассчитан итог на момент совершения операции.
   acht
 
109 - 14.04.21 - 14:51
(105) Не предергивай, Мишаня.
Он создает регистр и прописывает его движения в нужных документах.
Ты создаешь функцию и прописываешь ее вызовы в нужных документах.
   mistеr
 
110 - 14.04.21 - 14:51
(105) На Фокспро и Клиппере примерно так и делали. Предлагаешь "назад, к истокам"?
   Mikeware
 
111 - 14.04.21 - 14:51
(109) не, он лопатит _все_ документы от начала времен...
   brainguard
 
112 - 14.04.21 - 14:52
(109) Чем отличается вызов моей функции от запроса к регистру?
   Mikeware
 
113 - 14.04.21 - 14:52
(110) кто так делал?
хотя, конечно, дебилов всегда хватало...
   mistеr
 
114 - 14.04.21 - 14:53
(112) У запроса есть гибкость.
   Иванович Михаил
 
115 - 14.04.21 - 14:54
(112) Тем, что твоя "функция" - липовая абстракция, которой нет в природе, а запрос это факт.
   brainguard
 
116 - 14.04.21 - 14:54
(114) Вот это интересно
   Mikeware
 
117 - 14.04.21 - 14:55
(112) регистр содержит однородные данные с конечным (и ебольшим) числом измерений. документ - разнородные, с очень  большим числом измерений.
регистр, в общем случае, содержит промежуточные итоги - реестр документов промежуточных итогов иметь не может (без взрыва данных)
   Mikeware
 
118 - 14.04.21 - 14:55
(114) а причем тут запросы?
   mistеr
 
119 - 14.04.21 - 14:55
(113) Все. Там не было запросов, только функции.
   Mikeware
 
120 - 14.04.21 - 14:56
(119) и что, что не было запросов? Если какой-то дебил не может организовать хранение регистров учета без запросов - причина не в отсутствии запросов, а во врожденном идиотизме
   PLUT
 
121 - 14.04.21 - 14:57
(105) вброшу еще на вентилятор:

сломай себе мозг "покупкой яблок" https://its.1c.ru/db/metod8dev/content/5839/hdoc
   brainguard
 
122 - 14.04.21 - 14:58
(121) Блокировки - это тоже интересно, спасибо
   Dmitrii
 
123 - 14.04.21 - 14:59
(105) Давай с другой стороны.

Приходит налоговый инспектор и просит вас показать ему реестр операций. Например, банальную книгу покупок. Или книгу учета доходов и расходов ИП, или "Регистр операций выбытия товаров, работ, услуг" (тут слово "регистр" - это термин инспектора, а не 1С).

Как вы предполагаете собрать такую информацию по документам?
   PLUT
 
124 - 14.04.21 - 14:59
(122) регистры - это другое. но тоже интересно. пожалуйста
   Dmitrii
 
125 - 14.04.21 - 15:00
(122) Блокировки к теме мало относятся. Что в документе хранить остатки, что в регистре - работа с блокировками будет примерно одной и той же.
   brainguard
 
126 - 14.04.21 - 15:00
(123) А как она попала в регистр? С неба? Или все-таки из документов?
   rsv
 
127 - 14.04.21 - 15:00
(0) к каким табличкам  в БД делать запросы- дело ваше.
   Kassern
 
128 - 14.04.21 - 15:01
прям вспоминаю начало карьеры, когда переносил базу из семерки в 8ку. Там тоже один отчет был написан по документам и формировался 2 часа. После кого, как перенес в 8ку и переписал его на регистр, он стал формироваться просто за пару секунд, видели бы вы выражение лица тетеньки которая его столько лет по 2часа ждала))
   Mikeware
 
129 - 14.04.21 - 15:03
(125) остатки в документе не хранятся (кроме как справочно). в документе хранятся движения.
   rsv
 
130 - 14.04.21 - 15:03
(128) ну если ба в 7ке были бы анси подобные запросы 8 ки - то взлетел бы и по докам.
 
 
   Волшебник
 
131 - 14.04.21 - 15:04
(129) движения хранятся в регистре
   PLUT
 
132 - 14.04.21 - 15:04
(125) встречал поделки, где остатки в справочнике Номенклатура хранились. ну и справочник постоянно переписывался "для справки" - а сколько осталось
   Kassern
 
133 - 14.04.21 - 15:04
(130) там вообще запросов никто не писал, писали все обходом элементов циклами, много циклов))
   Mikeware
 
134 - 14.04.21 - 15:04
(128) ну, прямым запросом в по документам семерке он мог считаться и в разы быстрее, чем в восьмерке.
   Mikeware
 
135 - 14.04.21 - 15:05
(133) сдуру можно сломать все, что угодно...
   Kassern
 
136 - 14.04.21 - 15:05
(134) там отчет был колхозно-крестьянским способом написан)
   Kassern
 
137 - 14.04.21 - 15:05
(136) примерно как ТС и предлагает
   Mikeware
 
138 - 14.04.21 - 15:06
(136) т.е. методом топикстартера...
   Kassern
 
139 - 14.04.21 - 15:06
(138) именно)
   Волшебник
 
140 - 14.04.21 - 15:06
Регистры нужны, чтобы взять _уже рассчитанные остатки_ на начало месяца (или на начало дня в зависимости от периодичности хранения итогов) и прибавить немножко движений до заданной даты, например, до текущей.) Тем самым мы получим остатки на заданную дату, например, на текущую, и нам не придётся лопатить документы за многие прошедшие годы.
   Mikeware
 
141 - 14.04.21 - 15:07
просто, опять же из истории - прежде чем изобретать лисапед с взаимно перпендикулярными многоугольными колесами - нужно изучить предмет и посмотреть, как было и что сделано в истории...
   Kassern
 
142 - 14.04.21 - 15:08
в общем если баба Клава в регистратуре будет скучать и толстеть от плюшек, съеденных на нервной почве в ожидании отчета, написанного ТС по документам, знай - это твоя вина)
   BaHgaJI
 
143 - 14.04.21 - 15:09
(0) регистры нужны, чтоб не переписывать каждый раз отчеты
   Mikeware
 
144 - 14.04.21 - 15:09
(142) может, ему хотя б непрямой массаж мозга сделают....
   MouHacTaBHuk
 
145 - 14.04.21 - 15:11
(126)в (123) был намёк на то, что налоговый инспектор не будет копаться в "этих ваших" документах, потому что это не эффективно
   Осинкин
 
146 - 14.04.21 - 15:11
Посмотрел сейчас, какое максимальное количество записей в регистрах на проде. 3 миллиарда, блин. Точно, по документам надо было бы работать, сколько бы места сэкономилось...
   brainguard
 
147 - 14.04.21 - 15:12
(146) А то!
   Mikeware
 
148 - 14.04.21 - 15:12
(146) зато время бы потерялось.
   Осинкин
 
149 - 14.04.21 - 15:14
(147) Да, а в таблице документов 2.7 млрд строк всего. Чорт, Миша, а ты ведь прав...
   Kassern
 
150 - 14.04.21 - 15:14
(148) совесть бы потерялась и сон бы был не спокойный, уши то и дело краснели бы
   brainguard
 
151 - 14.04.21 - 15:14
(140) Так не мы будем лопатить, а компьютер. А он - железнокаменный. Ему все равно
   dmpl
 
152 - 14.04.21 - 15:16
(105) Я даже больше скажу - для ведения учета достаточно 1 документа, зачем создавать несколько?
   Осинкин
 
153 - 14.04.21 - 15:16
(148) А вот не факт, что потерялось бы. Хотя, с учётом времени на разработку оптимальной архитектуры и запросов с индексами, скорее да, чем нет.
   dmpl
 
154 - 14.04.21 - 15:17
(112) Твою функцию нельзя использовать в запросах, где требуется остаток.
   Mikeware
 
155 - 14.04.21 - 15:18
(150) да нифига. регистр - отражение первичных данных при принятии их к учету. Это - место, время, ошибки при отражении. зато разделение видов данных, промежуточные итоги, быстрый доступ для получения результата
   Aleksey
 
156 - 14.04.21 - 15:18
хотел бы я взглянуть на регистр партии при условии что в расходных документах партии выбирают руками. Интересно сколько бы времени занимал контроль остатков при проведении
   Mikeware
 
157 - 14.04.21 - 15:18
(152) можно пойти дальше - достаточно одного справочника
   Kassern
 
158 - 14.04.21 - 15:20
(157) и придем опять к тетрадке и калькулятору...
   Aleksey
 
159 - 14.04.21 - 15:21
(527) Правильно и движение хранить в ТЧ номенклатуры. Вообще красота
   Mikeware
 
160 - 14.04.21 - 15:22
(158) тетрад_кам_. Это и будут регистры
 
 
   Anton1307
 
161 - 14.04.21 - 15:26
(0) Гений 1С - перелогинься
   Кац
 
162 - 14.04.21 - 15:28
(0) Очередной адепт Фузины? Там регистров нет
   Осинкин
 
163 - 14.04.21 - 15:31
(161) (162) Это намного хуже - это Миша Калимуллин :(
   Волшебник
 
164 - 14.04.21 - 15:32
(151) Его ресурсы ограничены. Запрос к документам с начала времён выгребает всю базу.
Даже 1 такой запрос подвесит сервер, а 1000 пользователей, которые каждые 5 минут обновляют остатки, такими запросами подвесят ЛЮБОЙ сервер.
   ptiz
 
165 - 14.04.21 - 15:36
Как-то спорили с коллегой по поводу одного ТЗ. Он предлагал регистр, я - документ.
Его аргумент был: "1С всегда рекомендует регистры".
В итоге я сделал через документ - всё работает :)
   rsv
 
166 - 14.04.21 - 15:38
(157) достаточно одной таблицы - ну а как ее кто назовет ...справочник , документ, регистр ,
   rsv
 
167 - 14.04.21 - 15:40
Ну а там уже вопросы к СУБД
   Dmitrii
 
168 - 14.04.21 - 15:40
(126) >> как она попала в регистр? С неба? Или все-таки из документов?

Из МНОЖЕСТВА документов.
Одна запись в книге покупок - это информация сразу из нескольких документов - первичных (акт/накладная, счет-фактура, платёжка) и регламентных (распределение НДС, подтверждение НДС, формирование записей).
Пойди и собери её по всем этим документам, которые могут быть разнесены совершенно произвольно во времени.
   Mikeware
 
169 - 14.04.21 - 15:41
(166) предлагаю назвать "универсальная фузина". Заодно можно придумать много слов от этого предмета: "зафузинить", "обфузиниться"...
   Garykom
 
170 - 14.04.21 - 15:45
(166) Ты придумал CouchDB
   azernot
 
171 - 14.04.21 - 15:45
Просто подумаем, как будем решать без регистров такую задачу:

Рассчитать оборачиваемость товаров по количеству и по себестоимости по дням, по тем товарам которых на текущий момент на остатке не менее чем на 100 тыс руб или не менее чем 100 единиц.
Оборачиваемость считать как отношение среднедневных продаж к среднедневным остаткам за предыдущие 365 дней.
В качестве количества дней для расчёта среднедневных продаж и остатков считать только дни с положительным остатком на конец дня.
   Garykom
 
172 - 14.04.21 - 15:46
   Garykom
 
173 - 14.04.21 - 15:47
(169) Эта парадигма одной таблицы достаточно новая (относительно реляционных) и вполне себе используется в учетных системах
   Mikeware
 
174 - 14.04.21 - 15:48
(171) точно так же, как и с предварительным разделением данных по регистрам.
   Garykom
 
175 - 14.04.21 - 15:49
(171) Легко.
1. На шаге Map отбираются только значимые документы
2. На шаге Reduce они считаются между собой для получения результата
3. При исправлении старого документа или заведении нового заново запускается пересчет по шагам 1 и 2, старые результат доступен до окончании нового пересчета долгого
   Garykom
 
176 - 14.04.21 - 15:50
(175)+ Огромный плюс MapReduce в легкости распараллеливания в отличие от реляционной классики
   rsv
 
177 - 14.04.21 - 15:52
(171) самое главное что есть табличка с движениями
   Garykom
 
178 - 14.04.21 - 15:57
(177) не табличка с движениями а набор документов произвольного вида
   Mikeware
 
179 - 14.04.21 - 15:58
(178) набор документов редуцируется в табличку с движениями...
   Garykom
 
180 - 14.04.21 - 16:01
(179) Не надо редуцировать это лишнее если не требуется выводить в отчетик и потеря данных
Данные хранятся как первичка в виде json документов обычно
   azernot
 
181 - 14.04.21 - 16:02
А ещё я могу добавить такую задачу как "Сторно" :)
И вуаля, снова надо переписывать все запросы собирающие движения
   Mikeware
 
182 - 14.04.21 - 16:04
(181) для отчета по документам тебе нужно переписывать "сбор движений". для отчета по регистрам - переписывать отражение движений.
   Garykom
 
183 - 14.04.21 - 16:05
(181) не надо
просто добавляется минусующий документ, который обрабатывается точно так же как первичный
   rsv
 
184 - 14.04.21 - 16:05
(181) если запрос составлен секциями через union all то
скорее дописать .
   Anton1307
 
185 - 14.04.21 - 16:11
А теперь давайте опустимся с пространных теорий о высших материях и неограниченной мощности серверах на грешную землю,
и попросим бухгалтера сформировать отчёт за последние 5 лет на процессоре Core i3 с 4-6 Гб памяти (среднестатистический компьютер).
Собрать этот отчёт по первичным документам...
   antgrom
 
186 - 14.04.21 - 16:11
(0) Кстати сделай такую конфу
На 8.х
Чтоб все данные только в документах и отчеты при получении данных обращаются к документам.
Потом отпишись про быстродействие.
   PLUT
 
187 - 14.04.21 - 16:13
(140) но это неточно :) документы можно тупо записать (изменить реквизиты), а движения в регистрах не изменятся.  и тут триумф ТС - "я же говорил, что надо по документам" собирать :)
   _stay true_
 
188 - 14.04.21 - 16:13
"Не нужна эта одинэска нам, у нас эксель"
Когда работал во франче, так ответили менеджеру по продажам по телефону.
При том звонок был не "холодным", ранее клиенты хотели купить БП+ЗУП.
Видимо, всё правильно сделали
   Garykom
 
189 - 14.04.21 - 16:13
(185) Он у него уже должен быть сделан к этому моменту
Или в регистрах или в результате MapReduce

Ты задачу переформулируй на прикольную более, надо внести исправления задним числом в каждый квартал этих 5 лет и получить отчет вчера
   PLUT
 
190 - 14.04.21 - 16:16
+(187) программно документы изменить обормоткой. Естественно, в режиме предприятия такое не прокатит по кнопочке "Записать", если документ "проведен".
   mistеr
 
191 - 14.04.21 - 16:19
(189) Более прикольная задача это сделать свертку.
   Garykom
 
192 - 14.04.21 - 16:22
(191) угу при партионке строгой
когда удалять документы прихода/поступления низзя ибо из них партии образовались еще висящие на остатках
а уже проданные партии надо удалить и доки
   repin_mike
 
193 - 14.04.21 - 16:38
(0) Уговорил, на самом деле не нужны. Удаляй.
   Курцвейл
 
194 - 14.04.21 - 16:38
Если в конфигурации нет отчетов, то регистры не нужны.
   Kassern
 
195 - 14.04.21 - 17:16
(194) а если нужен контроль остатков и взаиморасчетов при проведении документа продажи к примеру?
   mistеr
 
196 - 14.04.21 - 17:20
(195) Все как обычно, только остатки получаются функцией по методу ТС.

Будет работать до тех пор, пока клиенты не начнут плевать и сваливать с кассы.
   uno-group
 
197 - 14.04.21 - 17:37
Для упрощения программирования.
Написать в каждом документу проведение регистра с разными простыми условиями для данного документа.
Особенно когда это все еще и меняется во времени. до 01.01.01 считаем по лифо с 01.01.01 оп 31.12.01 по фифо. Следующий год по средневзвешенной и так по кругу в произвольном порядке. При этом ни проведение документа ни отчеты не меняются.
Потом отчет выбирающий его остатки, движения и т.п. с определенными условиями группировками и т.п.
То написать такую функцию которая это все будет поддерживать можно будет просто застрелиться.
А после завтра добавится документ делающий еще движения по этому регистру и создать его и прописать проводки займет час времени.
Поправить функцию неделю или даже больше.
   Rovan
 
198 - 14.04.21 - 17:40
(10) понятно как - распечатать по кадрам
https://pikabu.ru/story/raspechatayte_video_4887862
   uno-group
 
199 - 14.04.21 - 17:42
А если база распределенная и остатки нужны в периферийной базе а документы нет. то функцией задача вообще не решается или функция для каждой базы будет своя и надо еще кучу моментов продумывать.
   Kassern
 
200 - 14.04.21 - 18:00
(196) а если при записи надо будет проверять, а с базой работает 100+ юзверей, как быть с блокировками?))
  1  2  3  4  5  6  7  8  9  10   

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.