0
Tateossian
11.04.14
✎
11:50
|
Мистяне, нужна подсказка. Есть вот такой кусок кода, запускающийся регламентно (взят из типовой УПП):
...
МоментВремениДокумента = Новый МоментВремени(д); // д - это дата, конец месяца
ОтборДляГраницы = Новый Структура("Организация, ПроведенВХронологическойПоследовательности", Организация, Ложь);
Если НЕ ИзменитьГраницу(ВидУчета, МоментВремениДокумента, ОтборДляГраницы) Тогда Возврат; КонецЕсли;
...
//Взято из типовой, добавлена проверка на кривые моменты времени
Функция ИзменитьГраницу(Учет, МоментВремениДокумента, ОтборДляГраницы)
//Сообщить("Попытка изменить границу на "+МоментВремениДокумента);
ПустойМоментВремени = Новый МоментВремени('00010101', Неопределено);
ИмяПоследовательности = ?(Учет = "Упр", "ПартионныйУчет", "ПартионныйУчетБУ");
ТекущаяГраница = Обработки.ПроведениеПоПартиям.Создать().ПолучитьГраницуПоследовательности(Учет, ОтборДляГраницы.Организация);
Последовательности[ИмяПоследовательности].ПолучитьГраницу(ОтборДляГраницы);
Если ТекущаяГраница = ПустойМоментВремени Тогда
Сообщить("По организации """+ОтборДляГраницы.Организация+""" в последовательности "+?(Учет = "Упр", "управленческого партионного учета", "бухгалтерского и налогового партионного учета")+" границы не существует");
Последовательности[ИмяПоследовательности].УстановитьГраницу(МоментВремениДокумента, ОтборДляГраницы);
а=1/0;
Возврат Ложь;
КонецЕсли;
// НачатьТранзакцию();
Последовательности[ИмяПоследовательности].УстановитьГраницу(МоментВремениДокумента, ОтборДляГраницы);
ЗаполнитьИзмерениеПроведенВХронологическойПоследовательности(ИмяПоследовательности, МоментВремениДокумента.Дата, ОтборДляГраницы.Организация);
// ЗафиксироватьТранзакцию();
ЧтоПолучилось = Обработки.ПроведениеПоПартиям.Создать().ПолучитьГраницуПоследовательности(Учет, ОтборДляГраницы.Организация);
Если ЧтоПолучилось <> МоментВремениДокумента Тогда
Сообщить("Не получилось установить границу в "+МоментВремениДокумента+", для "+ОтборДляГраницы.Организация);
Сообщить("Получилось вот так: "+ЧтоПолучилось);
а=1/0;
Возврат Ложь;
КонецЕсли;
Возврат Истина;
КонецФункции
Сразу скажу - это не моя поделка:3
Вопрос в следующем - иногда в этом месте
Последовательности[ИмяПоследовательности].УстановитьГраницу(МоментВремениДокумента, ОтборДляГраницы)
граница устанавливается на период 00010101, грубо говоря, "слетает". Я даже смотрел профайлером - действительно удаляется запись границы. Почему так может быть?
|
|