Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Кривой регистр, который не может закрыться по определению...

v7: Кривой регистр, который не может закрыться по определению...
Я
   MWWRuza
 
12.10.20 - 10:33
Добрый день!
Тут к теме замены измерений в регистре прямым запросом, отношения не имеет, только косвенно, там хорошо все, и даже Злопчинский подвел итог: (27) галактеко вздохнуло с облегчением. темный император повержен

Но... Попробовал обработку в действии, и в "процессе эксплуатации" вылез другой косяк, на который раньше просто не обращал внимания...
Я так рассчитывал, что достаточно поменять задвоенную номенклатуру в RA, и выполнить пересчет итогов, час работы с перекурами... Все так, но пересчет итогов в этой "подопытной базе" затягивается на долгие часы...
Стал разбираться - оказалось, есть регистр, никакого отношения не имеющий к моим "экспериментам", "СкидкиКлиентам". Регистр остатков.
Не знаю, есть ли он в типовой ТиС, думаю нет, во всяком случае в таком виде.
Сразу хочу сказать - не кидайтесь тапочками, это не мое поделие, это "тяжелое наследство" от ККС... Какой му**к это делал, руки бы ему отшибить...
Куча измерений в регистре, ни одного реквизита, и два документа, которые двигают его.
Один документ - ОтчетПоСкидкам, второй документ - "СписаниеНакопленныхСкидок"... Куча косяков. Например, первый док двигает регистр по измерению "Номенклатура", во втором документе даже упоминания о ней нет, и таких еще несколько...
Естественно, регистр не закрывается. RA его - 35 мб, RG - 360 мб!!! Это за год от последней свертки... Вот и пересчитывает он его "до посинения".
В принципе, с этим регистром работают всего два документа и один отчет.
Возникла идея, исправить это недоразумение. Если эти измерения, по которым нельзя "собрать все в кучу", перенести в реквизиты, а измерения удалить? Ну, соответственно отчет поправить.
Должно это исправить положение?
Или все равно толку будет мало, т.к. движения прихода по этому регистру происходят каждый день(вместе с закрытием смены ОтчетПоСкидкам формируется), а расход делается раз в год, а то и вообще не делается(у кого как - кто-то копит скидки по жизни, кто-то раз в год обнуляет и начинает с нуля), он так и так в течении этого периода будет не закрытым - ?
Нужен совет - стоит ли заморачиваться, или оставить как есть(гимороя много, а есть ли смысл?), просто свертку делать периодически(можно в принципе по этому регистру конкретно, если полную не охота) - ?
   Холст
 
1 - 12.10.20 - 10:51
можно переписать отчет так чтобы он обращался к документам напрямую, а не к кривому регистру , после того как увидишь что отчет верно заработал, можно перестать документами писать в него движения, а после свертки грохнуть регистр совсем,
   MWWRuza
 
2 - 12.10.20 - 10:54
(1) Тоже вариант... Надо подумать. Спасибо за идею!
   MWWRuza
 
3 - 12.10.20 - 11:08
+(2) А где тогда хранить суммы накопленных клиентом покупок? Каждый раз считать? Они используются не только для отчетов, а в фронт выгружается процент скидки для клиента, в зависимости от того, сколько он накопил... С регистра это получается мгновенно, а с докуметов будет пересчитывать по каждому клиенту при выгрузке каждый раз... Так не пойдет.
   zenik
 
4 - 12.10.20 - 11:13
(3) Оборотный регистр - его закрывать не надо.
   MWWRuza
 
5 - 12.10.20 - 11:28
(4) Получать оборот за период "с испокон веков" до текущего времени? Насколько это будет быстро работать? Период, я так понимаю, придется "день" делать. Итоги накоплений по клиенту, могут при каждом закрытии смены меняться.
   Mikeware
 
6 - 12.10.20 - 11:34
(5) ну и посчитай "с испокон веков" - у тебя там "испокон" лет пять, при одном итоге на клиента - будет суммирование значений 60 строк.
считай прямым запросом прямо по итогам, без виртуальных таблиц
   Mikeware
 
7 - 12.10.20 - 11:35
(0) "ККС" - это кто/что?
   zenik
 
8 - 12.10.20 - 11:38
(5) зачем день? месяц, год... Да и обычно для скидок применяется система, которая берет некие обороты за определенный период. Оборот 5 лет для расчета "скидки сейчас" - по моему не нужен.
   Kigo_Kigo
 
9 - 12.10.20 - 11:38
Я думаю так, завести новыйрегистр оборотов, переписать все на него, сделать ввод отатков на основании старого регистра, старый грохнуть, для этих целей доки каждый раз пересчитывать - не вариант
   Kigo_Kigo
 
10 - 12.10.20 - 11:39
по крайней мере у меня шкальная система скидок сделана так, за 10 лет нароботки все летает
   Lazy Stranger
 
11 - 12.10.20 - 11:39
а зачем там все эти измерения? может их все выкинуть кроме клиента?
   Андрей_Андреич
 
12 - 12.10.20 - 11:45
(11) Сначала надо разобраться с принципом скидки. И поговорить с манагерами - оно может им сто лет не надо или надо уже другое.
   MWWRuza
 
13 - 12.10.20 - 12:08
(7) https://ccrs.ru/ Производители ККТ "Спарк". Так получилось, что их клиенты отошли с программами на 7.7 ко мне. со всеми косяками и гимороями.

(11) Вот и я так подумал. Изначально в теме была такая мысль. Достаточно одного измерения - "Клиент". Ну, можно "Фирму" оставить, она все равно у меня в большинстве случаев одна. Все остальное - "Номенклатура", "Склад", "ККМ", можно перенести в реквизиты. На всякий случай, может в отчете пригодятся. Должны накапливаться суммы по клиентам, от списания до списания накопленного, все остальное - значения не имеет, эсли только для какого-то, никому не нужного анализа.
Отдельная песня со "СхемаСкидок". Тут, надо анализировать этот реквизит доков, и двигать регистр остатков только если схема имеет тип накопительная. Всякие "праздничные", "временнЫе"  и т.п. "без клиентские", вообще не должны двигать этот регистр. В принципе, для их анализа, при желании можно оборотный регистр прикрутить, с периодом месяц, и если скидка такого типа, то двигать его...
   Kigo_Kigo
 
14 - 12.10.20 - 12:10
(13) Тогда у тебя получается балловая система? тогда оборотный тут не канает
   MWWRuza
 
15 - 12.10.20 - 12:16
(14) Ну, типа того. Есть шкала, в строках которой суммы накоплений от и до, и привязанные к ним проценты. Раз в год накопления обнуляются, и все идет "с нуля". Но, есть клиенты, у которых обороты маленькие, они не обнуляют накопления по покупателям. Там они копятся и копятся, и всем пофик...
   MWWRuza
 
16 - 12.10.20 - 12:30
(11) Вопрос собственно в том, что если оставить только одно измерение "Клиенты", и обнулять накопленные суммы раз в год... Или совсем не обнулять. Будет ли RG так пухнуть, и безобразно тормозить при пересчете итогов?
   Lazy Stranger
 
17 - 12.10.20 - 12:32
мне кажется таблица остатков регистра с одним измерением не должна заметно отличаться по размеру от таблицы соответствующего справочника (в данном случае контрагентов)
   Mikeware
 
18 - 12.10.20 - 12:39
(13) понял
(14) оборотный вполне вписывается.
(17) закрываемого, либо оборотного - будет даже меньше.
(15)(16) не парь мозг, напиши  запрос, достающий из итогов оборотного регистра,  измени тип на оборотный, пересчитай этот регистр - и забей на остальное. на серверной базе это, на файловой может пару часов...
   MWWRuza
 
19 - 12.10.20 - 12:41
(17) Понятно.
Теперь с реквизитами... Ну, "Склад" и "ККМ" - с ними все понятно. Один документ, одна строка движения - сумма по чеку, эти реквизиты не помешают.
А вот "Номенклатура" - ? В чеке может быть несколько строк, с одинаковым измерением, но разными реквизитами "Номенклатура"... Как это может повлиять?
Совсем убирать "Номенклатуру" не хочется, вдруг хозяин магаза захочет посмотреть, что "Вася Пупкин" чаще всего покупает...
   MWWRuza
 
20 - 12.10.20 - 12:41
(18) Попробую...
   Андрей_Андреич
 
21 - 12.10.20 - 12:42
(19) Отчета о продажах в разрезе покупателей-товароы ы конфе нет?
   Mikeware
 
22 - 12.10.20 - 12:45
(19) изменив на оборотный - ты сможешь получить и в разрезе номенклатуры, и в разрезе складов, и как угодно. Только иногда чуть дольше, чем с регистром остатков
   Андрей_Андреич
 
23 - 12.10.20 - 12:48
(22) У меня один разрез учета просто в табличку скульную закинут - показалось проще и быстрее как по быстродействию, так и по написанию. Роди это не комильфо?
   Ёпрст
 
24 - 12.10.20 - 12:50
Регстр в 35 метров, если он закрывается, персчитается в дбф за минуту, ну максимум 1,5 минуты или быстрее
   MWWRuza
 
25 - 12.10.20 - 13:01
(21) Если и есть что-то такое, то типовое из ТиС. Этот регистр только в этом одном отчете: https://cloud.mail.ru/public/4HZC/2AyDpMYmf используется, ну и самое главное - при выгрузке на кассы, вот это используется - Рег.СводныйОстаток(,,,ТекКл,,,"Сумма"); где "Рег", это регистр "СкидкиКлиентам".
(24) "если он закрывается"
В том то и дело, что не закрывается.
   MWWRuza
 
26 - 12.10.20 - 13:02
Тьфу блин, в облако вместо фоток картинку засунул...
   Ёпрст
 
27 - 12.10.20 - 13:04
(25) исправить такой мелкий регистр..еще минута.
Короче, на все..3 минуты
   Ёпрст
 
28 - 12.10.20 - 13:09
Если не нужна какая то аналитика в остатках, ее кинуть в реквизит регистра. Можно даже не апдейтить ra  потом, а просто поменять мд и словарик, в котором измерения станут реквизитами. Грохнуть rg и пересчитать итоги только по одному этому регистру
   MWWRuza
 
29 - 12.10.20 - 13:14
(27) Исправить - не проблема. Тем более, с прямыми запросами, благодаря тебе, я более-менее разобрался, по крайней мере, в том объеме, который для этого может понадобится.
Но, дальше то что? Как правильнее переделать учет по нему, что-бы он или закрывался, или все-таки переделать на оборотный?
(29) Во!!! Понятно.
А если списывать накопленные суммы продаж со скидками, будут раз в год, или вообще не будут... Это ведь все равно приведет к тому, что RG распухнет? Или с одним-двумя измерениями, на таком объеме будет не критично?
   Ёпрст
 
30 - 12.10.20 - 13:16
(29) если период хранения месяц, то не критично
 
 Рекламное место пустует
   Ёпрст
 
31 - 12.10.20 - 13:17
Да и для 5 дней тоже. Всегда можно замерить
   Ёпрст
 
32 - 12.10.20 - 13:19
Да, в той поделке..непонятно, почему реквищиты шапки и тч меняются не прямым запромом, как и все остальное. Да и есои переписать запросы на соответствие индексам, будет быстрее
   MWWRuza
 
33 - 12.10.20 - 13:32
(30) Да, месяц.
(32) Я это скопировал из обработки под SQL, как есть, не меняя. В принципе, и так работает мгновенно, куда уже быстрее. Если переделывать, то только ради "тренировки". А как инструмент для исправления косяков клиента, меня более чем устраивает.
   Злопчинский
 
34 - 13.10.20 - 23:39
(5) а вы не задумывались что лежит в табличке ИТОГОВ по оборотному регистру?
я вот задавл вопрос. но никто из гуру так и не смог внятно и однозначно ответить.
.
я вот например тупо считаю что в регистре итогов по оборотному регистру лежит ИТОГ по ОБОРОТАМ за период. соотвнетсвенно если отчет по итогам кратно месяцам - тупо воберет итоги по оборотам из итого. если некратно - доберет движениями (в плюс или минус) от ближайшего итгога...
   Mikeware
 
35 - 14.10.20 - 07:25
(34) именно так.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.