|   |   | 
| 
 | Регистры накопления в последних версиях платформы. | ☑ | ||
|---|---|---|---|---|
| 0
    
        mkalimulin 11.02.17✎ 18:18 | 
        Говорят, что теперь можно хранить только актуальные остатки, а не остатки по месяцам. Кто знает  - как это делается?     | |||
| 1
    
        Amra 11.02.17✎ 18:20 | 
        Чего? Остатки по месяцам? Это что?     | |||
| 2
    
        mehfk 11.02.17✎ 18:21 | 
        (0) А что не спросишь у того, кто говорит?     | |||
| 3
    
        Aleksey 11.02.17✎ 18:22 | 
        (1) Ты не знал?     | |||
| 4
    
        mkalimulin 11.02.17✎ 18:22 | 
        (2) Забыл - где и когда слышал. Мне тогда было не важно.     | |||
| 5
    
        mkalimulin 11.02.17✎ 18:24 | 
        (1) Если ничего не настраивать, регистр будет хранить остатки на каждый месяц.     | |||
| 6
    
        Aleksey 11.02.17✎ 18:25 | 
        Вроде как кроме добавления агрегатов ничего в РН не менялось со времен 8.0     | |||
| 7
    
        mkalimulin 11.02.17✎ 18:28 | 
        (6) Да, нет. Там сейчас можно как-то исхитриться.     | |||
| 8
    
        Звездец 11.02.17✎ 18:29 | 
        (7) так расскажи нам     | |||
| 9
    
        Aleksey 11.02.17✎ 18:30 | 
        (5) А если настроить тогда что будет? Каждый квартал?     | |||
| 10
    
        mkalimulin 11.02.17✎ 18:32 | 
        (9) Только актуальные итоги.     | |||
| 11
    
        Звездец 11.02.17✎ 18:33 | 
        (10) а если тебе нужен остаток на дату?     | |||
| 12
    
        Aleksey 11.02.17✎ 18:34 | 
        (10) Не понял? Он и так там хранит помесячно, и в отличии от 7-ки нельзя задать другой период. Правда, в отличии от 7-ки, не нужно каждый месяц рассчитывать итоги, он лояльно относится к не рассчитанным итогам     | |||
| 13
    
        Aleksey 11.02.17✎ 18:35 | 
        (11) делает ровно то же что и 7-ка. Последние рассчитанные остатки + обороты (это если не на ТА нужны остатки)     | |||
| 14
    
        Звездец 11.02.17✎ 18:36 | 
        (13) это понятно, а если ТС сделает так что у него есть только на ТА, а надо на дату 2 года назад? рассчитывать от сегодняшнего дня?     | |||
| 15
    
        Aleksey 11.02.17✎ 18:38 | 
        (14) Ну да. (остатки на ТА) - (обороты за 2 года)     | |||
| 16
    
        Звездец 11.02.17✎ 18:39 | 
        (15) и в чем тогда плюсы? нафига это надо?     | |||
| 17
    
        mkalimulin 11.02.17✎ 18:46 | 
        (12) Нашел. Теперь можно задать минимальную и максимальную дату хранения остатков. Ставишь и туда и туда 01/11/3999 - получаются только актуальные итоги.     | |||
| 18
    
        mkalimulin 11.02.17✎ 18:47 | 
        (16) Быстро нужны только актуальные итоги.     | |||
| 19
    
        Звездец 11.02.17✎ 18:50 | 
        (18) чем имеющийся алгоритм не нравится?     | |||
| 20
    
        mkalimulin 11.02.17✎ 18:53 | 
        Или все-таки достаточно просто выключить "итоги" и оставить только "текущие итоги"? Кто знает?     | |||
| 21
    
        mkalimulin 11.02.17✎ 18:54 | 
        (19) Итогами не нравится. Их много.     | |||
| 22
    
        mkalimulin 11.02.17✎ 18:58 | 
        Нет просто выключить "итоги" нельзя. Надоело экспериментировать. Гугл что-то скрывает. Подскажите - кто знает.     | |||
| 23
    
        rozer76 11.02.17✎ 21:51 | 
        (22) если будет не оперативное проведение расчет итогов будет долгим.. она тебе надо?     | |||
| 24
    
        mkalimulin 11.02.17✎ 22:33 | 
        (23) С чего это вдруг долго? Как раз наоборот быстрее.     | |||
| 25
    
        Bober 12.02.17✎ 11:16 | 
        Расчет только текущих итогов был всегда.
 Устанавливаешь период расчета основных итогов в 00010101 и в таблице итогов только текущие итоги. Проверить что все как надо: ПолучитьИспользованиеТекущихИтогов() - Истина ПолучитьИспользованиеИтогов() - Истина ПолучитьМаксимальныйПериодРассчитанныхИтогов() - 00010101 | |||
| 26
    
        Злопчинский 12.02.17✎ 11:27 | 
        (24) с чего это быстрее?
 у тебя есть массив движений, нескольо десятокв/сотен миллионов операций. и есть итоги на сейчас. теперича надо посчитать взаду итоги - ровно "посерединке" массива операций - хоть убубухайся придется перелопатить половину массива движений. а это "долго "по рсавнению с тем, что были бы итоги помесячные и пришлось бы перелопатить маскимум движеняи за полмесяца... | |||
| 27
    
        Злопчинский 12.02.17✎ 11:27 | 
        (25) а почему 0001 - а не 3999..?     | |||
| 28
    
        Aleksey 12.02.17✎ 11:31 | 
        (27) потому что 3999 - это ТА, а рассчитанные итоги это не ТА     | |||
| 29
    
        Фрэнки 12.02.17✎ 12:13 | 
        вероятно, что ТС задумал какое-то интересное применение, жутко эффективное и заточенное на решение узкой задачи.
 Решение просто на типовом применении регистра остатков его не устраивает. Ну так надо тогда фантазировать. (Все равно Заказчик в этих фантазиях ничего не поймет) В регистрах накопления есть и Остатки и Обороты. Версия номер один - используй оборотный регистр, который ну будет расходовать записи на хранение остатков. Другая версия - используй регистр сведений. Если нужно только одно значение, называемое "актуальный остаток" и не более того, так это уже не регистр Накопления, а регистр Сведений. Ну будет отдельная ситуация, что получение сводного значения по множеству сведений одного из измерений (если их несколько) можно будет сделать только запросом. Но очень может быть, что затраты на получение этого итога самописным запросом окажутся сопоставимы со встроенными итогами по виртуальной таблице Остатков... В общем виде, так, а для конкретики здесь в теме мало данных, чтоб рекомендовать чего-то еще | |||
| 30
    
        Фрэнки 12.02.17✎ 12:14 | 
        *  оборотный регистр, который НЕ будет расходовать записи на хранение остатков     | |||
| 31
    
        mkalimulin 12.02.17✎ 12:51 | 
        (26) Не оперативное проведение будет быстрее, если у тебя хранятся только актуальные итоги.     | |||
| 32
    
        Фрэнки 12.02.17✎ 12:55 | 
        если это полностью самопальный регистр, новый, нетиповой, то какой смысл применять к нему рассуждения о скорости оперативного или неоперативного проведении? Разработчик может повесить регистрацию движений по регистру в фоновом процессе и инициализировать этот процесс на подписке к событию, причем, просто к событию ПриЗаписи     | |||
| 33
    
        mkalimulin 12.02.17✎ 12:58 | 
        (25) Спасибо. Требуются гигаватты энергии, чтобы понять логику 1С. Я устанавливаю макс. период в минимум, чтобы отключить расчет промежуточных итогов. Логичнее было бы предположить, что для этого достаточно снять флажок "Использование итогов". Кстати, зачем он тогда нужен?     | |||
| 34
    
        mkalimulin 12.02.17✎ 13:04 | 
        (32) Скорость - не главное. Насчет скорости, я просто ответил на вопрос.     | |||
| 35
    
        Bober 12.02.17✎ 13:22 | 
        (33) флаг "итоги рассчитаны" нужен для работы системы (запросов). Если выключить итоги, то запрос к таблице остатков с не пустым значением период будет вызывать исключение. период 00010101 - это значение расчета итогов по-умолчанию, например создал новый регистр и еще не производит расчетов итого.     | |||
| 36
    
        Bober 12.02.17✎ 13:26 | 
        (34) Скорость ты получишь, но нужно помнить про такие вещи как: Нельзя записывать в регистр данные будущих периодов. Нельзя злоупотреблять получением остатков сильно назад, так как в этом случае платформа получает текущие итоги и из таблицы движений добирает записи для расчет итогов до заданного периода.     | |||
| 37
    
        Bober 12.02.17✎ 13:28 | 
        в общем этот способ работы - это идеальная OLTP система, смотрим только вперед, ничего не исправляем задним числом, отчеты смотрим только на сейчас, без выбора периода.     | |||
| 38
    
        mkalimulin 12.02.17✎ 13:29 | 
        (35) С пустым тоже не работает. Если бы работал с пустым, это было бы приемлемо. Почему нельзя писать будущим периодом?     | |||
| 39
    
        mkalimulin 12.02.17✎ 13:31 | 
        (29) Регистр оборотов тоже хранит промежуточные итоги на каждый месяц. Надо выключать итоги, включать агрегаты. Просто так, вручную агрегаты не настроишь. Я на этом сломался.     | |||
| 40
    
        Фрэнки 12.02.17✎ 13:36 | 
        (39) ну так я и пишу, об использовании собственных запросов и неиспользовании преопределенных виртуальных таблиц или агрегатов     | |||
| 41
    
        Bober 12.02.17✎ 13:36 | 
        (38) с пустым периодом остаточный регистр работает, просто все считает на лету.     | |||
| 42
    
        Фрэнки 12.02.17✎ 13:38 | 
        (39) наплюй на готовые итоги. Ну зачем они тебе, по большому счету, когда в плане запроса все равно обращение к предопределенным именам таблиц, агрегатам и прочим прибамбасам - это все равно еще какие-то запросы, но генерация таких запросов происходит в платформе на сервере.     | |||
| 43
    
        mkalimulin 12.02.17✎ 13:39 | 
        (41) 
 {ВнешняяОбработка.jug.Форма.Форма.Форма(1286)}: Ошибка при вызове метода контекста (ВыполнитьПакетСПромежуточнымиДанными) мр=запрос.ВыполнитьПакетСПромежуточнымиДанными(); по причине: {(6, 2)}: Ошибка обработки представления "РегистрНакопления.ОстаткиНаСкладе.Остатки:Использование итогов выключено" <<?>>РегистрНакопления.ОстаткиНаСкладе.Остатки КАК РегистрНакопленияОстаткиНаСкладе | |||
| 44
    
        mkalimulin 12.02.17✎ 13:41 | 
        (41) Я не про период, а про галку.     | |||
| 45
    
        mkalimulin 12.02.17✎ 13:41 | 
        (40) Ты рекомендовал регистр оборотов.     | |||
| 46
    
        Фрэнки 12.02.17✎ 13:42 | 
        (45) для оборотов - его, а для остатков можно замутить РС
 практически полностью свое казино с блэкджеком и шлюхами | |||
| 47
    
        Bober 12.02.17✎ 13:45 | 
        (44) у тебя отключены итоги. Включи их и все будет работать.     | |||
| 48
    
        Bober 12.02.17✎ 13:46 | 
        (46) не стоит РС, он будет сильно рассыпаться, все время нужно будет за ним следить.     | |||
| 49
    
        mkalimulin 12.02.17✎ 13:49 | 
        (47) В этом и вопрос. Зачем эта галка вообще нужна.
 Есть две галки: "Итоги" и "Текущие итоги". Логично предположить, что выключив первую и оставив включенной вторую, ты получишь только текущие итоги в таблице итогов. | |||
| 50
    
        Фрэнки 12.02.17✎ 13:49 | 
        (48) а хрен редьки не слаще, конечно.
 Или за ним следить, или следить за чем-то еще. Мы не знаем на самом деле, какую именно задачу пытается решать ТС, какие параметры это задача имеет. Т.е. рассматривается техническая возможность манипуляций со свойствами объектов метаданных, но цели этих манипуляций могут оставаться противоречивыми к ожидаемому результату. | |||
| 51
    
        mkalimulin 12.02.17✎ 13:50 | 
        (46) Чем он будет лучше РН без промежуточных итогов?     | |||
| 52
    
        Bober 12.02.17✎ 13:51 | 
        (49) тогда покажи весь запрос к таблице итогов     | |||
| 53
    
        Джинн 12.02.17✎ 13:51 | 
        (51) ...лучше, чем грузины. (с)     | |||
| 54
    
        mkalimulin 12.02.17✎ 13:51 | 
        (50) Цель я уже озвучил. Не хранить в базе промежуточные итоги.     | |||
| 55
    
        Джинн 12.02.17✎ 13:52 | 
        (54) Анакуа? Из религиозных соображений?     | |||
| 56
    
        Bober 12.02.17✎ 13:52 | 
        (50) задача понятна, не хранить промежуточные расчеты итогов, так как не требуется для решаемой задачи.     | |||
| 57
    
        mkalimulin 12.02.17✎ 13:52 | 
        (55) Анакуа хранить?     | |||
| 58
    
        Bober 12.02.17✎ 13:54 | 
        (55) а зачем они например нужны для биллинговых\опендей\front систем.     | |||
| 59
    
        Джинн 12.02.17✎ 13:56 | 
        (57) Кагбэ это Очевидно(с) - для ускорения получения остатков.     | |||
| 60
    
        Bober 12.02.17✎ 13:57 | 
        (59) ну вот не нужно хранить остатки в системе в разрезе месяцев     | |||
| 61
    
        Фрэнки 12.02.17✎ 13:58 | 
        а выше было упомянуто, что остаток всегда только один :)
 на что я предположил, что такой остаток можно хранить в РС | |||
| 62
    
        mkalimulin 12.02.17✎ 13:58 | 
        (52) 
 ВЫБРАТЬ РегистрНакопленияОстаткиНаСкладеОстатки.Товар, РегистрНакопленияОстаткиНаСкладеОстатки.КоличествоОстаток ИЗ РегистрНакопления.ОстаткиНаСкладе.Остатки КАК РегистрНакопленияОстаткиНаСкладеОстатки | |||
| 63
    
        Джинн 12.02.17✎ 13:59 | 
        (58) Если не нужны остатки, то на кой ляд остаточный регистр? Если есть остаточный регистр, закрывается и остатков нет, то какие остатки по месяцам?     | |||
| 64
    
        Bober 12.02.17✎ 13:59 | 
        (49) флаги указывают на то, что при записи платформа должна произвести корректировку записей в итогах. Если ты выключил итоги, то платформа при запросе итогов отличных от текущих  выводит сообщение об ошибке, это как свойство поля запрет незаполненных значений.     | |||
| 65
    
        Джинн 12.02.17✎ 14:00 | 
        (60) Моя твоя не понимай ... (с)     | |||
| 66
    
        mkalimulin 12.02.17✎ 14:00 | 
        (63) Текущие остатки нужны.     | |||
| 67
    
        mkalimulin 12.02.17✎ 14:01 | 
        (64) При любом запросе ругается.     | |||
| 68
    
        Bober 12.02.17✎ 14:02 | 
        (65) Это актуально только для систем с большими объемами данных.     | |||
| 69
    
        mkalimulin 12.02.17✎ 14:03 | 
        (64) Начинаю вспоминать. Галка нужна для того, чтобы ее на время выключить, а потом сразу включить. С выключенной галкой запросы не работают. Другой вопрос: зачем тогда их две.     | |||
| 70
    
        Bober 12.02.17✎ 14:06 | 
        (69) есть итоги, а есть текущие итоги. разработчики 1с считают что не всем нужны текущие итоги, например самая базовая оптимизация работы систем это отключить текущие итоги, если в таблице практически не используются текущие итоги. С ходу всегда отключаю текущие итоги для регистров бухгалтерии (не понимаю, почему в типовых этого еще не делается).     | |||
| 71
    
        dmpl 12.02.17✎ 14:07 | 
        (26) Получение итогов будет медленнее, но они не всегда нужны. А вот запись - быстрее, ибо не придется пересчитывать все последующие итоги.     | |||
| 72
    
        Bober 12.02.17✎ 14:09 | 
        (63) покажи что выводи система на этот код:
 ЗначениеСвойства = РегистрыНакопления.ТоварыНаСкладах.ПолучитьПериодРассчитанныхИтогов(); Сообщить("ПериодРассчитанныхИтогов: " + ЗначениеСвойства); ЗначениеСвойства = РегистрыНакопления.ТоварыНаСкладах.ПолучитьИспользованиеИтогов(); Сообщить("ИспользованиеИтогов: " + ЗначениеСвойства); ЗначениеСвойства = РегистрыНакопления.ТоварыНаСкладах.ПолучитьИспользованиеТекущихИтогов(); Сообщить("ИспользованиеТекущихИтогов: " + ЗначениеСвойства); | |||
| 73
    
        Джинн 12.02.17✎ 14:09 | 
        (68) Для систем с малыми объемами данных промежуточные итоги тем более похрен.
 Короче кроме религии не вижу никаких соображений. | |||
| 74
    
        Bober 12.02.17✎ 14:10 | 
        (71) это точно, поэтому отчеты в нагруженных системах по истории не снимают.     | |||
| 75
    
        dmpl 12.02.17✎ 14:11 | 
        (61) И при правке задним числом пересчитывать все остатки? Нафига?     | |||
| 76
    
        Bober 12.02.17✎ 14:11 | 
        (73) просто не было больших массивов данных и запросы не начинали тупить на таблицах итогов с миллионными записями никому не нужных данных.     | |||
| 77
    
        ГеннадийУО 12.02.17✎ 14:12 | 
        (69) Чтобы оставить только текущие итоги, надо установить период рассчитанных итогов на дату, раньше которой в регистре нет движений, после этого пересчитать итоги.     | |||
| 78
    
        trdm 12.02.17✎ 14:13 | 
        (0) > Говорят, что теперь можно хранить только актуальные остатки, а не остатки по месяцам. Кто знает  - как это делается?
 Эта херня кажется Арегатами называется. Не? | |||
| 79
    
        Bober 12.02.17✎ 14:14 | 
        (78) не, агрегаты для оборотных регистров. Но ими тоже мало кто пользуется.     | |||
| 80
    
        Джинн 12.02.17✎ 14:15 | 
        (76) Вы уж определитесь с показаниями - то ли у Вас мелкие базы, то ли большие...     | |||
| 81
    
        mkalimulin 12.02.17✎ 14:15 | 
        (72) Да я уже разобрался. Почитал таки СП )))
 Если галка "Итоги" снята, виртуальные таблицы недоступны в принципе. Если галка "Текущие итоги" снята, в таблице итогов не формируются текущие итоги. | |||
| 82
    
        mkalimulin 12.02.17✎ 14:17 | 
        (78) Агрегаты тоже можно было бы использовать для этих целей. Но проще (77).     | |||
| 83
    
        mkalimulin 12.02.17✎ 14:18 | 
        (80) У вас большие, а у нас мелкие. Знаете почему? )))     | |||
| 84
    
        Злопчинский 12.02.17✎ 14:21 | 
        (28) а подробнее неграмотному клюшечнику...? я понимаю если расчитанные итоги где-то далеко в будущем - это будет эквиватент ТА (?),
 но когда рассчитанные итоги далеко в прошлом..? илия чего-то не понимаю? поясните, плиз | |||
| 85
    
        Злопчинский 12.02.17✎ 14:22 | 
        (31) ни в жизнь (пока) этого не понимаю     | |||
| 86
    
        mkalimulin 12.02.17✎ 14:23 | 
        (84) Когда рассчитанные итоги далеко в прошлом, тогда их просто нет. Что нам и требуется. Такая вот кондовая 1С-овская логика.     | |||
| 87
    
        mkalimulin 12.02.17✎ 14:26 | 
        (85) Я говорю системе: после 01-01-0001 итоги считать не надо. Устанавливаю максимальный период в минимум.
 Я сам не сразу понял. | |||
| 88
    
        Фрэнки 12.02.17✎ 14:26 | 
        (75) // И при правке задним числом пересчитывать все остатки? Нафига?
 в биллинге не бывает правки задним числом | |||
| 89
    
        Bober 12.02.17✎ 14:27 | 
        (86) в 8.3 появилось развитие механизма расчета итогов у РН:
 ПолучитьМаксимальныйПериодРассчитанныхИтогов() ПолучитьМинимальныйПериодРассчитанныхИтогов() | |||
| 90
    
        Bober 12.02.17✎ 14:28 | 
        (86) получается что теперь можно сделать например "окно" квартал и спать спокойно.     | |||
| 91
    
        Злопчинский 12.02.17✎ 14:29 | 
        (87) ну допустим - не надо. а как и откуда тогда получаются текущие итоги?     | |||
| 92
    
        mkalimulin 12.02.17✎ 14:30 | 
        (91) А текущие итоги формируются независимо от этих установок.     | |||
| 93
    
        dmpl 12.02.17✎ 14:34 | 
        (88) В России настолько суровы, что заднее число есть даже в биллинге ;)     | |||
| 94
    
        Джинн 12.02.17✎ 14:35 | 
        (88) Да нет никаких биллингов, нет никаких больших баз... Есть религия. Когда есть религия, то нет логики.
 Кстати SAP вполне себе живет без промежуточных итогов. Насколько знаю. | |||
| 95
    
        mkalimulin 12.02.17✎ 14:58 | 
        (94) И где по-твоему религия? В 1С или в SAP?     | |||
| 96
    
        Джинн 12.02.17✎ 15:01 | 
        (95) Религия - это лепить в SAP промежуточные итоги и выдирать из 1С промежуточные итоги. Причем руководствуясь не практической необходимостью, а принципом.     | |||
| 97
    
        mkalimulin 12.02.17✎ 15:04 | 
        (96) Почему нельзя убрать промежуточные итоги из 1С, если платформа позволяет?     | |||
| 98
    
        Джинн 12.02.17✎ 15:06 | 
        (97) Потому что нет особого практического смысла.     | |||
| 99
    
        mkalimulin 12.02.17✎ 15:07 | 
        (98) А почему нет смысла?     | |||
| 100
    
        ГеннадийУО 12.02.17✎ 16:03 | 
        (97) Можно, так и делают - в оперативных базах оставляют только текущие итоги, в отчетной оставляют и промежуточные.     | |||
| 101
    
        mkalimulin 12.02.17✎ 16:36 | 
        (100) С каких пор можно? С версии 8.3 или раньше?     | |||
| 102
    
        ГеннадийУО 12.02.17✎ 17:11 | 
        В 8.2 уже точно было, а скорее и ранее.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |