Имя: Пароль:
1C
1С v8
Что происходит с таблицами sql при отключении итогов?
,
0 Strogg
 
09.07.19
09:21
Всем привет, коллеги.
В таблице остатков одного из регистров накопления произошла какая-то поломка. Теперь, реструктуризация базы не проходит ни монопольно, ни в фоновом. А реструктуризация необходима, т.к. добавил новое измерение в этот РН.
Путем разбора структуры ИБ выяснил, что это именно таблица остатков. А теперь вопрос:
связано ли отключение итогов каким-то образом с таблицей остатков, и происходит ли что-либо с этой таблицей при отключении итогов. Потому как итоги тоже не особо отключаются.
Или эти таблицы вообще не связаны друг с другом?
Спасибо!
1 Septera
 
09.07.19
09:29
(0) на вскидку ключами связаны как минимум, в основной таблице меняется значение и в связанных за этим
2 Septera
 
09.07.19
09:31
Вот здесь что-то было про итоги и как это выглядит в базе: http://catalog.mista.ru/public/548778/
3 ptiz
 
09.07.19
09:42
(0) Если установить максимальный период  итогов ранее первого месяца движений - в таблице останутся только оперативные итоги.
4 unregistered
 
09.07.19
09:45
(0) >> реструктуризация базы не проходит ни монопольно, ни в фоновом.

А что происходит? Какая именно ошибка?
5 unregistered
 
09.07.19
09:49
Попробуйте для начала принудительно пересчитать итоги по этому регистру.
Для этого в обработке управления итогами выключите использование итогов и текущих итогов для этого регистра. Потом включите использование итогов и текущих итогов. При включении отключенных ранее итогов платформа производит автоматически пересчет таблиц итогов по регистру.
А уже затем производите реструктуризацию.
Если не поможет - пытайтесь сделать тестирование и исправление БД с пересчетом итогов.
6 Strogg
 
09.07.19
10:06
(4) никаких ошибок: экран белеет и в кластере наблюдается наша любимая утечка памяти.
А вот при фоновом обновлении выскакивает вот такая фигня: https://ibb.co/Jk3hCL4
(5) вот это-то и делаю. 1С не отвечает вплоть до принудительного завершения работы. Потом, правда, при попытке обращения к таблице остатков данного РН пишет, что использование итогов отключено.
(3) я с этой целью и интересуюсь: может, можно как-то на уровне sql почистить данные из этой злосчастной таблицы остатков, обновить базу с реструктуризацией, и заново пересчитать все итоги. Спасибо за наводку, попробую установить итоги на дату начала использования базы)
7 unregistered
 
09.07.19
10:23
(6) > выскакивает вот такая фигня...

А можно текст фигни? У меня заблокирован доступ к файлопомойкам.
8 palsergeich
 
09.07.19
10:30
(7) Попытка вставки неуникального значения в индекс
9 unregistered
 
09.07.19
10:30
(6) > наблюдается наша любимая утечка памяти.

В чем это выражается и отчего уверенность, что проблема в утечках памяти? Может новая структура регистра такова, что системе реально нужно огромное количество памяти для выполнения операции?
Кстати может опишите текущую структуру регистра и новую, которую пытаетесь применить? Может вы чего-то совершенно неприличного и непотребного от регистра хотите?...
Еще я так и не понял - сейчас (до реструктуризации) регистр нормально работает?

Короче - очень мало информации по сути проблемы. Какие-то пользовательские сопли "ваша программа не работает!!!!".
10 palsergeich
 
09.07.19
10:30
(8) Попытка вставки неуникального значения в уникальный индекс
11 unregistered
 
09.07.19
10:37
(10) > Попытка вставки неуникального значения в уникальный индекс

Попробуйте воспользоваться утилитой административной консоли 1cv8a.
https://its.1c.ru/db/v8312doc#bookmark:adm:TI000000735
Утилита предназначена для ускорения проверки и исправления определенных проблем:
Тестирование и исправление таблиц узлов планов обмена.
Тестирование и исправление хеш-полей таблиц информационной базы.
Утилита позволяет исправлять некоторые проблемы, возникающие с информационной базой, без запуска конфигуратора и за более короткое время. Это обусловлено тем, что утилита административной консоли занимается обработкой только проблемных объектов и при этом выполняется ограниченный набор исправлений.
12 Cyberhawk
 
09.07.19
10:39
Исправляется только пересчетом итогов из конфигуратора (ТиИ)
13 Strogg
 
09.07.19
11:16
(11) от спасибо! Такие фоновые вещи актуальны как никогда для больших баз.
(9) да ничего непотребного - добавление одного измерения.
Дело в том, что у нас совместная разработка, поэтому к хранилке подключено около 5 баз. В четырех реструктуризация проходит за 10 минут, хотя, этот регистр там побольше нашего будет. Так что в организации доступа к данным проблем нет.
На данный момент пробую ТИИ на копии с пересчетом итогов. Посмтрим, согласуют ли остановку производства на необходимое количество времени.
14 rsv
 
09.07.19
11:23
(0) убедитесь что работаете с таблицами остатков
Сделайте транкейт или делит
Пересчитайте итоги . Если опять каша - проблемы в данных таблички движений
15 Strogg
 
10.07.19
08:37
в общем, если кому интересно: выключил итоги, обновил базу, включил итоги на день. перед началом ведения учета. Затем, регламентным заданием их пересчитал, чтоб надолго людей не выгонять.
ТИИ, к сожалению, провести пока не могу. Но вот когда снимут ежедневную копию, запущу.
16 Cyberhawk
 
10.07.19
08:41
(15) Да, забыл к (12) добавить слово "гарантированно" :) Т.е. могут и программные манипуляции и выборочные пересчеты помогать, но вот если не помогают, то увы только через ТиИ остается (а он, сцуко, по всем регистрам делает).
17 xXeNoNx
 
10.07.19
08:51
(6) ...при фоновом обновлении... дальше читать не стал
18 Strogg
 
10.07.19
11:30
(17) чем не угодило фоновое обновление?
(16) да на НГ, когда производство будет стоять, я вообще выгружу/загружу ДТ и ТИИ проведу... Но сейчас, по крайней мере, передернул итоги (выкл/вкл) - не зависло, а отработало штатно.
19 Strogg
 
15.07.19
08:01
В общем, если у кого-то случится что-то подобное:
1) По структуре БД ищем сбойную таблицу интересующих нас итогов РН
2) Делаем ей Truncate в sql
3) Обновляем базу. Она обновится реально в разы (!) быстрее.
4) В предприятии устанавливаем границу рассчитанных итогов (у меня ведение учета началось с 01.01.15 - я установил на 31.01.15).
5) Выключаем использование итогов и текущих итогов
6) Включаем использование итогов и текущих итогов.
После этих манипуляций все итоги встали корректно. Сравнил по отчетам - все цифры сходятся.
Конечно, лучше сделать полный пересчет итогов, но когда производство работает непрерывно, и нет возможности остановить базу даже на 2-3 часа, то ТИИ становится невозможным.
20 Cyberhawk
 
15.07.19
10:24
(19) Раздаешь советы по нарушению лиц. соглашения с 1С? :)
21 experimentator76
 
15.07.19
13:52
(20) это еще доказать надо :)
22 ДенисЧ
 
15.07.19
13:56
(20) Какое нарушение? Я выполнил штатную функцию ПолучитьСтруктуру... , взял имя таблички. Это нарушение? Нет.
Я позвонил Васе, местному DBA, и сказал "Васисуалий! Есть база данных "lyalyaka". Нужно в ней почистить табличку RG100500." Нарушение? Нет. DBA выполняет свою работу над абстрактной скулёвой базой данных.
А дальше - тем более всё штатно.
23 Cyberhawk
 
15.07.19
14:10
(22) Что-то ты бакланишь
24 Cyberhawk
 
15.07.19
14:12
+(23) Пункт 65 из http://v8.1c.ru/predpriyatie/questions_licence.htm
"Нельзя обращаться к данным информационной базы напрямую, минуя уровень объектов работы с данными "1С:Предприятия", например при помощи средств СУБД или при помощи внешних компонент, которые реализуют прямой доступ к СУБД. Это ограничение распространяется на любые действия с данными, в том числе на изменение их структуры, а так же на чтение или изменение самих данных информационной базы или служебных данных "1С:Предприятия".
25 ДенисЧ
 
15.07.19
14:54
(24) Внезапно:
а) нафига тогда ПолучитьСтруктуру... ?
б) Это полный запрет на бекап данных скулем, что противоречит рекомендациям самой 1с
в) Васисуалий ни о каких 1с не знает, он работает с базой данных. А что там лежит - 1с или Галактика - ему до фени.
26 xXeNoNx
 
15.07.19
15:08
Я голосую за пункт: Это нарушение лицензионных соглашений...
Другой момент: оттрункатил ты какую-либо таблицу, битых ссылок в базе не осталось, кто как докажет что было вмешательство напрямую, минуя платформу?
Шо для 1с нарушение лиц соглашения? Равнозначно ли нарушение - использование 1с без лиц ключей и вмешательство в СУБД напрямую?

Как, кроме твоего личного дискомфорта, скажется нарушение лиц. соглашения в плане очистки таблицы скульными инструментами?
27 xXeNoNx
 
15.07.19
15:11
еще один довольно частый момент, с которым мне приходится встречаться, когда сохраняемся, получаем вот такое: "Ошибка формата потока", как такое будем решать средствами платформы?
28 xXeNoNx
 
15.07.19
15:14
так вот.., сейчас меня часто мучает совесть когда я делаю truncate table ConfigSave, еще больше мучает когда я делаю добавляю доп. индексы в 200гб базе, но это много лучше того времени, когда меня мучил геморрой.
29 xXeNoNx
 
15.07.19
19:49
(18) вот тебе ответ на твой вопрос:
Положил конфигуратор 1С ЕРП. Ошибка формата потока
30 Strogg
 
16.07.19
08:18
(20) Если 1С не удосужилось сделать что-то подобное ТИИ на копиях таблиц, как она обновляет фоново, без остановки производства, то что мне остается делать? Остановливать производство на 2 дня? Напомню, что на текущий момент, база после шринка и установки простой модели, весит 270 гб.
(27) когда конф обвалился в прошлый раз с ошибкой формата потока, я просто взял эту таблицу с ежедневной копии и подсунул ее в рабочую. Отлично заверте...
а вообще, конечно, интересные пироги. С одной стороны ограничения лицензионного использования, а с другой стороны производство, которое не моги останавливать, ибо потом тебя так вылюбят, что на все лицензии будет положить...
31 Cyberhawk
 
16.07.19
17:21
(25) Слабенько. Давай еще.
Ошибка? Это не ошибка, это системная функция.