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

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

Читайте нас: