helpf.pro
Регистрация
 +1 
Распечатать

1С 8.x : Восстановление партионного учета в УТ

Проблема следующая:
при выполнении стандартной обработки "проведение по партиям", непонятно почему, но граница актуальности партионного учета не сдвигается, хотя при перепроведении документов никаких ошибок не возникает.

Оказывается:
дата границы последовательности партионного учета, и документа, который установил эту границу не всега совпадают ). Ну понятно, что при перепроведении документа ГП никуда не двинеться.
Перед проведением по партиям добавил следующий код, для исправления таких ошибок, можь пригодиться кому...
Код 1C v 8.х
 Процедура ОчиститьОшибкиГраницыПоследовательности()
Запрос=Новый ЗАпрос;
Запрос.Текст=
"ВЫБРАТЬ
| ВложенныйЗапрос.Регистратор,
| ВложенныйЗапрос.Период,
| ВложенныйЗапрос.РегистраторДата,
| ВложенныйЗапрос.ЕстьДвижения
|ИЗ
| (ВЫБРАТЬ
| Последовательность.Регистратор КАК Регистратор,
| ПРЕДСТАВЛЕНИЕ(Последовательность.Регистратор) КАК РегистраторПредставление,
| Последовательность.Период КАК Период,
| ВЫБОР
| КОГДА СписанныеТоварыСрезПоследних.Регистратор ЕСТЬ NULL
| И РегистрНакопленияПартииТоваровНаСкладах.Регистратор ЕСТЬ NULL
| И РегистрНакопленияПартииТоваровПереданные.Регистратор ЕСТЬ NULL
| ТОГДА ЛОЖЬ
| ИНАЧЕ ИСТИНА
| КОНЕЦ КАК ЕстьДвижения,
| Последовательность.Регистратор.Дата КАК РегистраторДата
| ИЗ
| Последовательность.ПартионныйУчет КАК Последовательность
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СписанныеТовары КАК СписанныеТоварыСрезПоследних
| ПО Последовательность.Регистратор = СписанныеТоварыСрезПоследних.Регистратор
| И (СписанныеТоварыСрезПоследних.НомерСтроки = 1)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.Обороты(, , Регистратор, ) КАК РегистрНакопленияПартииТоваровНаСкладах
| ПО Последовательность.Регистратор = РегистрНакопленияПартииТоваровНаСкладах.Регистратор
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровПереданные.Обороты(, , Регистратор, ) КАК РегистрНакопленияПартииТоваровПереданные
| ПО Последовательность.Регистратор = РегистрНакопленияПартииТоваровПереданные.Регистратор) КАК ВложенныйЗапрос
|ГДЕ
| (ВложенныйЗапрос.Период <> ВложенныйЗапрос.РегистраторДата
| ИЛИ (НЕ ВложенныйЗапрос.ЕстьДвижения))";
Выборка=Запрос.Выполнить().Выбрать();
Всего=Выборка.Количество();
Тек=0;
Пока Выборка.Следующий() Цикл
Тек=Тек+1;
Состояние(""+Тек+" из "+Всего);
ОбработкаПрерыванияПользователя();
Если НЕ Выборка.Регистратор.Проведен Тогда
НаборЗаписей = Последовательности.ПартионныйУчет.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор);
НаборЗаписей.Записать();
КонецЕсли;
НаборЗаписей = Последовательности.ПартионныйУчет.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор);
НаборЗаписей.Прочитать();
Для Каждого СтрокаНабора Из НаборЗаписей Цикл
СтрокаНабора.Период = Выборка.Регистратор.Дата;
КонецЦикла;
Если НаборЗаписей.Модифицированность() Тогда
НаборЗаписей.Записать();
КонецЕсли;

Если (НЕ Выборка.ЕстьДвижения)Тогда
НаборЗаписей = Последовательности.ПартионныйУчет.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор);
НаборЗаписей.Записать();
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Разместил:   Версии: | 8.x |  Дата:   Прочитано: 22161
 +1 
Распечатать
Возможно, вас также заинтересует
1С Предприятие что это? 12
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который выпускает компания 1С . Что такое
SMTP greeting failure: 421 SMTP connection broken (reply) 8
Опи­са­ние ошиб­ки: С сен­тяб­ря 2014 Ян­декс.Почта, Mail.ru пе­ре­шли на про­то­кол SSL, что сде­ла­ло их еще более без­опас­ны­ми. Чтобы и даль­ше ра­бо­тать с пись­ма­ми через 1С, Вам нужно из­ме­нить их на­строй­ки и вне­сти до­ра­бот­ки в код
Автоматическая установка ширины колонки табличного документа. 0
Процедура, которая " примерно" делает автоширину колонок (навроде, как если бы выделить все колонки и дважды щелкнуть мышкой по границе заголовка колонки). Привожу текст, работает неахти, но лучше чем ничего: Процедура РасчетШириныКолонок(Табличный
Ввод данных по командировкам в программе ЗУП 0
Ввод сведений о командировках в программе 1С: Зарплата и управление персоналом 8 (ред.30) осуществляется в Разделе Кадры - Все кадровые документы - Создать - Командировка Откроется документ: Ввод сведений о командировках в программ
Ввод дополнительного ежегодного отпуска 2
Вид расчета, используемый для начисления оплаты дополнительного ежегодного отпуска , описывается в плане видов расчета Основные начисления организаций . Новый вид расчета удобнее создать копированием предопределенного вида расчета Оплата отпуска п
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.