[Alimir_BootModal_Login]

Создание конфигураций 1С: пишем "Дни рождения" часть 6/6

Автор уроков и преподаватель школы: Владимир Милькин

Заключительная часть разработки конфигурации "Дни рождения" на 1С.

Шаг №39: создаем внешнюю обработку

Обратите внимание на то, что обработка по поиску именинника, которую мы только что создали, является частью конфигурации. Такие обработки называются внутренними, так как они хранятся внутри базы.

Но иногда нам может потребоваться, чтобы обработка не была частью базы:

  • если код конфигурации закрыт от изменений
  • если мы хотим написать обработку для использования во многих базах

В этом случае подходящим вариантов является написание внешней обработки, которая хранится снаружи базы в виде обычного файла.

Предлагаю написать внешнюю обработку, которая будет находить в базе подарок с самой большой ценой.

Чтобы сделать это выполните из конфигуратора команду меню "Файл"->"Новый":

116

В качестве вида документа укажите "Внешняя обработка":

117

Откроется форма создания новой обработки. В качестве имени укажите "СамыйДорогойПодарок" и нажмите зелёную кнопку с плюсом, чтобы добавить новую форму:

118

Оставим всё как на картинке ниже и нажмём кнопку "ОК":

119

 
 

Шаг №40: добавляем новую команду формы

Откроется новая форма обработки. Перейдём на закладку "Команды", а затем на закладку "Команды формы" и нажмём зелёную кнопку с плюсиком:

121

Добавится новая команда формы. Выделим её двойным щелчком, чтобы открыть свойства:

122

В свойствах укажем имя "Поиск" и нажмём кнопку с лупой рядом с пунктом "Действие":

123

Первоначальное действие команды будет происходить на клиенте:

124

Нас перенесёт в автоматически созданную процедуру-обработчик для нашей команды:

125

Оставим эту процедуру пока пустой.

 
 

Шаг №41: превращаем команду в кнопку

Перетащим команду "Поиск" на элемент "Форма":

126

На форме появилась кнопка, связанная с командой "Поиск":

127

 
 

Шаг №42: сохраняем внешнюю обработку на диск

Кстати! Сохраним нашу обработку. Для этого выполним команду меню "Файл"->"Сохранить":

128

Выберем место и имя для сохранения:

129

Проверим, что из этого получилось.

 
 

Шаг №43: открываем внешнюю обработку в режиме 1С:Предприятие

Запустим 1С:Предприятие (меню "Отладка"->"Начать отладку", а затем уже в режиме 1С:Предприятие выполним команду "Файл"->"Открыть..."):

130

Выберем файл с внешней обработкой:

131

Открылась форма обработки с кнопкой "Поиск". Нажатие на кнопку пока ни к чему не приводит, ведь процедура-обработчик нашей команды пуста.

132

 
 

Шаг №44: добавляем на форму надписи

Вернёмся в конфигуратор в форму обработки, нажмём правой кнопкой на элементе "Форма" и выберем пункт "Добавить":

133

В качестве типа элемента выберем "Декорация - Надпись":

134

Откроем свойства добавившейся надписи:

135

Изменим имя на "НадписьПодарок":

136

Таким же образом добавим элемент "НадписьЦена":

137

Снова откроем свойства элемента "НадписьПодарок":

138

И установим в качестве заголовка пустое значение:

139

140

Проделаем то же самое с элементом "НадписьЦена". Должно получиться вот так:

141

 
 

Шаг №45: добавляем в модуль формы процедуру поиска

Перейдём в модуль формы (закладка "Модуль") и добавим процедуру, которая перебирает все элементы справочника "Подарок" и находит самый дорогой подарок:

Я попробовал написать сам, покажите мне эталонный вариант
 
 

Шаг №46: добавляем вызов процедуры поиска в обработчик команды

Наконец, добавим вызов этой процедуры в обработчик команды "Поиск":

143

Не забудем сохранить наши изменения через команду меню "Файл"->"Сохранить".

 
 

Шаг №47: проверяем окончательный вариант обработки

Запустим 1С:Предприятие, откроем обработку и снова нажмём на кнопку "Поиск". На форме появится подарок с самой высокой ценой:

144

Эталонная база, после выполнения всех шагов этого урока

В заключении модуля

Это был заключительный пример этого модуля на разработку конфигураций без использования запросов.

Со следующего модуля (ссылка) мы начинаем изучать запросы, а затем снова вернёмся к разработке конфигураций.

Если у вас в будущем (я советую делать это уже после окончания всей школы) возникнет потребность в более глубоком изучении разработки интерфейса прикладных решений - есть замечательная книга Е. Ю. Хрусталёвой (и её соавторов) "Разработка интерфейса прикладных решений на платформе 1С:Предприятие 8".

В этом модуле вы получили достаточные знания и практические умения, чтобы начать читать более серьёзную литературу по данной теме.

Мы отлично поработали, пора отдохнуть!

Продолжить обучение в школе программирования в 1С

Для учеников

Прибегайте к изучению эталонного варианта только после самостоятельного выполнения всех шагов.

На вопросы учеников — отвечаю по почте,  но прежде загляните в ЧАВО (ссылка) .

С уважением, Владимир Милькин