Имя: Пароль:
1C
 
Как запустить обработчики обновления?
0 Мисти
 
08.03.20
16:17
То никак не могла найти, где отключить. Отключила! Правда, не записала.
а заустить надо другие всё равно!
Ну, т.е. хочу во внешнюю обработку вынести кусок обновления - у меня в 1 базе 2 крупных доработки, и одна из них запускается на обновление сама, а вторая - нет.
1 Волшебник
 
модератор
08.03.20
16:21
2 Мисти
 
08.03.20
16:32
спасибо!
3 Мисти
 
08.03.20
16:35
теория понятна! Там всё это в базе есть, только не запускается само!
Как это все запустить?
4 Волшебник
 
модератор
08.03.20
16:38
Администрирование / Обслуживание / Регламентные и фоновые задания / Отложенное обновление ИБ / Запустить сейчас
5 Мисти
 
08.03.20
16:55
Там что-то недопрописано! Куски обновления Бит не запустились сами, я думаю, и это не поможет.
6 Мисти
 
09.03.20
00:09
Процедура ПриходныйКассовыйОрдерСформироватьРаспределениеПлатежа(Параметры) Экспорт
    
    Запрос = Новый Запрос;
    Запрос.Текст =        //ПЕРВЫЕ 1000 Юля  март 2020
    "ВЫБРАТЬ
    |    Реквизиты.Ссылка КАК Ссылка,
    |    Реквизиты.Дата КАК Дата
    |ИЗ
    |    Документ.ПриходныйКассовыйОрдер КАК Реквизиты
    |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    |            РаспределениеБюджета.Ссылка КАК Ссылка
    |        ИЗ
    |            Документ.ПриходныйКассовыйОрдер.бит_РаспределениеБюджета КАК РаспределениеБюджета
    |        
    |        СГРУППИРОВАТЬ ПО
    |            РаспределениеБюджета.Ссылка) КАК РаспределениеБюджета
    |        ПО Реквизиты.Ссылка = РаспределениеБюджета.Ссылка
    |ГДЕ
    |    РаспределениеБюджета.Ссылка ЕСТЬ NULL
    |
    |УПОРЯДОЧИТЬ ПО
    |    Дата УБЫВ,
    |    Ссылка УБЫВ";
    
    РезультатЗапроса = Запрос.Выполнить();
    Если РезультатЗапроса.Пустой() Тогда
        Параметры.ОбработкаЗавершена = Истина;
        Возврат;
    КонецЕсли;
    
    Параметры.ОбработкаЗавершена = Ложь;
7 Мисти
 
09.03.20
00:10
вот такая там обработка - выбрать первые 1000 - она как-то регулярно запускается, что ли?
А если я все сразу? Ну, долго, но у меня вся ночь впереди!
8 Фрэнки
 
09.03.20
00:14
Имеется ввиду, что запуск слишком большой (больше 1000) может напрягать из-за нехватки, например, оперативы.
А если организовать запуск всего этого когда в цикле, но и транзакцией еще обвернуть, то вот по 1000 объектов будет вполне себе норм.
9 Фрэнки
 
09.03.20
00:16
(7) если хочешь все сразу, то лучше бесконечный цикл установить, а выход из него по условию Параметры.ОбработкаЗавершена = Истина;
которое даже есть готовое.
10 Мисти
 
09.03.20
01:00
Я не нашла, как это запускается регулярно.
Сделать цикл по 1000?
11 Волшебник
 
модератор
09.03.20
10:09
(10) Цикл сделать бесконечным, а каждые 1000 элементов фиксировать транзакцию и сразу открывать новую.
На выходе из цикла фиксировать транзакцию ещё раз