Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Восстановление последовательности. Колеги помогите разобраться
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.1 (8.0)
Vovka_Kiev
Необходимо написать обработку "Восстановление последовательности" по заданой организации, так как организаций в базе несколько.
Для этого "встоенный язык" предлагает метод Последовательности.Восстановить(Момент времени, Последовательности);
Все сделал как написано в справке 1С, при выполнении обработки система выдает ошибку "Ошибка SDBL. Таблица или поле Fld11062 не содержится в разделе FROM(pos=25)".
Ниже приведен текст обработки.
/////////////////////////////////////////////////////////////
ТЗПоследовательностей = Новый ТаблицаЗначений;
ТЗПоследовательностей.Колонки.Добавить("ИмяПоследовательности");
ТЗПоследовательностей.Колонки.Добавить("НаборКомбинаций");

//Определяем набор комбинаций с заданным значением измерения Организация
ТЗНаборКомбинаций = Новый ТаблицаЗначений;
ТЗНаборКомбинаций.Колонки.Добавить("Организация");
СтрокаНаборКомбинаций = ТЗНаборКомбинаций.Добавить();
СтрокаНаборКомбинаций.Организация = Организация;//Организация задается на форме с помощью елемента управления

СтрокаПоследовательности = ТЗПоследовательностей.Добавить();
СтрокаПоследовательности.ИмяПоследовательности = "РасчетыПоРеализацииОрганизации";
СтрокаПоследовательности.НаборКомбинаций = ТЗНаборКомбинаций;

СтрокаПоследовательности = ТЗПоследовательностей.Добавить();
СтрокаПоследовательности.ИмяПоследовательности = "РасчетыПоРеализацииОрганизации";
СтрокаПоследовательности.НаборКомбинаций = ТЗНаборКомбинаций;

Попытка
Последовательности.Восстановить(Момент, ТЗПоследовательностей); //Момент - дата которая задается на форме.
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
//////////////////////////////////////////////////////////////////

PS: уже второй день стучусь головой об стенку ничего не получается. Может кто сталкивался, поделитесь знаниями.
Batchir
Релиз платформы, конфигурация? Тестирование и исправление на копии делали? chdbfl.exe?
Vovka_Kiev
Цитата(Batchir @ 22.12.10, 17:56) необходимо зарегистрироваться для просмотра ссылки
Релиз платформы, конфигурация? Тестирование и исправление на копии делали? chdbfl.exe?


1С8.1 релиз 8.1.15.14. УПП 1.2. С базой все нормально база SQl - ная. Тестирование - исправление не делал. Еще добавлю, что если написать так:
/////////////////////////////////////////////////////////////
ТЗПоследовательностей = Новый ТаблицаЗначений;
ТЗПоследовательностей.Колонки.Добавить("ИмяПоследовательности");
ТЗПоследовательностей.Колонки.Добавить("НаборКомбинаций");

//Определяем набор комбинаций с заданным значением измерения Организация
ТЗНаборКомбинаций = Новый ТаблицаЗначений;
ТЗНаборКомбинаций.Колонки.Добавить("Организация");
СтрокаНаборКомбинаций = ТЗНаборКомбинаций.Добавить();
СтрокаНаборКомбинаций.Организация = Организация;//Организация задается на форме с помощью елемента управления

СтрокаПоследовательности = ТЗПоследовательностей.Добавить();
СтрокаПоследовательности.ИмяПоследовательности = "РасчетыПоРеализацииОрганизации";
СтрокаПоследовательности.НаборКомбинаций = ТЗНаборКомбинаций;

Попытка
Последовательности.Восстановить(Момент, ТЗПоследовательностей); //Момент - дата которая задается на форме.
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
//////////////////////////////////////////////////////////////////


тоесть указываем только одну последовательность - все работает. Хотя последовательностей 8, и все их надо восстановить НО ПО ОДНОЙ(ВЫБРАННОЙ) ОРГАНИЗАЦИИ.
Batchir
Эта ошибка тянется ещё с платформы 8.1.11.67 (2008!!!) и похоже до сих пор не решена и зависла в " зарегистрированнных".
Какого либо совета 1С дать не могут.
Попробуйте восстановление отдельно по каждой последовательности в цикле.
Batchir
А вообще ошибка SDBL - это ошибка трансляции запроса в SQL, и тут смело можно обращаться непосредственно к 1С, но конкретно Ваша ситуация уже известна. А вот мер никаких по её устранению производиться не будет, т.к. 8.1 завершила своё развитие так же как и 8.0 и 7.7 и все её предшесвенники.
Можете попробывать конвертнуть базу на 8.2 (естественно копию) и воспроизвести там. А вот если тут будет воспроизводиться, тогда точно можно обращаться к 1С.
Vovka_Kiev
Цитата(Batchir @ 23.12.10, 9:40) необходимо зарегистрироваться для просмотра ссылки
А вообще ошибка SDBL - это ошибка трансляции запроса в SQL, и тут смело можно обращаться непосредственно к 1С, но конкретно Ваша ситуация уже известна. А вот мер никаких по её устранению производиться не будет, т.к. 8.1 завершила своё развитие так же как и 8.0 и 7.7 и все её предшесвенники.
Можете попробывать конвертнуть базу на 8.2 (естественно копию) и воспроизвести там. А вот если тут будет воспроизводиться, тогда точно можно обращаться к 1С.




Если так, тогда буду писать письмо с офицальным подтверждением о ошибке в платформе, так как придется отчитываться - нужна бумага. А вообще, для себя попробую в 1С 8.2, но переход на эту платформу пока не планируется. Постараюсь выложить ответ переписки, может еще кому нибудь понадобится.

Да!!! по поводу восстановления в цикле по очереди: у меня несколько организаций и есть необходимость восстанавливать последовательности во выбранной отдельно организации. Так как документы могут присутствовать одновременно в нескольких последовательностях ,то восстановив одну последовательность документы выстраиваются в определенном порядке. Восстанавливая другую последовательность документы выстариваються согласно второй последовательности и порядок первой нарушается. Восстанавливать в цикле поочетеди применимо только тогда когда документы принадлежат последовательностям и не повторяются. Если я в чем-то не прав поправте пожалуйста.

За ответ спасибо!!!
Vovka_Kiev
Цитата(Vovka_Kiev @ 23.12.10, 12:11) необходимо зарегистрироваться для просмотра ссылки
Если так, тогда буду писать письмо с офицальным подтверждением о ошибке в платформе, так как придется отчитываться - нужна бумага. А вообще, для себя попробую в 1С 8.2, но переход на эту платформу пока не планируется. Постараюсь выложить ответ переписки, может еще кому нибудь понадобится.

Да!!! по поводу восстановления в цикле по очереди: у меня несколько организаций и есть необходимость восстанавливать последовательности во выбранной отдельно организации. Так как документы могут присутствовать одновременно в нескольких последовательностях ,то восстановив одну последовательность документы выстраиваются в определенном порядке. Восстанавливая другую последовательность документы выстариваються согласно второй последовательности и порядок первой нарушается. Восстанавливать в цикле поочетеди применимо только тогда когда документы принадлежат последовательностям и не повторяются. Если я в чем-то не прав поправте пожалуйста.

За ответ спасибо!!!


На платформе 1С 8.2 все работает. При использовании методов Восстановить(...), УстановитьГраницу(...) - система ошибок не выдает.
Выкладываю краткий ответ на письмо:
..........................
..........................
Предоставьте демо-пример, иллюстрирующий проблему. Сообщите какой SQL-сервер используется (версия и установленный сервис-пак).
Также сообщаем, что даже при воспроизведении ошибки на платформе 8.1 исправления в нее вноситься не будут, поэтому рекомендуется использовать платформу версии 8.2
..........................
Batchir
Что и требовалось доказать. Хош не хош, а вконечном результате всё равно прийдется переходить на 8.2. Старые неисправляемые баги и новые возможности в конечном счете сделают своё дело.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.