|   |   | 
| 
 | Проблема с регламентным заданием | ☑ | ||
|---|---|---|---|---|
| 0
    
        sergggo 07.12.12✎ 14:34 | 
        Добрый день! Есть две sql-базы, настроен обмен по расписанию через каталог на сервере по следуему принципу:
  1. Из нетиповой базы 2 выгружается сообщение обмена в каталог 2. База 1, через 15 минут запускает обмен, в правилах которого создание и запуск внешней обработки (нетиповая обработка ОбменДанымиXML), которая в свою очередь должна проверить каталог, загрузить сообщение в базу 1 и выгрузить сообщение для базы 2. Проблема: С завидным непостоянством происходит следующее: либо при создании внешней обработки (при создании пустого сообщения для вспомогательного узла) выдаётся сообщение: "Не корректно указано имя файла для выгрузки данных", либо когда уже создана внешняя обработка и она пытается проверить директорию на сообщение от базы 2. Вся эта ерунда происходит только если никого нет на сервере. Агент сервера установлен как служба. Если смотреть по коду где записывается исключение -- функция ОткрытьФайлВыгрузки, а именно тут: Попытка Если НепосредственноеЧтениеВИБПриемнике Тогда ФайлОбмена.Открыть(ПолучитьИмяВременногоФайла(".xml"), КодировкаТекста.UTF8); Иначе ФайлОбмена.Открыть(ИмяФайлаОбмена, КодировкаТекста.UTF8); КонецЕсли; Исключение СтрокаСообщенияОбОшибке = ЗаписатьВПротоколВыполнения(8); Возврат ""; КонецПопытки; Так как обмен через каталог -- предполагаю что выполняется строчка ФайлОбмена.Открыть(ИмяФайлаОбмена, КодировкаТекста.UTF8); Так какого же лешего База 2 может ВСЕГДА создать/выгрузить/загрузить, а База 1, иногда не хочет. Помогите люди добрые, уже голову всю сломал ( | |||
| 1
    
        cw014 07.12.12✎ 14:39 | 
        Выводи еще имя полученного файла     | |||
| 2
    
        cw014 07.12.12✎ 14:39 | 
        А еще может быть что не успевает закрывать файл предыдущая база, а следующая уже долбится в него     | |||
| 3
    
        Azverin 07.12.12✎ 14:40 | 
        (0) если ты фикси, оставь задание на понедельник, а сейчас отдыхай. глядишь, с новыми силами и мысли появятся)     | |||
| 4
    
        Wobland 07.12.12✎ 14:41 | 
        ПрочитатьИзПротоколаВыполнения ещё не предлагали?     | |||
| 5
    
        ОффПланктон 07.12.12✎ 14:57 | 
        (4) Воблан - Из Дурдома     | |||
| 6
    
        sergggo 07.12.12✎ 14:58 | 
        (2) Проверял, вторая база от 15 до 40 секунд выгружает, не больше.
  (4) м? Это метод такой? Где и как заюзать, что умеет? ) | |||
| 7
    
        Лефмихалыч 07.12.12✎ 15:01 | 
        (0) У тебя два регзадания бьются головой в один и тот же ресурс и падают в клинче. Нужен координатор - процесс, который будет сначала пинать Базу 1, чтобы выгрузила, а только потом после успешной выгрузки, пинать вторую, чтобы та загрузила.     | |||
| 8
    
        Wobland 07.12.12✎ 15:11 | 
        (6) ну ты же пишешь что-то в протокол. или чукча писатель?     | |||
| 9
    
        zling 07.12.12✎ 15:20 | 
        в тексте иксемель файла есть открывающий и закрывающий теги. Открой файл как текст, Ищи закрывающий - если есть - значит одна база закончила запись     | |||
| 10
    
        sergggo 07.12.12✎ 15:22 | 
        (7) А может ли база 2 не высвобождать ресурс, даже если она успешно выгрузила? Просто судя по журналу регистрации фоновое задание базы два отрабатывает успешно и завершается.     | |||
| 11
    
        zling 07.12.12✎ 15:30 | 
        (10) если дело в (7), то см. (9) Ошибки при открытии как текстового файла не будет. Если найдешь тег </v8msg:Message> спокойно открывай как xml     | |||
| 12
    
        sergggo 07.12.12✎ 15:44 | 
        Проверил имя файла, которое должно получаться при запуске внешней обработки (псевдо-узел), от пользователя:
  Начало выгрузки: 07.12.2012 15:35:13 Имя файла обмена C:\Users\test.KLIENTISHIDE\AppData\Local\Temp\15\Полный\ВЫЗОВ ВНЕШНЕЙ ОБРАБОТКИ ДЛЯ ЗАПУСКА ЗАГРУЗКИ ВЫГРУЗКИ ПО СКОРРЕКТИРОВАННОМУ АЛГОРИТМУ\Message_БП2_ПУ.xml При работе сервиса USR1CV82 данный файл будет: C:\Users\USR1CV82\AppData\Local\Temp\Полный\ВЫЗОВ ВНЕШНЕЙ ОБРАБОТКИ ДЛЯ ЗАПУСКА ЗАГРУЗКИ ВЫГРУЗКИ ПО СКОРРЕКТИРОВАННОМУ АЛГОРИТМУ\Message_БП2_ПУ.xml ?? В принципе директория такая есть. Кстати, если руками жмакать в последовательности, что автоматический должен быть -- то всё окей. Если есть активный сеанс на терминале -- то всё окей. Блин ( | |||
| 13
    
        Лефмихалыч 07.12.12✎ 16:59 | 
        (12) читай (7) до просветления     | |||
| 14
    
        sergggo 07.12.12✎ 20:18 | 
        (13) ок сижу просветляюсь. А как тогда сеанс (пользователя windows) влияет на то, что клинча не происходит (всё тоже самое, автоматический обмен по-расписанию но проходит)? Оо (пользовательских сеансов 1с в этот момент нет).     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |