8.х Выполнить .epf файл на сервере

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем dimao, 9 авг 2019.

  1. TopicStarter Overlay
    dimao
    Offline

    dimao Опытный в 1С

    Регистрация:
    15 сен 2008
    Сообщения:
    149
    Симпатии:
    0
    Баллы:
    26
    Добрый день.
    Есть необходимость при наступлении какого-то события выполнять на сервере обработку из .epf файла и передать ей параметр.

    пытаюсь так:
    Код:
                        команда="""C:\Program Files (x86)\1cv8\common\1cestart.exe"" enterprise /s192.168.1.9\Q_D /Cпараметр /N Админ /P ХХХХХ /DisableStartupMessages  /Execute ""\\192.168.1.4\D$\CMD\VIBERTEST\ViberRep1.epf""";
                      
    Ком = Новый COMObject("wScript.Shell");
    //Ком.Run(команда,0,Ложь);                      
    aaa=Ком.Run(команда,1,Истина);                      
    
    не получается. Хотя, тестирую на программерском сервере, а обработка на боевом, может в этом проблема?

    Подскажите, как правильно?
  2. TopicStarter Overlay
    dimao
    Offline

    dimao Опытный в 1С

    Регистрация:
    15 сен 2008
    Сообщения:
    149
    Симпатии:
    0
    Баллы:
    26
    Предупреждая предложения зарегистрировать внешнюю обработку скажу: У нас есть некоторый пул обработок, которые достаточно часто меняются, появляются новые, меняется порядок и расписание выполнения. Они выполняются из простеньких батников. Подключать их как внешние мы посчитали нецелесообразным - слишком часто могут меняться правила.
    Вот появилась необходимость помимо самостоятельного расписания вызовов одной обработки обеспечить ее запуск из конфигурации.
  3. TopicStarter Overlay
    dimao
    Offline

    dimao Опытный в 1С

    Регистрация:
    15 сен 2008
    Сообщения:
    149
    Симпатии:
    0
    Баллы:
    26
    Происходит какая-то непонятная странность ;-)
    У нас стоит стародревняя интеграция с VIBER. По расписаниям и по событиям рассылаются сообщения кому нужно. Но постоянно можно узнать от какого пользователя инициируется событие. Вот потребовалось сделать что-то типа бота, который будет отвечать на входящие сообщения. Пробовал по разному: и врезаться в код вебхука и более высокоуровневый способ: при записи в регистр, где хранятся сообщения. Само событие перехватывается, но потом начинаются странности. По ходу дела нужно искать в справочнике пользователей:

    отправитель= Справочники.Пользователи.НайтиПоНаименованию("АдминV");

    возникает ошибка "ошибка при вызове метода контекста (найтипонаименованию)" И еще некоторые странности. Короче, ничего не работает!
    Может проблема в том, что в данный момент нет определенного пользователя, которому принадлежит сессия? Получается один и тот же код не работает просто от события на сервере, но работает, если инициатором события был человек.

    Сильно бы помогло, если бы получилось хотябы запустить батничек на сервере, где установлен 1С сервер. Вот как-то так:
    Код:
                        команда="type \\localhost\D$\CMD\VIBERTEST\start1.bat"+Строка(мсг.Контакт.Наименование)+" >\\localhost\D$\CMD\VIBERTEST\start1.LOG ";
                       
                        Ком = Новый COMObject("wScript.Shell");
                        aaa=Ком.Run(команда,1,Истина);                                               
    
    Помогите разобраться!!!
    Последнее редактирование: 13 авг 2019
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.847
    Симпатии:
    1.025
    Баллы:
    204
    Давайте начнем с малого: вы используете какую-то типовую конфигурацию или полностью самописное решение?
    Далее, абсолютно не понятно, для чего запускается клиент 1с через батник, почему все это нельзя сделать средствами регламентных заданий?
  5. TopicStarter Overlay
    dimao
    Offline

    dimao Опытный в 1С

    Регистрация:
    15 сен 2008
    Сообщения:
    149
    Симпатии:
    0
    Баллы:
    26
    у нас УТ 11.1 , но переписанная вдоль и поперек с приживленными фишками из 11.3 и кучей какого-то рудиментарного кода из 10, про который ничего никто не помнит, а разбираться лень. Короче УТ Франкенштейн.
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.847
    Симпатии:
    1.025
    Баллы:
    204
    Хорошо. База в каком режиме работает?
  7. TopicStarter Overlay
    dimao
    Offline

    dimao Опытный в 1С

    Регистрация:
    15 сен 2008
    Сообщения:
    149
    Симпатии:
    0
    Баллы:
    26
    В клиент-серверном. (всмысле, мы работаем с базой НЕ по RDP)
  8. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.847
    Симпатии:
    1.025
    Баллы:
    204
    Это никак не коррелирует в общем случае :)

    Хорошо. Для чего запускать клиента 1С с использованием батника? почему нельзя выполнить в рамках регламентных заданий, кодом конфигурации, все то, что выполняется в рамках батника и какой-то там внешней обработки?
  9. TopicStarter Overlay
    dimao
    Offline

    dimao Опытный в 1С

    Регистрация:
    15 сен 2008
    Сообщения:
    149
    Симпатии:
    0
    Баллы:
    26
    Управляемое приложение. режим совместимости с 8.3.6
    --- Объединение сообщений, 13 авг 2019 ---
    В некотором смысле потому, что у меня нет достаточной компетентности ;-) батник выбран в том числе потому, что список регламентных заданий конфигурации раздут до безобразия. Но и потому, что внешняя обработка, которая выполняется в батнике еще дорабатывается - чтобы избежать необходимости применять изменения конфигурации каждый раз после правок. По другому я не умею.
  10. TopicStarter Overlay
    dimao
    Offline

    dimao Опытный в 1С

    Регистрация:
    15 сен 2008
    Сообщения:
    149
    Симпатии:
    0
    Баллы:
    26
    На одном из форумов меня как-то раз заклевали, что я не уточнил, якобы файловая база на RDP сервере тоже подходит под определение клиент-серверной ;-) вот теперь я везде уточняю.
  11. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.847
    Симпатии:
    1.025
    Баллы:
    204
    Скажем так: если нужно, что-то отлаживать, то это все выполняется в виде внешней обработки, отлаживается и уже готовый вариант применяется к конфигурации.
    Можно пойти немного дальше: читать выполняемый код из текстовика, если нужно прям уж править находу и делать Выполнить("ПрочитанныйКодИзТекстовика").
  12. TopicStarter Overlay
    dimao
    Offline

    dimao Опытный в 1С

    Регистрация:
    15 сен 2008
    Сообщения:
    149
    Симпатии:
    0
    Баллы:
    26
    то есть в таком виде как у меня работать не будет? Под внешней обработкой Вы подразумеваете "подключаемую внешнюю обработку"?
  13. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.847
    Симпатии:
    1.025
    Баллы:
    204
    Может и будет работать, но это по сути геморрой.
    Под внешней обработкой я понимаю обычную внешнюю обработку, которая выполняет все те же действия, что и метод фонового задания, но делает это по нажатию на кнопку, чтобы можно было отладить весь алгоритм.
    Обработка открывается через меню файл - открыть
  14. TopicStarter Overlay
    dimao
    Offline

    dimao Опытный в 1С

    Регистрация:
    15 сен 2008
    Сообщения:
    149
    Симпатии:
    0
    Баллы:
    26
    Хорошо. Спасибо, я подумаю сегодня. А по вопросу вызвать батник на сервере не из пользовательской сессии? И почему в таком режиме не могу сделать поиск в справочнике? Меня это сильно заинтересовало

    Отправлено с моего Redmi 6A через Tapatalk
  15. TopicStarter Overlay
    dimao
    Offline

    dimao Опытный в 1С

    Регистрация:
    15 сен 2008
    Сообщения:
    149
    Симпатии:
    0
    Баллы:
    26
    Кстати, я знаю как выполнять и отлаживать внешние обработки через Файл-Открыть:) . Я не понимаю, когда не могу выполнить НайтиПоНаименованию в справочнике. Вроде это в любом контексте доступно. И не нашел понятных материалов по запуску команд ОС на сервере- назревает ещё одна хотела, в которой нужно будет запускать некоторые процессы не связанные с 1С (выгрузка счётчиков посещений и ещё некоторой статистики для подбора ее в 1С)

    Отправлено с моего Redmi 6A через Tapatalk
  16. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.847
    Симпатии:
    1.025
    Баллы:
    204
    Полный текст ошибки какой?
    При запуске 1С через батник запускается пользовательская сессия указанного пользователя в ключах запуска 1Сestart
  17. TopicStarter Overlay
    dimao
    Offline

    dimao Опытный в 1С

    Регистрация:
    15 сен 2008
    Сообщения:
    149
    Симпатии:
    0
    Баллы:
    26
    Я, вероятно, напортачил в синтаксисе команды. Сейчас скачал попробовать 1С-Shell (https://github.com/KraudSecurity/1C-Shell) она ваполняет команды на сервере. Именно то, что мне нужно. Сижу-курю
  18. TopicStarter Overlay
    dimao
    Offline

    dimao Опытный в 1С

    Регистрация:
    15 сен 2008
    Сообщения:
    149
    Симпатии:
    0
    Баллы:
    26
    Действительно, я неправильно писал команду, поэтому батник не запускался! Эта проблема решена!
    Возвращаюсь к другой проблеме. Как я говорил, у нас стоит старый модуль интеграции с VIBER. Все работает, сообщения принимает и отправляет. Но вот мне нужно отреагировать на принятое сообщение, отправить ответ по VIBER. входящее Сообщение с командой приходит, при записи в регистр истории сообщений Viber я распознаю команду и пытаюсь отправить ответ. В этот момент происходит ошибка записи принятого сообщения!

    Ошибка:
    {ОбщийМодуль.VBR_СерверСлужебный.Модуль(124)}: Ошибка при вызове метода контекста (Записать)
  19. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.847
    Симпатии:
    1.025
    Баллы:
    204
    Нужен 5 уровень телепатии, у меня только 3-ий......
    dimao нравится это.
  20. TopicStarter Overlay
    dimao
    Offline

    dimao Опытный в 1С

    Регистрация:
    15 сен 2008
    Сообщения:
    149
    Симпатии:
    0
    Баллы:
    26
    Это понятно. Буду сам разбираться. Если что - спрошу. Вы и так мне очень помогли ;-) Спасибо!