Имя: Пароль:
1C
1С v8
Объект удерживающий менеджер временных таблиц, помещен в кэш или образал циклическую ссылк
0 Масянька
 
21.08.19
16:30
День добрый!
Вводная: база SQL, 8.3.14.1779, 3.0.71.77. Загружены остатки. Загружаем док-ты за январь 18 (попрошу без комментов, буху так надо (можно было бы - была бы послана куда подальше)).
Док-ты грузим без движений.
Пытаемся провести... И получаем ошибку в заголовке.
Методом научного тыка выяснено, что рубится на некоторых (!!!) док-ах с ошибками. Какие конкретно - сказать не могу. Но доходит до 22 января. А до этой даты тоже были ошибки, но не вылетал.
Ошибки разные (опять, не могу сказать какая именно) - там договора нет, там остатков не хватает.
Док-ов много - за месяц около 3,5 тысяч.
Админ сервак ребутнул. Ошибка осталась.
Какие методы лечения, обхода?
Грузить еще весь 18 и 19 года.
Спасибо.
1 piter3
 
21.08.19
16:31
Указать договор,ввести остатки
2 ДенисЧ
 
21.08.19
16:31
3 Масянька
 
21.08.19
16:32
(1) Коню понятно.
А можно провести всё, что можно, а ошибки вывести?
4 piter3
 
21.08.19
16:32
5 Масянька
 
21.08.19
16:32
(2) Не поверишь - я читала. Только не фига не поняла.
6 piter3
 
21.08.19
16:32
(5) Освобождать придется,ставя видимо неопределено
7 Масянька
 
21.08.19
16:33
(4) Конфа типовая. На замке. Где запрос менять?
8 Масянька
 
21.08.19
16:34
(6) Что освобождать?
9 piter3
 
21.08.19
16:34
(7) На ком вылетает.вереншь потом,делов-то
10 piter3
 
21.08.19
16:34
(8) открой мою ссылку,там всего 3 поста
11 Масянька
 
21.08.19
16:37
(9) Групповое перепроведение док-ов. Стандарт.
Кусок модуля:
Функция ЗапуститьПерепроведениеДокументов()
    
    // Определяем наличие особой ситуации, когда перепроведение будет идти по нескольким организациям.
    ДатаНачалаПерепроведения    = Объект.ДатаНачала;
    ДатаОкончанияПерепроведения = Объект.ДатаОкончания;

    Если ЗначениеЗаполнено(Объект.Организация) Тогда
        ДоступныеОрганизации = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Объект.Организация);
    Иначе
        ДоступныеОрганизации = ОбщегоНазначенияБПВызовСервераПовтИсп.ВсеОрганизацииДанныеКоторыхДоступныПоRLS(Истина);
    КонецЕсли;
    
    // Формируем список дат, за которые должно быть выполнено перепроведение.
    Если НЕ ЗначениеЗаполнено(ДатаНачалаПерепроведения)
        ИЛИ НЕ ЗначениеЗаполнено(ДатаОкончанияПерепроведения) Тогда
        Обработки.ГрупповоеПерепроведениеДокументов.ОпределитьГраницыПериода(
            ДоступныеОрганизации,
            ДатаНачалаПерепроведения,
            ДатаОкончанияПерепроведения);
    КонецЕсли;
    
    // Обязательно возвращаем признак активности задания и список дат перепроведения.
    // Ниже Результат может дополняться иной информацией о выполненных действиях.
    Результат = Новый Структура;
    Результат.Вставить("ЗаданиеВыполняется",            Ложь);
    Результат.Вставить("ДоступныеОрганизации",          ДоступныеОрганизации);
    Результат.Вставить("ДатаНачалаПерепроведения",      ДатаНачалаПерепроведения);
    Результат.Вставить("ДатаОкончанияПерепроведения",   ДатаОкончанияПерепроведения);

    // Если в базе включено отложенное проведение, то будем использовать актуализацию.
    ИспользоватьАктуализациюРасчетовСКонтрагентами = ПолучитьФункциональнуюОпцию("ИспользоватьОтложенноеПроведение");
    Результат.Вставить("ИспользоватьАктуализациюРасчетовСКонтрагентами", ИспользоватьАктуализациюРасчетовСКонтрагентами);
    
    // Возможно, что фоновое задание было запущено раньше,
    // пользователь дал команду его отменить, однако задание не отменено.
    // В таком случае не следует запускать задание повторно - следует дождаться его выполнения.
    // Мы можем отследить ситуацию только, если все это происходит в одной форме.
    // Потому что подсистема ДлительныеОперации не умеет устанавливать ключ фонового задания.
    Если ЗакрытиеМесяца.ЗаданиеЕщеВыполняется(ИдентификаторЗадания) Тогда
        Результат.ЗаданиеВыполняется = Истина; // Надо ждать
        Возврат Результат;
    КонецЕсли;

    ИдентификаторЗадания = Неопределено;
    
    ПараметрыПерепроведения = Обработки.ГрупповоеПерепроведениеДокументов.ПараметрыПерепроведения();
    
    ПараметрыПерепроведения.Организация     = Объект.Организация;
    ПараметрыПерепроведения.МоментНачала    = Новый МоментВремени(ДатаНачалаПерепроведения, Неопределено);
    ПараметрыПерепроведения.ДатаОкончания   = ДатаОкончанияПерепроведения;
    ПараметрыПерепроведения.УникальныйИдентификаторФормы = УникальныйИдентификатор;
    ПараметрыПерепроведения.ОстанавливатьсяПоОшибке      = Объект.ОстанавливатьсяПоОшибке;
    ПараметрыПерепроведения.СообщатьПрогрессВыполнения   = Истина;
    
    РезультатПерепроведения = Обработки.ГрупповоеПерепроведениеДокументов.ЗапуститьПерепроведение(ПараметрыПерепроведения);

    Если РезультатПерепроведения = Неопределено Тогда
        Результат.Вставить("ПоказатьПредупреждение", НСтр("ru = 'Перепроведение уже выполняется другим пользователем либо открыта для редактирования форма организации.'"));
        Возврат Результат;
    Иначе
        Для каждого ЭлементРезультата Из РезультатПерепроведения Цикл
            Результат.Вставить(ЭлементРезультата.Ключ, ЭлементРезультата.Значение);
        КонецЦикла;
    КонецЕсли;
    
    АдресХранилища       = Результат.АдресХранилища;
    ИдентификаторЗадания = Результат.ИдентификаторЗадания;
    
    Если Не Результат.ЗаданиеВыполнено Тогда
        Результат.ЗаданиеВыполняется = Истина; // Надо ждать
        Возврат Результат;
    Иначе
        // Задание выполнено.
        // Результат выполнения возвращен через хранилище значения.
        // Загрузим его в форму и передадим данные на клиент.
        РезультатПерепроведения = ОбновитьДанныеОперацийПоРезультатуДлительнойОперации();
        Для каждого ЭлементРезультата Из РезультатПерепроведения Цикл
            Результат.Вставить(ЭлементРезультата.Ключ, ЭлементРезультата.Значение);
        КонецЦикла;
        Возврат Результат;
    
    КонецЕсли;
    
КонецФункции
Издеваешься?
12 sitex
 
naïve
21.08.19
16:52
(11) Можно и через SQL удалить если знаете сессию подключения и есть грамотный спец.
13 unenu
 
21.08.19
16:53
Если Объект.ПроверкаЗаполнения() Тогда
   мСсылкиДоковДляРазбора.Добавить(Объект.Ссылка)
КонецЕсли;
14 Масянька
 
21.08.19
16:53
(12) Нет. К сожалению.
15 Галахад
 
гуру
21.08.19
17:02
Что-то не понял. А свое перепроведение написать? Минут десять работы, если с перекурами.
16 ptiz
 
21.08.19
17:28
Распровести ввод остатков. Загрузить и провести проблемные документы. Провести ввод остатков.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс