Архитектура 1С для новичков: Строим первую внешнюю обработку и клиент-серверный мост. Часть вторая

habrahabr.ru · world
Full story

The second part of a beginner-oriented guide to 1C architecture picks up from the first part, which explained why the 1C server cannot see files on a local C: drive and prepared a field for entering a file path. The user selects a document by clicking the three-dot button, and the tutorial has already covered building the file path in three steps. The next task is a large button meant to send the file from the user's computer to the server, where it is to be transformed.

В первой части мы разобрались, почему сервер 1С «слеп» к файлам на вашем диске C: , и подготовили поле ввода для пути к файлу. Пользователь нажал на заветные три точки ... и выбрал документ. Путь к файлу мы научились делать за 3 шага . Что дальше? Теперь нам нужна большая, красивая кнопка, которая заставит этот файл оторваться от вашего компьютера, улететь на сервер, превратиться там в данные базы и вернуть нам красивое окошко с сообщением. Давайте по шагам разберем, как спроектировать это и запустить клиент-серверный мост. Шаг 4 . Создаем кнопку действия «Выполнить загрузку». Просто нарисовать кнопку на экране мало — нужно объяснить платформе, что должно произойти при клике. В редакторе формы нашей внешней обработки переходим на вкладку Команды (она находится в правом верхнем окне, прямо рядом с «Реквизитами»). Нажимаем зелёный плюс «Добавить» и называем нашу команду просто и понятно: Загрузить. Берем эту команду мышкой и перетаскиваем в левое верхнее окно Элементы, прямо под наше поле с путем к файлу. На форме появится кнопка. Выделите её, откройте свойства (Alt + Enter) и в поле Заголовок укажите текст, который увидит пользователь: Загрузить. Шаг 5 . Выбор типа обработчика события. Теперь необходимо связать созданную команду с программным кодом. В свойствах команды найдите строку Действие и нажмите на пиктограмму с лупой. Платформа откроет диалоговое окно выбора. Из предложенного списка необходимо выбрать пункт: «Создать на клиенте и процедуру на сервере без контекста». Давайте разберем, почему платформа предлагает разделение и почему выбор директивы «без контекста» (&НаСервереБезКонтекста) является наиболее правильным . Читать далее

Read full article → Compare