Консультация № 64063
24.11.2006, 21:33
0.00 руб.
0 2 2
Добрый вечер. Вопрос по 1С:Предприятию 7.7
Имеется довольно большая база за 4-5 последних лет. В ней регулярно проводили перепроведение документов с восстановлением ГП. В один прекрасный момент граница последовательности вдруг перескочила на 2003 год. По монитору виноватого не нашли, да и это теперь не главное. Можно ли как-то поправить непосредственно что-то в файлах БД, чтоб исправить ГП на другое число? Ибо перепроводить документы с 2003 года физически невозможно - нет таких длительных промежутков в работе, да и с тех лет алгоритмы проведения неоднократно переписывались - последствия такого перепроведения непредсказуемы. Конфа основана на Торговле 9.2, но много где передалана. Формат БД - дбф.

Обсуждение

Неизвестный
27.11.2006, 06:07
общий
это ответ
Здравствуйте, Стороженко Максим / smaxx!

Последовательность можно установить на произвольный документ приложенным кодом. "ТекущийДокумент" - реквизит на форме типа "Документ", в котором выбираем, на какой документ надо переставить последовательности.

Приложение:
Для Номер=1 По Метаданные.Последовательность() Цикл ТекущаяПоследовательность = Последовательность.ПолучитьАтрибут(Метаданные.Последовательность(Номер).Идентификатор); Если ТекущийДокумент.ПолучитьПозицию()>ТекущаяПоследовательность.ПолучитьПозицию() Тогда ТекущаяПоследовательность.Установить(ТекущийДокумент); КонецЕсли;КонецЦикла;
Неизвестный
27.11.2006, 09:19
общий
это ответ
Здравствуйте, Стороженко Максим / smaxx!
Добавлю:
Установить ГП можно не только на документ, но и на дату
Синтаксис:
Установить(<ПоложениеГП>)
Назначение:
Установить ГП (границу последовательности) на новую дату, документ или позицию.
Параметры:
<ПоложениеГП> - дата, документ или позиция документа, на которые устанавливается ГП.
Но имейте ввиду, что при таком способе может возникать ошибка в регистрах, ГП лучше все таки восстанавливать стандартными способоми (перепроводкой). Лучше всего в таких случаях использовать автоматическую перепроводку каждую ночь.
Форма ответа