Ужасно распухла база ТИС 5ГБ и соответственно так же ужасно тормозит. Подозреваю, что могут быть незакрытые регистры. Подскажите пожалуйтса техническому специалисту без бухгалтерского образования как их можно выявить, и как с ними бороться.
(3) Joker_Ann, Около 100 документов в день. Документы есть с декабря 2009 года. Хочу сделать свертку, только перед этим закрыть регистры и сделать тестирование и исправление. Я движусь в правильном направлении?
Добрый вечер. Таких тем уже много и все советуют одно и тоже. Почитал, следую инструкциям.
По факту: ТиС 7.7.929, dbf, дописанная. Размер базы 1.635 ГБ.
До этого очень долго открывался период. В этом месяце, не открылся вовсе. Виснет на пересчете итогов.
Документов с пустой датой нет. Смотрел в журнале. Выгрузил в sql, смотрел там. К слову на sql'е открытие периода проходит достаточно оперативно. Минут 15, но назад не загружается, виснет. Клиент на sql переходить не хочет.
Смотрю измерения регистров: РезервыТМЦ и ОстаткиТМЦ, там деятели напилили дополнительных измерений: длина, ширина, толщина - строка(10) и "Примечания" - строка(100). Отбор итогов по этим реквизитам не стоит.
В Примечания пишутся реально примечания из документов. Я не силен в методологии, но разве так закроется регистр?
Размер соответствующих таблиц:
ОстаткиТМЦ:
RG405.DBF - 323мб, RA405.DBF - 12.6мб
RG405.CDX - 167мб, RA405.CDX - 0.5мб
Возможно ли что пересчет итогов не происходит из за этих измерений? Какие варианты решения этой проблемы?
ТиИ не проходит, виснет опять же на пересчете итогов.
Что касательно семерки то в папке с базой есть файл 1cv7.DD - это файл описания метаданных там нужно найти RG328 - и будет понятно какой регистр так распух.
(13) Ikhalek, Вот он возможно и не закрывается, проверяется просто, нужно построить отчет по партиям в разрезе всех аналитик, и посмотреть. Если все нормально, т.е. все измерения регистра закрываются, то тогда поможет свертка базы, кстать насколько я помню обрабтка была встроена в торговлю, но лучше все равно попробовать на копии.
Если на Партии можное еще забить, кастрировав аналитику по партии и в вводе оснтанков повесить всё на 1 партию, а вот что делать с ОстаткамиТМЦ - хз..
Не ясно еще, по какой аналитике у него так регистр распух.
Если автор не Рома Каблуков, конечно, но, мот понавтыкал своих измерений в регистр ?
(22) Ёпрст, Ну для начала надо убедиться, что он действительно "распух" из-за незакрывающейся аналитики, а если и да, то тогда нужно менять движения документов, что бы закрвались регистры и перепроводить все документы.
Поможет только свертка, данны иначе, через некоторое время база у Вас просто перестанет работать (документы будут по часу проводится) стандартаная свертка работает очень долго (несколько дней). Лично я в такой ситуации удалял физически dbf файлы с регистрами и документами и формировал документы ввода остатков
(28) l_men, Сделать , копию базы, удалить базы
Pause
del New_Stru
del Syslog
del *.cdx
del *.lst
del 1cv7srct.st
del dt*.*
del dh*.*
del 1sjourn.dbf
del 1scrdoc.dbf
del 1sdnlock.dbf
del 1sstream.dbf
del rg*.*
del ra*.*
del 1SOPER.dbf
del 1SENTRY.dbf
del 1SBKTTLC.dbf
del 1SBKTTL.dbf
del 1SACCSEL.dbf
del 1SSBSEL.dbf
del 1supdts.dbf
del 1sdwnlds.dbf
del 1sdbset.dbf
останутся только справочники
Затем запустить обрабоку переноса остатков в новую базу (поищи на инфостарте какая подойдет)
И при необходимости перенести и перепровести документы за нужный период
А за 3 года при движении 100 док в день база раздуется и без косяков
(38) > 100 док в день
- такой объем - это вообще какой-то детский лепет, а не большое количество документов. хотя, конечно, если в каждом документе строг по 5-8 тысяч - ну тогданаверное да.. но не думаю что такие проблемы...
(44) А относительно моей ситуации, есть какие то мысли?
(43) К слову разобрался зачем "Примечания" в регистре. У них партия это характеристики + "Примечания". А "Примечания", это просто текст пользователем указанный. Опять же не уверен, что это правильно.
Если что, файло итогов должно быть в разы меньше файла движений.
А не наоборот, как у автора, у которого "непустые незакрытые" промежуточные итоги тащатся из периода в период
(30) Ёпрст, Тогда диагноз один, искать какой документ при проведении "косячит" с итогами исправлять и перепроводить, либо исправлять и переносить остатки в новую базу. Мне кажется быстрее будет исправлять и переносить остатки в новую базу.
Теперь нужно проанализировать движения по данному регистру, у него три измерения Фирма, Номенклатура, Склад. Соответственно анализировать нужно движения по каждому из них, т.е. на какую фирму/склад/номенклатуру поступает и с какой(го) фирмы/склада/номенклатуры делается реализация.
(33) l_men, Понял, а как провести такой анализ, использовать специальную обработку или есть встроенное решение? Пардоньте если совсем туплю, я месяц назад познакомился с 1с.
(36) потом уже думай, как "свернуть" или исправить проведение документов.
По-уму, нужно смотреть, как вели учет, на какой склад поступал товар, как перемещали в розницу, как реализовали и т.д..
Т.е смотреть движения документов.
А "кастрировать" успеется, иначе в после кастрации база опять придёт в "негодность" в скором времени.
Я так понимаю, предыдущие разработчики сделали механизм ведения учета в разрезе характеристик. Вот только не понятно зачем "Примечания" в регистр писать. И почему остальные характеристики строковые?
Вопрос в том, что работы по вычистке/уборке дерьма на порядок и более трудозатратнее разбрасывания дерьма..
Можно тупо удалить несущественные измерения по регистру ( к примеру характеристики). Сохранить конфигурации и соответственно реструктуризовать базу. А затем вернуть измерения обратно.
(50) Это идея. Вот только,я не очень понимаю, как сформируются записи в регистрах итогов, если не делать пересчет итогов. Получается что у меня итоги будут рассчитаны без дополнительных измерений. И когда я их добавлю, то данных по этим измерениям не будет вообще?
Как тогда будет отрабатывать механизм партионного учета, в котором задействованы эти измерения?
На диске ИТС есть универсальные отчеты для 7.7 , и там среди прочего есть "Универсальный отчет по регистру". Очень удобная штука, чтобы посмотреть где-чего не закрыто.
Это идея. Вот только,я не очень понимаю, как сформируются записи в регистрах итогов, если не делать пересчет итогов. Получается что у меня итоги будут рассчитаны без дополнительных измерений. И когда я их добавлю, то данных по этим измерениям не будет вообще?
Как тогда будет отрабатывать механизм партионного учета, в котором задействованы эти измерения?
Пересчет итогов произойдет автоматически. Причем полный. Соответственно, когда вы добавите измерение, то в итогах и в движениях оно будет пустым. Но партии останутся. Партии зависят не от измерений, а от документа прихода.
(52)Ну у них немного не так. У них один товар характеризуется измерениями: Номенклатура, характеристики(высота,ширина,длина) и Примечания(строка100 из документа, сюда пишут пользователи).
Получается что два товара у которых одинаковые Номенклатура и Характеристики, но разные примечания, то в таблице итогов они будут отдельными строчками.
Следовательно если я буду делать пересчет итогов без измерения "Примечания", то эти строчки "схлопнуться". Что не правильно, по моему.
Как мне быть в таком случае?
(54) Выбирают. У них реализована своя форма подбора в которой выводятся товары с характеристиками и примечанием. Они выбирают определенный товар, по нему происходит расход.
Я так понимаю механизм пересчета итогов "скрыт" внутри платформы? Можно в процессе пересчета итогов как то посмотреть отладчиком или сторонним ПО, что там происходит?
Может в моем случае, просто в строковых измерениях какие то символы служебные используются или еще что то подобное.
Я так понимаю механизм пересчета итогов "скрыт" внутри платформы?
Внутри платформы скрыт механизм хранения итогов. И сами итоги вам видны. Просто сформируйте отчет по итогам и посмотрите на пересортицу. Скорее всего документы вводились не хронологической последовательности, а потому что-то списали лишнее, что-то так и осталось не списанным.
(57) Вы про отрицательные остатки, сейчас? Просмотрел я отчет по итогам, нет там ничего сверхъестественного. По крайней мере на первый взгляд не бросается. Очень много дублей номенклатуры. Но опять же это из за того что там заполняют измерения "Примечания". Вот и получается что одна номенклатура с разными "Примечаниями" попадает в разные строки таблицы итогов. Но эти остатки переходящие, они буквально месяц тянутся. Так кажется все закрывается.
Не пойму тогда почему зависает пересчет регистров.
Можно попробовать сделать примечание не строкой, а справочником. Тогда и места поменьше понадобится и пересчет скорее всего побыстрее заработает. Потому что, в итогах будет храниться только ссылка на справочник.
(59) Я про этот вариант думал. Только вот заказчик говорит что так не подходит. Ибо у них эти партии товара формируются с учетом примечания и ни кто там не будет забивать инфой справочник. Им быстрее и удобнее просто строку ввести и все.
Сейчас вот думаю написать обработку на проверку служебных символов(с кодами <32) в этих строковых измерениях. Просто судя по примечаниям, они копированием эти строки вставляют. Откуда не знаю. Потом попробую вместо строк подставить какие то числовые идентификаторы и открыть период.
Какие мысли относительно служебных символов, может из за этого быть проблемы?
(60) day_light, как я понял из предыдущих постов у вас первичный ключ для таблицы итогов регистра имеет длину более 120 символов. По умолчанию в ключ входит дата, и все измерения регистра, что мы имеем в итоге: prtiod 8, Номенклатура 9, характеристика ? (непонял сколько символов, предположим 9, если это ссылка на справочник) и самое печальное это примечание 100 в итоге явно больше 120 символов. 1с с ключами больше 120 символов, в формате дбФ, правильно работать не умеет. Выход пока вижу один. Проанализируйте примечания, найдите самое длинное и сократите длину поля до этого значения. Ну или переход на скуль там таких проблем с пересчетом нет. Ну как вариант, если клиенты против sql, выгрузить в скуль, пересчитать итоги,загрузить назад в дбф :). А если решать проблему кардинально, то необходимо создать справочник примечаний и его уже использовать в регистре, ключ сразу же сократиться на 91 символ.
(64) Спасибо вам за ответ. Я вот не знал про ограничения длины первичного ключа. Теперь мне понятнее стало. Вы правы получается больше 120 символов. Под "характеристиками" я имел ввиду 3 реквизита типа строка, длинной 10.
Так что там однозначно больше 120ти символов :)
Теперь понятно почему в sql'е нормально пересчет проходит. Буду смотреть в сторону укорачивания "Примечания".
К слову относительно выгрузки в скуль - пресчета - загрузки обратно. Пробовал так сделать.
Проблема в том что при загрузке обратно происходит пересчет итогов и проблема повторяется. Вот если бы как то можно было этот пересчет отключить, думаю такой бы вариант помог бы.
(64) А есть какие то ссылки на источники относительно ограничений первичного ключа в dbf версии на 120 символов?
Я просто искал. Нашел, только что в принципе первичный ключ не может превышать 900 байт. Да и то там данные автоматически урезаются.
Интересно почитать, для собственного развития.
(66) day_light, ну обычно с этой проблемой люди сталкиваются при добавлении реквизитов в справочник. Т.е. имеется некий справочник в котором на нескольких реквизитах в конфигураторе стоит признак "сортировка". Естественно такой реквизит добавляется в ключ. Ну и вот было замечено, что если общая длинна ключа приближается к отметке 120 символов то возникают проблемы с добавлением реквизита в такой справочник. Ссылок на эту проблему в интернете хватает. У вас ситуация аналогичная, только ключ не в таблице справочников, а в таблице итогов регистра, но суть проблемы от этого не меняется. Вот для примера первая попавшаяся ссылка http://forum.infostart.ru/forum9/topic36308/
(60) day_light, Предлагаю все-таки перейти на справочник. В документе можно оставить ввод примечания строкой для удобства пользователей, а при проведении документа уже подставлять ссылку на справочник. Искать по наименованию и программно добавлять новые записи в справочник при необходимости.
(67) Поиск по наименованию, не считаю правильным. Но совет дельный. К сожалению, заказчика такой вариант не устраивает.
(68) Вчера уже нашел подобную информацию про ограничение в 240байт. Что в формате Юникода и равно 120ти символам, если не ошибаюсь. Спасибо вам ivsher, за помощь. Ваш совет оказался ключевым для решения моей проблемы.
В данный момент идет разговор о переходе на sql. Для себя я пробую урезать реквизит до 30ти символов и посмотреть, действительно ли это поможет.
На данный момент не удалось узнать что то определенное.
Моя задача решена. Заказчика перевели на sql.
Относительно ограничения в 120 символов, так и не смог корректно уменьшить длину реквизита. В dbf реструктуризация вылетела с ошибкой именно на этот реквизит. В sql все прошло нормально, но при последующей выгрузке-загрузке в dbf, так ничего и не получилось. Загрузка длилась 12 часов. Не выдержал.
При этом в sql все работает нормально. Загрузка 3 минуты. Открытие периода за секунды. Пока на этом свои изыскания заканчиваю. Всем большое спасибо за помощь.