|   |   | 
| 
 | Организация Авто-обмена в РИБ | ☑ | ||
|---|---|---|---|---|
| 0
    
        Gsoom2010 13.11.11✎ 17:18 | 
        Добрый день!
  Подскажите как организовать Автоматический обмен по расписанию в РИБ на самописной конфигурации? Может быть у кого-то есть готовые решения? В интернетах нашёл только описания такого обмена на стандартных конфигурациях. | |||
| 1
    
        kosts 13.11.11✎ 17:24 | 
        (0) Посмотри конфу "стандартные подсистемы", может быть там есть что то про обмен.
  Даже если конфа своя, посмотри как сделано в типовой (ту которую вы покупали изначально). И в инете куча описаний обмена. | |||
| 2
    
        kosts 13.11.11✎ 17:27 | 
        (0) Способ автоматического запуска будет зависеть от того на сервере у тебя база или файловая. На сервере можно использовать фоновые задания. В файловом "назначенные задания".     | |||
| 3
    
        Gsoom2010 13.11.11✎ 17:33 | 
        Файловая база, 1С 8.2.
  Сейчас я тупа создал план обмена и указал что он РИБ. | |||
| 4
    
        Gsoom2010 13.11.11✎ 17:35 | 
        Выгружать/Загружать файлики вручную - всё ок.
  Хочу чтобы автоматом всё делалось по расписанию, не совсем понимаю что должно вызывать Регламентное задание и как повесить обмен хотябы на ftp. Да хоть на ДропБокс... | |||
| 5
    
        kosts 13.11.11✎ 17:38 | 
        В процедуре в начале работы системы анализируй входящие параметры и если специальный установлен (свой какой то), то автоматически запускай процедуру обмена.     | |||
| 6
    
        Gsoom2010 13.11.11✎ 17:51 | 
        Мне бы обмениваться данными каждые 3 часа, да и пустить это всё через ftp. Может набросаете схему работы такого обмена? Я читал что надо создавать пользователя который будет инициировать запуск регламентных заданий по обмену данными, это так?     | |||
| 7
    
        Gsoom2010 13.11.11✎ 17:52 | 
        Вся проблема в том что везде описано как настроить обмен в стандартных конфигурациях, но не понять как сделать это самому с нуля...     | |||
| 8
    
        kosts 13.11.11✎ 17:56 | 
        В типовых все универсально (и сложно) и повторять нет смысла.
  По простому. Тебе только нужна процедура обмена и механизм запуска. | |||
| 9
    
        Gsoom2010 13.11.11✎ 17:59 | 
        У меня сейчас есть только план обмена (и тот стандартный для РИБ).
  Следующими действиями будет создать регламентное задание и написать процедуру запуска и выполнения этого плана? Я правда совсем не представляю как обращаться к плану обмена из процедуры. | |||
| 10
    
        kosts 13.11.11✎ 18:01 | 
        Для запуска используй обычные "Назначенные задания в виндовсе".
  Задание которое запускает батник с запуском Предприятия с установленным параметром типа "c:\Program Files\1cv82\8.2.13.205\bin\1cv8.exe" enterprise /pпароль /uпользователь /конфа /CВыполнитьОбмен Подробно где нибудь посмотри. В 
 Как то так | |||
| 11
    
        Gsoom2010 13.11.11✎ 18:04 | 
        Благодарю, часть пути к цели уже стала ясной. Осталось понять вторую часть как написать МодульОбмена.ВыполнитьОбмен();     | |||
| 12
    
        kosts 13.11.11✎ 18:04 | 
        В плане обмена отметь какие объекты должны мигрировать и с автоматической регистрацией или нет.
  Сам обмен тут не буду описывать, подробно все не помню, да и инет полон описаний (на мисте тоже где то есть). | |||
| 13
    
        kosts 13.11.11✎ 18:05 | 
        Если регистрация не автоматическая, то нужно позаботиться о том что бы зарегистрировать объекты после их изменения.     | |||
| 14
    
        Gsoom2010 13.11.11✎ 18:05 | 
        Сам план обмена у меня настроен, по крайней мере в ручном режиме всё работает. (Регистрация объектов автоматическая)
  Не понятно как из процедуры обращаться к этому плану чтобы выполнить выгрузки и загрузки в/из узлов РИБ. | |||
| 15
    
        Gsoom2010 13.11.11✎ 18:08 | 
        Попытаюсь найти как это происходит в Управление Торговлей. Если найду выложу, наверняка кому-то пригодится.     | |||
| 16
    
        kosts 13.11.11✎ 18:11 | 
        (14) Видимо нужно вызвать ту же процедуру начала обмена, которая вызывается интерактивно. Ваш Кэп. :-)
  (15) Не надо. | |||
| 17
    
        Gsoom2010 13.11.11✎ 18:40 | 
        Функция ВыполнитьОбмен() Экспорт
  ВыборкаУзлов = ПланыОбмена.ОсновнойПланОбмена.Выбрать(); Пока ВыборкаУзлов.Следующий() Цикл // Произвести обмен данными со всеми узлами, кроме текущего (ЭтотУзел) Если ВыборкаУзлов.Ссылка <> ПланыОбмена.Филиалы.ЭтотУзел() Тогда УзелОбъект = ВыборкаУзлов.ПолучитьОбъект(); // Получить сообщение УзелОбъект.ПрочитатьСообщениеСИзменениями(); // Сформировать сообщение УзелОбъект.ЗаписатьСообщениеСИзменениями(); КонецЕсли; КонецЦикла; КонецФункции | |||
| 18
    
        Gsoom2010 13.11.11✎ 18:40 | 
        Выходит что так надо делать, теперь бы понять где задаётся путь к записи файлов с измнениями. Чтобы указать ftp сервер...     | |||
| 19
    
        kosts 13.11.11✎ 18:43 | 
        Выгружай в файл как обычно. Потом копируй на FTP. В типовых тоже можно посмотреть. В середине можно файл сжать.     | |||
| 20
    
        Gsoom2010 13.11.11✎ 18:47 | 
        kosts - Спасибо!     | |||
| 21
    
        kosts 13.11.11✎ 18:51 | 
        В журнал пиши если обмен не выполнился. Или как то еще сигнализировать нужно. А то чревато ....     | |||
| 22
    
        Gsoom2010 13.11.11✎ 19:12 | 
        Да, я уже нашёл мануал Книга знаний: v8: Автоматический запуск внешней обработки     | |||
| 23
    
        Gsoom2010 13.11.11✎ 19:24 | 
        Тут такое дело, фактически у меня нет функций ПрочитатьСообщениеСИзменениями(); и ЗаписатьСообщениеСИзменениями(); т.к. План обмена создавался автоматически с галочкой РИБ. Нужно где-то брать эти функции (писать самому) или можно как-то обратиться к тем самым процедурам РИБ которые работают на автомате?     | |||
| 24
    
        Gsoom2010 13.11.11✎ 19:36 | 
        В Практическом пособии разработчика нашёл исходные тексты для выгрузки и загрузки. Попробую использовать их.     | |||
| 25
    
        Gsoom2010 13.11.11✎ 21:32 | 
        Чото нихера у меня не выходит... но о чудо http://subscribe.ru/archive/comp.soft.prog.magic1c/200408/14193355.html     | |||
| 26
    
        DrShad 13.11.11✎ 22:15 | 
        помогло?     | |||
| 27
    
        Gsoom2010 13.11.11✎ 22:29 | 
        Да вообще на 100%, у меня даже тело обмякло от удовольствия.     | |||
| 28
    
        Aleksey 13.11.11✎ 22:29 | 
        (25) Первоисточник http://mista.ru/v8/urbd.htm     | |||
| 29
    
        Gsoom2010 13.11.11✎ 22:31 | 
        Да, я видел. Спасибо огромное!     | |||
| 30
    
        Gsoom2010 13.11.11✎ 23:26 | 
        Раз уж на то пошло, может кто подскажет как обойти:
  {ОбщийМодуль.рбРаспределеннаяБаза.Модуль(85)}: Ошибка при вызове метода контекста (Послать) Почта.Послать(ПочтовоеСообщение); по причине: Неизвестная ошибка (SMTP error code 503, 5.5.4 Error: send AUTH command first.) | |||
| 31
    
        Gsoom2010 13.11.11✎ 23:27 | 
        yandex.ru использую для тестирования, в принципе могу сменить сервер...     | |||
| 32
    
        Gsoom2010 13.11.11✎ 23:47 | 
        Вопрос решается добавлением в функцию:
  ПочтовыйПрофиль.АутентификацияSMTP = СпособSMTPАутентификации.Login; ... ПочтовоеСообщение.Отправитель = Константы.АдресПочтовогоЯщикаОбмена; | |||
| 33
    
        Gsoom2010 13.11.11✎ 23:50 | 
        .Получить();     | |||
| 34
    
        Gsoom2010 15.11.11✎ 23:58 | 
        Господа, подскажите, как более грамотно и красиво сделать запуск авто-обмена:
  1. Через *.bat файл запускать БД и выполнять процедуру обмена из ПриНачалеРаботыСистемы() 2. Как в статье (28) сделать это через ОбработчикОжидания повешенный на пользователя 3. Каким-то иным образом, возможно через регламентные задания? База файловая. Конфигурация не стандартная. | |||
| 35
    
        kosts 16.11.11✎ 09:03 | 
        (34) Варианты 3 и 4 неудобны, что предприятие должно быть постоянно запущено.
  Это затрудняет сопровождение, нужно не забыть запустить предприятие. (Если это автоматизировать снова имеем бат файл). При изменении в конфе выйти из него, а потом не забыть снова зайти. В общем понятно. Регламентные задания будут удобны только с сервером. | |||
| 36
    
        Alex_MA 16.11.11✎ 10:19 | 
        (0)тебе поможет библиотека стандартных подсистем     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |