Установить границу последовательности 1с 7
Я когда закрываю месяц (двигаю основную последовательность док. + себестоимость и ставлю в константах дату запрета редакт. док.) пользуюсь обработкой Операции/Проведение документов, после того как все доки перепроведутся с помощью данной обработки у меня основная последовательность док. (это видно на второй закладке обработки Провед. док.) двигается на последнюю дату месяца (так было всегда в течении трех лет).И вот закрываю я как обычно месяц, и после перепроведения документов основная последовательность остается на документах первого числа.Теперь вопросы:Можно ли как-то вручную двигать основную последовательность док. без перепроведения всех док.? Если можно, то в какую сторону копать? Если нет, то почему возник такой глюк? Делает ли кто так как я?Буду благодарен за ответы.
Есть метод: установить границу последовательности. Не перепроводите, а восстанавливайте последовательность, реально это одно и тоже
Дык что подробнее? при проведении перейдите на втруб закладку и вперед. А первое-это программно, одна команда, но надо кнопочку рисовать в журнале, или обрабртку писать из трех строк
Из второй закладки нельзя! У меня по себестоимости нужно некоторые доки распрводить, а потом когда провожу массово, ставлю галочки(не проведенные – провести. ).Какие волшебные три строчки для обработки? Обработка будет проводить документы (Ваша из трех строчек)?
Ничего не понял, почему распровести? что-то не так у вАС В Хозяйстве. Откройте синтаксис-помощник и увидите метод, лень мне лезть за точным названием
В нашем хозяйстве все так! Просто есть переделы в калькуляции, и если проводишь калькуляцию для первого передела а в это время есть проведенные списанияВПроизводство для 0 передела, тогда ругается(калькуляция).=======================================Обработка будет проводить документы?=======================================
В конфах от 1С НЕЛЬЗЯ. двигать последовательность руками при изменении задним числом. Ибо все алгоритмы завязаны на последовательность (если она есть).
Ничего я не пойму! Алгоритм формирования себестоимости то можно поменять, только почему раньше у меня все закрывалось, а в этот месяц НЕТ. Почему эта точка последовательности остается на док. в первых числах.
а фиг его знает. Попробуй все прибить. P.S. у меня последовательностей нет ни в одной конфе. чревато это тем, что расчеты будут неверные.
СервисТабло туда скопируй строку "глВосстановлениеПоследовательности(Последовательность.ОсновнаяПоследовательность)" и нажми Enter.
Умничать можно много, а ehoo показал как сделать на прямой вопрос.
Человек происит помощи - значит ему надо помочь.
Помощь тоже разная бывает. Если человек тянется к чаше с ядом, Вы ее ему подвинете?
1. Граница последовательности может слететь из-за банального случайного перепроведения документа или изменения не существенного реквизита.
Перепроводить документы за несколько лет не имеет смысла.
2. Сдали отчетность без восстановления последовательности. Главбух против восстановления, чтобы баланс не съехал (люди знают на что идут).
Перекинули последовательность и продолжили работу.
А "чаша с ядом" - термин франчайзи, которые никогда глубоко в проблемах клиентов не разбираются - "Надо быстро сделать и получить бабло, а там хоть трава не расти."
Ценность этого форума в том, что людям помогают решить их проблемы, предупреждая о возможных последствиях.
1. Что за "случайное" перепроведение документа?
2. Что за "несущественный" реквизит?
3. В документах не реквизит, а ссылка на него! Как его не меняй, документ не изменится, и перепроводить его не надо! А если есть необходимость перепроводить древние документы, так главбуха на пару с админом по 1С надо гнать в шею.
4. А за "несколько лет" - иногда надо свёртку делать.
5. Насчёт того, что не имеет смысла перепроводить: конечно, на хрена это надо, подумаешь, половина отчётов не работает, а вторая врётИ. Нет! Уж коли влетел на это, придётся всё сделать без всякой самодеятельности, так, как мама 1С придумала.
Для особо умных:
1. Временно снят запрет редактирования и пользователь провел документ.
2. Не существенный реквизит - Комментарий, Основание (не путать ДокументОснование) - изменение не влечет никаких изменений в регистрах и бухитогах.
3. Текстовый или числовой реквизит не может быть ссылкой.
4. Делать свертку или нет решает не программер, а директор с главбухом. У некоторых клиентов базы по 10 -12 лет под SQL и никаких проблем.
5. "Гнуть пальцы - половина отчетов врет", не зная конкретной ситуации и ругаться - признак не компетентности. Запусти хотя-бы 2-3 завода и 5-6 оптово-розничных фирм конфигурациями под заказ, тогда опыт появится и ответы будут на конкретные вопросы, а не ради рейтинга.
Извиняюсь за повтор: Если человек просит помощи, помоги и объясни какие могут быть последствия.
Пользователь сказал cпасибо:
Нет ничего невозможного ;)
Процедура УстановитьГПнаДок()
Поз = Макс(ВыбраныйДокумент.Полу читьПозицию(), Последовательность.Основн� �яПоследовательность.Получ итьПозицию());
Последовательность.Основн� �яПоследовательность.Устан овить(Поз);
КонецПроцедуры
Поверьте, это гораздо менее болезненно, чем обрезание.
P.S. svetik_svetiko попутала ТА и ГП
Большое спасибо, мне очень даже помогло и избавило от геморного перепроведения данных за шесть лет.
Сделал внешнюю обработку со следующим кодом:
Процедура УстановитьГПнаДок ()
Док = СоздатьОбъект( "Документ" );
Если Док.Выбран ()= 0 Тогда
Док.Выбрать ( "Выберите последний документ","Журнал.ЖурналОбщ ий" ,);
КонецЕсли;
Поз = Макс( Док.ПолучитьПозицию (),Последовательность. ОсновнаяПоследовательност ь.ПолучитьПозицию ());
Сообщить( "Выбраный документ: "+ Док );
Сообщить( "Документ куда станет позиция: "+ Поз );
Последовательность. ОсновнаяПоследовательност ь.Установить ( Поз );
КонецПроцедуры
Для чего этот кусок?
Поз = Макс(Док.ПолучитьПозицию(),� �оследовательность.Основна яПоследовательност ь.ПолучитьПозицию());
Если Последовательность позже документа, то зачем ее устанавливать, она и так установлена.
Если очень хочется поставь проверку
Если Док.ПолучитьПозицию() > Последовательност ь.ОсновнаяПоследовательно� �т ь.ПолучитьПозицию() Тогда
Последовательность.Основн� �яПоследовательност ь.Установить(Док.ПолучитьП� �зицию());
КонецЕсли;
Для чего этот кусок?
Поз = Макс(Док.ПолучитьПозицию(),� �оследовательность.Основна яПоследовательност ь.ПолучитьПозицию());
Краткость - сестра таланта! Правда авторство не моё, а того, кто первым её опубликовал.
---------- Post added at 00:52 ---------- Previous post was at 00:45 ----------
Нет ничего невозможного ;)
Процедура УстановитьГПнаДок()
Поз = Макс(ВыбраныйДокумент.Полу читьПозицию(), Последовательность.Основн� �яПоследовательность.Получ итьПозицию());
Последовательность.Основн� �яПоследовательность.Устан овить(Поз);
КонецПроцедуры
Поверьте, это гораздо менее болезненно, чем обрезание.
P.S. svetik_svetiko попутала ТА и ГП
Спасибо проверил, действительно очень эфективно работает, правда немного изменил код для работоспособности. Но идея действительно хорошая.
Зря. Я же сказал, что это невозможно. После такого действия Вы проблем не оберетесь. Неправильные циферки в отчете о продажах - только верхушка айсберга. НЕЛЬЗЯ такое делать без четкого понимания, что такое последовательность, какие документы на нее влияют и какие проводки были сделаны задним числом. ТС, к сожалению, не создает впечатление человека, который это знает.
Судя по ответу, Вы считаете себя умнее других - Вы знаете о возможных последствиях, а другие конечно же не знают.
И это "считание себя", вероятно, толкает Вас на обман - фраза "это невозможно" даже после того, как узнали что это действительно возможно.
Конкретная ситуация - мой клиент случайно перепровел документ задним числом - на 5 лет раньше. Извинился и попросил помочь. Цифры все остались те же (проверено тщательно), а восстанавливать последовательность за 5 лет КРАЙНЕ нежелательно.
ehoo реально помог советом, а Вы мало того что с толку сбиваете ложными утверждениями, так еще на давшего правильный совет бочку катите.
Фу Вам!
Доброго времени суток!
Есть необходимость установить программно границу последовательностей без перепроведения документов за прошлый период.
Почитал СП, набросал код:
Граница не меняется.
Платформа 8.2.19.90 Конфигурация "Мебельное производство" от ПартнерСофта
В чем может быть причина?
Заранее спасибо, а то уже весь интернет перерыл в поисках ответа.
(1) Al_Capone, вообще покопайся в типовых,
там целый общий модуль посвящен работами с последовательностями.
причем, они его существенно изменили.
Вот рабочая функция из старой бухни, причем в последних конфах ее выпилили.
(2)В БП 3.0.51.16 не работает на строчке:
"РаботаСПоследовательностями.УстановитьБлокировкуПоследовательностиПоОрганизации"
Наверное, что-то изменилось, не в курсе?
(1) Al_Capone, в качестве границы последовательности документов пытаетесь установить конкретный элемент справочника "Номенклатура". Сомнительно.
(5) Al_Capone, вряд ли.
Что такое граница последовательности документов по сути? Момент времени, позиция конкретного документа.
(6) Martinian, это да, но что тогда нужно передавать в отбор, если у последовательности данные это номенклатура?
Мне вот с этим вообще не понятно.
Получилось добавить запись в последовательность, но при этом граница все равно не верная! Она актуальна на первую запись, при этом регистратор удален(обстоятельства не известны), и не только у этой записи(см. скриншот). Вопрос: как удалить все записи?
Где:
ИмяПоследовательности - Имя вашей последовательности
ДатаДокумент - реквизит (тип либо дата либо документ)
Организация - реквизит Организация
(10) Al_Capone, могу посоветовать сделать тестирование и исправление информационной базы (через Конфигуратор).
Решение было принято следующее:
Удалить записи последовательности непосредственно из таблицы БД(внутренней).
Способов 2:
Для файлового варианта - Использовать Tool_1CD(альфа версия умеет удалять записи)
Для SQL - средствами sql.
Посмотреть названия таблиц можно с помощью ПолучитьСтруктуруХраненияБазыДанных(Массив).
Как пользоваться можно посмотреть в СП.
Если ни у кого предложений нет, вопрос можно считать закрытым.
Всем спасибо за помощь!
(20)Можно использовать процедуру из комментария (9) Положить в общий модуль расширения и закомментировать 1 строку содержащую "УстановитьБлокировкуПоследовательностиПоОрганизации"
Если в конфигурации ведется одна организация, то можно просто очистить последовательность штатным способом
Еще одна важная деталь, про которую многие забывают, а она непосредственно влияет на начальную границу контроля последовательности - это "дата начала ведения учета", настраивается в учетной политике организации хранится в РегистрСведений.УчетнаяПолитика.Период. Очень часто возникают проблемы после свертки базы, т.к. записи регистра учетная политика за старые периоды остаются в базе после свертки. Это как правило вызывает ошибки учета 1С, когда программа 1С Бухгалтерия просит регламентное закрытие месяца в старых периодах, где учет не ведется.
Программно "дату начала ведения учета" можно получить функцией
Функция проверена на БП 3.0.102.11 - в нее передаете ДатаОкончания. В результате с этой даты + первый документ свежее этой даты - это и будет начало периода перепроведения в закрытии месяца.
Видеоролик выполнен в программе «1С:Бухгалтерия 8» версия 3.0.62.17.
Данные в программе должны быть введены в строгой хронологической последовательности. На практике не всегда получается такую последовательность соблюсти (документы поступают в бухгалтерию с опозданием, исправляются ошибки в уже введенных документах и т. д.).
Привести в соответствие хронологию расчетов призван механизм контроля последовательности документов, который отслеживает порядок проведения документов. Для контроля программа устанавливает точку, называемую границей последовательности, ранее которой документы проведены в строгом хронологическом порядке. В случае изменения даты документа «задним числом» граница последовательности устанавливается на самый ранний документ-«нарушитель».
Восстановление последовательности, т. е. проведение документов в правильной хронологической последовательности выполняется с помощью специальной обработки.
- из формы обработки Закрытие месяца (раздел Операции). Процедура закрытия месяца всегда начинается с контроля последовательности проведения;
- из раздела Операции - Сервис - Групповое перепроведение документов. Перепровести документы можно по всем организациям или только по выбранной организации.
Начиная с версии 3.0.62.17 в «1С:Бухгалтерии 8» можно переносить границу последовательности без перепроведения документов, например, когда в первичных документах внесены изменения, не влияющие на бухгалтерский и налоговый учет и регламентированную отчетность.
Чтобы выполнить ручной перенос границы последовательности документов в обработке Закрытие месяца нужно перейти по ссылке Перепроведение документов в одноименную форму, где установить переключатель в положение Перепроведение не требуется.
Такая возможность доступна пользователям с ролью Право интерактивного переноса границы последовательности. По умолчанию эта роль назначается администратору и главному бухгалтеру.
Внимание! Данный форум является модерируемым.
Для получения к нему доступа необходимо зарегистрироваться или авторизоваться на сайте.
В связи с восстановлением БД пришлось перепровести все заказ-наряды и теперь 2 из 4 последовательностей сдвинулись на самое начало. Как можно программно задать нужное значение для них?
Записи о нарушенных последовательностях хранятся в соответствующих регистрах сведений.
Достаточно их подредактировать в режиме 1С:Предприятие.
Я прекрасно понимаю, что лучше. Просто когда мне доверили эту БД, оказалось, что границу там не восстанавливали 3,5 года. В течении 4-х месяцев я ее восстанавливал, а потом пришлось из-за аварии перепровести заказ-наряды и теперь границы - Взаиморасчеты и Производство вернулись на 2011 год. Фирма работает практически круглосуточно и время для перепроведения просто нет.
Нужно подредактировать регистры сведений "Границы последовательностей взаиморасчетов" и "Границы последовательности производства".
Они располагаются Сервис - Установка прав и настроек - вкладка Все объекты.
Спасибо, но что именно корректировать? Там просто список всех документов, что именно я должен сделать?
Не могу уловить суть:
Взаиморасчеты - актуальность 03.01.2011 - в регистре документы от 03.01.2011 до 01.07.2014
Заказы - актуальность 19.03.2014 - в регистре документы от 26.06.2012 до 01.07.2014
Производство - актуальность 15.06.2011 - в регистре документы от 03.01.2011 до 01.07.2014
Получается наличие более поздних документов не влияет на актуальность границы, тогда какие именно записи нужно удалить?
Хотя вроде получилось на тестовой БД, удалил из регистра все записи до 01.04.2014 и актуальность границы стала 01.04.2014. Спасибо.
Взаиморасчеты - актуальность 03.01.2011 - в регистре документы от 03.01.2011 до 01.07.2014
Заказы - актуальность 19.03.2014 - в регистре документы от 26.06.2012 до 01.07.2014
Производство - актуальность 15.06.2011 - в регистре документы от 03.01.2011 до 01.07.2014
Получается наличие более поздних документов не влияет на актуальность границы, тогда какие именно записи нужно удалить?
Чтоб не нарушить целостность данных рекомендуем восстановить последовательности. Для того что бы в дальнейшем не допускать случайного нарушения границы последовательностей установите дату запрета редактирования документов
Читайте также: