Пересчет регистров в Торговле 7.7
12328
25
База Торговля и Склад 7.7., размер около 700мб,
при проверке в конфигураторе уходит в бесконечный цикл с отображением внизу "Пересчет регистров"... Перепробовал, на мой взгляд все возможные варианты - не помогает -
искал в инете - ничего конкретного... если у кого идеи ?
При выгрузке-загрузке данных - при загрузке вылезла куча мессаг, что произведена перенумерация строк в некоторых документах.

Пробовал:
1.Выгрузку-загрузку данных
2.Сносил все индексные файлы
3.Снес все помеченные на удаление объекты, восстановил последовательность, сделал упаковку базы
Chuck_Norris
У меня был такой казус когда ввели Приходный ордер от ажно 606 года... вот тогда он полтора тысячелетия пересчитывал регистры... больше 4 часов заняло :ха-ха!:
Chuck_Norris
вирус у тебя :))))))))) под 1с написан под 7.7. периодику сносит и регистры косячит... убивай лишние процессы и потом лечи его... через флэшки переносится...
Нехристь
не шутка.. есть такой вирус
craxx
сцылку на описание в студию, плз...
Нехристь
тебе надо - ты и ищи. На твой вопрос - ответили. Удачи.
Чайник
Если бы я нашел - не спрашивал бы. Кроме "Танга" и "Бонни" я не знаю вирусов под 1с, но они не содержат никаких деструктивных функций. Коли ссылки нет, заявление голословно,и, судя по всему, не соответсвует действительности.
Chuck_Norris
Даже и не знаю... может так?
1. Напиши простенькую обработку, которая тебе выведет список документов, дабы посмотреть, что там с датами, подправь "неверные", если присутствуют.
2. Удали непроведенные и помеченные на удаление документы
3. Пристрели дбф-файлы регистров
4. Перепроведи (для формирования регистров)
----
ну и еще как вариант - попробуй выгрузить-загрузить но не средствами платформы, а чем-либо другим. Есть универсальная загрузка-выгрузка. Да и конфигурацией "Конвертация данных" написать такое - дело максимум часа...
----
ps: Еще абсурдное предложение - убей-ка ты журнал регистрации....
Нехристь
это вирус... однозначно... уже сотню клиентов вылечили... кстати... код этого вируса был изначально выложен на всеобщее обозрение. Поэтому дописать в нем вредоносную составляющую не сложно. Это раз. Если же подумать еще немного, то вряд-ли фирма 1С, которая, КАК ВСЕМ известно, скрывает даже ошибки в собственном коде, будет распространяться о том, что 1С не работает при каком-либо вирусе...
Чайник
Доказательства по ссылке никакого не вижу ) У паренька что-то случилось, абсолютно не связанное с топом. Если Вы самостоятельно "излечили" что-то, то Вы, вероятно, обладаете тем самым вредоносным кодом вируса. Поделитесь, если не сложно.
Чайник
Здравствуйте, уважаемый Чайник.
это вирус... однозначно... уже сотню клиентов вылечили...
Если не секрет, как лечится вирус?
ищется лишняя запущенная служба, блокируется на запись ключ реестра Run системной записью. перезагрузка. ищется файлик лишней службы, убивается. Ищется ссылочка на файлик службы в рееестре, убивается. Запрещается автозапуск съемных носителей и... вуаля. База к работе готова.
Чайник
Здравствуйте!

Я, грешным делом, вообразил, что вирус "волшебным образом" поражает конфигурации 1С, в крайнем случае - базы данных. Извините - ошибся.

P.S. Дырок в любой программе - навалом. Не ошибается тот, кто ничего не делает. Если 1С не может работать при определенной запущенной службе, то это ни о чём не говорит.

В любом случае, спасибо! Сэкономили моё время :respect:.
не за что... вирус не портит базы... он просто не дает им работать:улыб:
craxx
Приходный ордер от ажно 606 года... вот тогда он полтора тысячелетия пересчитывал регистры... больше 4 часов заняло :ха-ха!:
Можно абсолютному чайнику в 1С объяснить,
что там пересчитывается за полтора тысячелетия ?

А то это из чтения учебников по 1С :зло: для меня ничегошшеньки не доходит
Дима553
промежуточные итоги
Дмитрий, большое спасибо!
Я уже чувствую,
что сдвинулся куда-то с мёртвой точки абсолютной профанации.
Для полного счастья я хочу узнать:
этот пресчёт промежуточных итогов вшит в 1С
или же к нему есть какой-нить доступ для программиста?
Или же это поведение можно откофигурировать декларативно (через файлы конфигурации?)?

Заранее - спасибо!
Ananas
можно организовать прямой доступ к конфе и изменить.
Чайник
Промежуточный итог - это таблица в 1С, которая заводится по каждому регистру и агрегирует суммы его ресурсов в разрезе измерений и периодов. Нужна для того чтобы быстрее расчитывать результаты запроса(т.е. для того чтобы получить остаток на тек. момент чего то, 1С не пересчитывает все за последние годы, а берет последний итог и расчитывает его с последними оборотами. Также как правило если таблица итогово некорректна, то это сразу видно в 1С по многим отчетам(Сумма оборотовитоги) в этом случае 1С нуждается в пересчете итогов)
Программно расчет итогов в 7.7 не настраивается, алгоритм расчета вшит в 1С.
Некоторое регулирование можно выставить в конфигураторе 1С, для этого надо открыть свойства нужного регистра, и там выставить галочку расчета промежуточных итогов или отключить. Еще в конфе настраивается интервал промежуточных итогов(день, месяц, год), при этом надо учитывать что чем меньше интервал, тем быстрее можно получать результаты запросов отчетов, но зато пересчет таких итогов займет большое время и из этого надо выбирать золотую середину.
П.С. Я сказал приблизительно, т.к. с 7.7 не работаю уже два года, поэтому могу неточно сказать или спутать.
Дима553
Я сказал приблизительно, т.к. с 7.7 не работаю уже два года, поэтому могу неточно сказать или спутать.
Спасибо :respect: :agree:

Ага, понятно,
надо у писателей книжек по 1С требовать справку,
что они не работали 2 года с 1С!
А то они как-то углубляются в какие-то детали
и там леса за ветками не видно,
то ли веток за лесом,
в общем ничего не видно,
не покидает ощущение плохого зрения и
отсутствия энтузиазма продолжать напрягаться :bad:

Отвечайте, пожалуйста, на сообщение спрашивающего,
тогда ему приходит уведомление об ответе.

А, то я подумал, что вопрос уже был отвечен
Дима553
Промежуточный итог - это таблица в 1С, которая заводится по каждому регистру и агрегирует суммы его ресурсов в разрезе измерений и периодов.
------
Программно расчет итогов в 7.7 не настраивается, алгоритм расчета вшит в 1С.
Некоторое регулирование можно выставить в конфигураторе 1С, для этого надо открыть свойства нужного регистра, и там выставить галочку расчета промежуточных итогов или отключить. Еще в конфе настраивается интервал промежуточных итогов(день, месяц, год), при этом надо учитывать что чем меньше интервал, тем быстрее можно получать результаты запросов отчетов, но зато пересчет таких итогов займет большое время и из этого надо выбирать золотую середину.
П.С. Я сказал приблизительно, т.к. с 7.7 не работаю уже два года, поэтому могу неточно сказать или спутать.
Если вернуться к вопросу пересчёта за полтора тысячелетия...
Можно было бы убить начатый уже
пересчёт и продолжить,, убрать галочку ?

Галочка - имеется ввиду против
"Быстрая обработка движений"?

И означает, что -
? отсутствие записи промежуточных рез-тов,
на прошлый момент времени, в таблицу?
и/или
? отсутствие ненужных промежуточных итогов?

Я вот смотрю,
что в регистрах выставляется,
и обязательно,
периодичность только для опции "Обороты",
а для "Остатки" нельзя выставить.

Почему "Обороты" требуют обязательного расчёта
промеж. итогов с определённой периодичностью,
а "Остатки" - обязательное отсутствие расчёта промежуточных итогов?

Напомните мне,
для чего нужны промежуточные итоги?
Чтобы повторно каждый раз не пересчитывать то,
что уже ранее считалось?
Или ещё для чего-то?

Ага, золотая середина - это надо было выставить
до 1950 г. интервал в тысячелетие
(вроде так неззя, ну, предположим),
с 1950 до 200 - в полста лет, и т.д.?

Если не выставлять галочку,
означает ли это просто отсутствие записи
промежуточных итогов в таблицу,
а эти итоги внутренне всё-равно вычисляются?

Без галочки,
соптимизировался бы пересчёт сам,
выбрав скачок в полтора тысячелетия?
Или, всё равно, внутрях вычисляются промежуточные итоги
в соответствии с интервалом?

А, убрать галочку - это просто при каждом расчёте считать то,
что до этого уже насчитывалось ранее,
в соответствии с интервалом?

Как-то, я не до конца прочувствовал,
что там в 1С происходит внутрях :bad:
Ananas
Я работаю с 1С, просто не работаю два года с 1С7.7, работаю в 8.1.
Галочка да - про быструю обработку движений
Очень много вопросов, на все ответы давать будет слишком долго, к тому же много моментов я не помню, но я знаю способ получить ответы на эти вопросы и многие другие.
Для этого нужно познакомится с устройством базы данных 1С на уровне таблиц. А устройство ее очень простое. Описание таблиц и полей можно найти в файле 1Cv7.dds(в случае если 1C не на sql, то это будет 1Cv7.dd), этот файл находится в каталоге базы данных 1С, открываем его обычным блокнотом.
Что мы там видим, оказывает все справочники хранятся в таблицах начинающихся на sc***, все документы хранятся в таблицах с названиями dh***(шапка) и dt****(таб часть), связь между таблицами строится на ключевом поле ID(для справочников), или IDDOC для документов. Посмотри эти таблицы у какой нибудь рабочей непустой базы простыми sql запросами (select top 100 * from sc****)(select top 100 * from dh*** inner join dt*** on dt***.iddoc = dh****.iddoc), ну или какой нибудь прогой для просмотра dbf файлов, если база не sql. Там все просто и думаю, что посмотрев на них(да еще и имея описание всех полей в 1Cv7.dds) все понятно.
Теперь регистры - эти таблицы начинаются на RA***(здесь хранятся все движения по регистру) и таблица RG**** - вот это и есть наши промежуточные итоги, вот именно в этой таблице ты найдешь все ответы на вопросы про итоги. Посмотри что в них хранится для различных регистров с различными свойствами/галочками и увидешь в чем разница
Дима553
Дмитрий (ДИМА553), огромное спасибо,
поместил Ваши ответы на десктоп и заучиваю наизусть.
Я работаю с 1С, просто не работаю два года с 1С7.7, работаю в 8.1.
-----
к тому же много моментов я не помню,
Вы меня расстроили - я думал,
что это аналогично для 7ки и 8ки.
Прям не знаю теперь,
на какой- же концентрироваться :bad:

какой нибудь прогой для просмотра dbf файлов
Так, MS Excel их показывает, вроде
RG**** - вот это и есть наши промежуточные итоги
Не в жисть бы не догадался :wub1.gif:!

:respect: