Как написать сообщение в 1с 7

Обновлено: 04.07.2024

Весь программный код всегда пишется в модулях. В платформе 1С есть много модулей: модуль объекта, общий модуль, модуль менеджера, модуль приложения и др. Самым главным является - модуль объекта.

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

1. Модуль приложения - обработка событий, связанных с запуском и завершением работы платформы.
2. Модуль внешнего соединения - так же, как и модуль приложения, предназначен для обработки событий, связанных с запуском и завершением платформы, но только в момент подключения к какой-то определенной информационной базе.
3. Модуль сеанса - предназначен для связи с объектом "параметры сеанса", их инициализация.
4. Общие модули - объекты, которые предназначены для хранения общих процедур и функций, к которым можно подключаться из любого объекта дерева конфигурации.
5. Модуль формы - предназначен для обработки событий определенных объектов при работе с ними пользователя.
6. Модуль объекта - предназначен для событий, которые обрабатываются сразу для всего объекта, а не только для формы объекта.
7. Модуль менеджера - предназначен для обработки событий, которые будут дополнять стандартный механизм платформы.

У каждого модуля есть свое расположение, но начнем с самого главного - модуль приложения (Рисунок 2).

Так как это начало работы системы, то нам необходимо использовать модуль приложения.

Откроем его (Рисунок 3).

На данный момент модуль пуст, так как вы не писали в нем еще ни одной строки программного кода.

Давайте запишем в этом модуле следующую процедуру (Рисунок 4).

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

Как было сказано выше, что данный модуль предназначен для обработки событий при запуске и завершении работы с платформой, а значит, что этот модуль нам дает возможность выбрать, когда мы хотим - при запуске или при завершении. Возможность эту можно посмотреть, нажав на выпадающий список (Рисунок 8).

В выпавшем списке выберем строку "ПередНачаломработыСистемы" и он появится в модуле выше нашей строки кода (Рисунок 9).

Пока вчитываться в саму процедуру ненужно, а нужно просто удалить строку зеленого цвета и вместо нее вставить нашу строку (Рисунок 10).

Рисунок 10 - Процедура перед началом работы системы Рисунок 10 - Процедура перед началом работы системы

На этом статья урока подходит к концу. Попробуйте выполнить все действия, которые описаны в этом уроке. Если что-то не получается, то вы всегда сможете написать вопрос о том, что вам непонятно или вернуться к предыдущим урокам и посмотреть их - ссылки внизу!

Ссылка для вступления телеграм-канал - t.me.Apiscourses

Подписаться в группу ВКонтакте

Прошлые уроки:

На этом все. Жду Вас на следующем занятии.

P.S. Подписывайтесь на мой канал :-)

программирование программирование 1с 1с предприятие обучение онлайн обучение 1с

Решим задачу создания двух рассылок. Во-первых, по электронной почте поздравим всех мужчин с 23 февраля. Во-вторых, всем владельцам бонусных карт магазина разошлем по СМС оповещение о начислении им 500 бонусных баллов и пригласим покупателей воспользоваться начисленными бонусами.

Применимость

Если же вы планируете начать внедрение 1С:Розница, то скорее всего будет использоваться более свежая редакция. Интерфейсы и её функционал могут отличаться.

Поэтому, мы рекомендуем пройти курс 1С:Розница 2 для автоматизации магазинов и сервисных компаний, это поможет вам избежать ошибок и потери времени / репутации.

Оформление e-mail рассылки

Прежде чем приступать к созданию e-mail нужно настроить системную учетную запись электронной почты.

Для этого в разделе Администрирование следует выбрать команду Органайзер.

1C Администрирование - Органайзер

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

Настройка системной учетной записи электронной почты

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

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

Системная учетная запись

Предварительно следует завести специальный почтовый ящик. Указываются стандартные настройки электронной почты: Адрес электронной почты, Имя отправителя писем, Сервер входящей/исходящей почты, Имя пользователя и Пароль.

Флаг Для получения писем, можно не указывать, т.к. информационные рассылки будут работать только на отправку исходящих писем.

Для проверки корректности настроек следует сохранить внесенные изменения и воспользоваться командой Проверить настройки.

Системная учетная запись - проверить настройки

Появится окно “Проверка учетной записи”.

Это ограничение можно обойти, используя порт 587, который обычно не блокируется.

Ошибка проверки учетной записи

В примере так и получилось. Поэтому требуется переопределить стандартный порт SMTP.

Настройка порта в Системной учетной записи

Успешная проверка учетной записи

Для формирования информационных рассылок будем использовать документ “Информационная рассылка”.

Чтобы этот документ стал доступен, необходимо чтобы в разделе Администрирование в настройках раздела Маркетинг была включена опция Скидки, наценки и ограничения продаж.

1С Администрирование - Маркетинг

После этого в разделе Маркетинг станет доступной команда Информационные рассылки в группе команд См. также.

По данной команде открывается список документов “Информационные рассылки”.

Создать рассылку в 1С:Розница

Сформировать документ “Информационная рассылка” можно вручную. Для этого следует в подменю Создать выбрать нужный вид рассылки. Для текущего примера выбираем пункт Создать E-mail рассылку.

Информационную рассылку можно также создать на основании документов “Маркетинговая акция” и “Начисления и списания бонусных баллов”. Ввод на основании рассмотрим позже на примере СМС рассылки.

В созданном документе в поле Тема укажем заголовок письма: “Поздравление с 23 февраля”.

Уважаемый [ПредставлениеКонтакта]!
Поздравляем Вас с Днем защитника Отечества!
Будьте крепкой опорой своей семье!

Внутри данного шаблона мы можем использовать определенные параметры.

Для вставки этих параметров предназначена специальная команда Вставить параметр. По её нажатию открывается форма для выбора параметра из доступных.

Настройка параметров шаблона

В форме можно выбрать один из пяти параметров:

Необходимо заполнить список адресатов. Стандартной командой Добавить можно добавлять произвольных адресатов по одному.

Для заполнения списка адресатов предназначена подменю команд Заполнить, в котором есть два варианта: По основанию (если рассылка вводится на основании другого документа) или По группе получателей скидки.

Добавить список адресатов рассылки

Появится форма выбора “Группы получателей скидки”
Создадим новую группу получателей и назовем ее “Все мужчины”.

Создание группы получателей

Создание группы получателей скидки

В качестве Способа формирования указываем Периодически обновлять. Созданную группу получателей скидки следует сохранить и открыть её Настройки.

На закладке Отбор указываем условие отбора “Пол Равно Мужской” и сохраняем изменения по команде Завершить редактирование.

Отбор получателей рассылки

После изменения настроек важно еще раз сохранить группу получателей скидки.

Для первоначального формирования списка группы можно воспользоваться командой Сформировать. Для просмотра текущего состава группы получателей скидки в панели навигации предназначена команда Состав группы.

Здесь мы также могли принудительно переформировать состав командой Сформировать группу.

Сформировать группу получателей

Выбираем созданную группу получателей скидок, и список получателей документа “Информационная рассылка” будет заполнен текущим составом группы.

Получатели информационной рассылки

Если для контакта не заполнится e-mail адрес, значит он не указан в карточке контакта.

e-mail адрес адресата

Для текущего примера оставим в списке получателей двух человек и укажем для них одинаковый e-mail ранее созданного тестового почтового ящика.

Отправка рассылки

Состояние рассылки изменилось на “Доставлено”. При наличии ошибок отправки, можно повторить отправку ошибочных писем командой Отравить только ошибочные.

Состояние рассылки

Проверим наличие отправленных писем в электронном почтовом ящике.

Рассылка в почтовом ящике

Текст письма тоже отображается корректно.

Отображение текста рассылки

Оформление СМС рассылки

Для настройки СМС рассылки в разделе Администрирование вновь выбираем команду Органайзер. В открывшейся форме воспользуемся командой Настройка отправки СМС.

1С Администрирование - Органайзер

В открывшейся форме нужно выбрать СМС провайдера из доступных: Билайн или МТС. Для доступа к сервисами отправки СМС данные провайдеры предоставляют специальный логин и пароль, которые указываются здесь же.

Выбор провайдера для рассылки

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

Тариф смс-рассылки

Данные условия не очень радуют.

on-line сервис по рассылке СМС

Прямое подключение к Билайн

Прямое подключение к МТС

Прямое подключение к Мегафон

Прямое подключение к Мегафон

Здесь цены делятся на два блока.

Отдельно располагается колонка тарифа с непрямым подключением (справа). Но этот вариант подразумевает негарантированную доставку. Цены здесь на каждую СМС ниже и не зависят от оператора.

Основным представлен новый тариф с прямым подключением. В этом случае гарантируется успешная доставка смс. Цены выше и зависят от оператора.

Данное деление появилось не так давно. Дело в том, что операторы сотовой связи с некоторых пор приступили к блокировкам внешних рассылок, отправленных от буквенно-цифровых имен через SMS-центры сторонних операторов.

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

Большим минусом сервисов on-line рассылок СМС является то, что системой 1С:Розница по умолчанию они не поддерживаются.

Выход из данной ситуации существует. Подсистема отправки СМС входит в состав библиотеки стандартных подсистем и предполагает расширение перечня поддерживаемых провайдеров. При необходимости, можно заказать программисту 1С доработку, и он пропишет отправку СМС через нужного провайдера.

Согласно поставленной ранее задаче, СМС рассылка связана с начислением бонусных баллов. Поэтому необходимо создать соответствующий документ “Начисление и списание бонусных баллов”.

Документ доступен, если в разделе Администрирование в настройках раздела Маркетинг установлен флаг Бонусные программы лояльности.

Администрирование - Маркетинг - Бонусные программы лояльности

Команды работы с документом Начисления и списания бонусных баллов располагаются в разделе Маркетинг в группе команд Бонусные программы.

Маркетинг - Бонусные программы - Начисления и списания бонусных баллов

Откроем список документов “Начисления и списания бонусных баллов”. и создадим новый документ.

Создание бонусной программы

Нужно указать бонусную программу лояльности. Список программ пуст, добавим новый элемент.

Бонусные программы лояльности

Условия бонусной программы

Определим наименование “Семейная”. Значения остальных параметров для текущего примера можно оставить по умолчанию.

Записываем и выбираем созданную бонусную программу в документе “Начисление и списание бонусных баллов”.

Выбрать бонусную программу

В табличной части Начисления вручную добавим несколько бонусных карт.

Добавление бонусных карт

Остальные параметры для формирования рассылки не потребуются, поэтому проводим данный документ. Создаем СМС рассылку на основании текущего документа.

Проведение документа

Откроется новый документ “Информационная рассылка”, и список адресатов в нем уже будет заполнен владельцами бонусных карт из документа начисления бонусных баллов. Номера телефонов заполнились из данных физических лиц.

Информационная рассылка

Добавление параметра

При выборе данного параметра открывается окно, в которое следует ввести вариант текста для мужского рода. Укажем соответствующий вариант.

Запись вариантов параметра

[ВыборМЖ(Уважаемый; Уважаемая)], [ПредставлениеКонтакта]!
Вам дополнительно начислено [НачисленоБаллов] баллов.
С учетом данного начисления на вашей карте сейчас [ОстатокБаллов] баллов.
Спешите ими воспользоваться!

Корректное формирование остатка баллов

Сформировать по шаблону

После отправки заполнится идентификатор или текст ошибки

PDF-версия статьи для участников группы ВКонтакте

Статья в PDF-формате

Статья продолжает цикл статей «Первые шаги в разработке на 1С».

В ней мы рассмотрим способы информирования пользователя, которые присутствуют в платформе «1С:Предприятие» 8, а также акцентируем ваше внимание на некоторых особенностях работы этих механизмов, эти особенности связаны с режимом использования модальности.

Применимость

В статье рассматривается функциональность:

  • Интерфейса в варианте «Версии 8.2» для конфигурации, разработанной на платформе «1С:Предприятие» 8.2.19.130
  • Интерфейса «Такси» для конфигурации, разработанной на платформе «1С:Предприятие» 8.3.4.496 до 8.3.9+
  • Интерфейса «Такси» для конфигурации, разработанной на платформе «1С:Предприятие» 8.3.10-8.3.11
  • отражение хода выполнения текущего процесса (показ стадии выполнения процесса; показ расчетных значений, полученных в ходе работы алгоритма);
  • выдача ошибок пользователю для возможного их исправления;
  • выдача рекомендаций;

Т.е. первым параметром является сам текст.

В концепции управляемого интерфейса значок всегда в виде восклицательного знака, переопределить его нельзя.

Но форма моментально закрывается, и пользователь не увидит, что для него выводилась какая-то информация.

Неправильное использование функции Сообщить

Тем не менее, функция Сообщить может использоваться для вывода информации о некоторых ошибках, например в момент проведения документа.

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

Функция Сообщить полностью поддерживается в Платформе 8.3. Ее можно использовать, и она будет работать (и в файловом варианте, и в клиент-серверном).

Так, программный код в Платформе 8.3 может быть исполнен как на стороне Клиента, так и на стороне Сервера.

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

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

В этот момент система запросит данные из буфера и выведет их на экран.

НаСервере Сообщить

Механизм оповещений

Механизм оповещений нужен, чтобы информировать пользователя о том, что в системе “что-то” произошло и это “что-то” требует внимания пользователя. Оповещения создаются двумя сценариями:

  1. Самой платформой при интерактивной записи или изменении объекта
  2. Разработчиком при вызове в коде метода ПоказатьОповещениеПользователя().

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

Механизм оповещений

Кроме того, к оповещениям можно обратиться в соответствующей области информационной панели (кнопка “История” слева внизу формы приложения в варианте интерфейса «Версии 8.2»).

Чтобы создавать свои собственные оповещения, необходимо использовать метод глобального контекста ПоказатьОповещениеПользователя(). Его синтаксис до редакции 8.3.10 представлен ниже:

ПоказатьОповещениеПользователя (<Текст>, <НавигационнаяССылка>, <Пояснение>, <Картинка>)

В первом параметре передается текст, который будет выводиться в оповещении.

Также можно присвоить картинку, отображающую статус оповещения.

Следует отметить, что все эти параметры являются необязательными для заполнения. Ниже приведен пример использования данного метода (в конфигураторе и в пользовательском режиме в варианте интерфейса «Версии 8.2»).

Механизм оповещений

Механизм оповещений

В редакции платформы 8.3.10.216 для интерфейса в варианте «Такси» механизм оповещений был существенным образом доработан с целью повышения удобства работы как в тонком, так и в веб-клиенте. По этой причине изменились и передаваемые параметры в метод ПоказатьОповещениеПользователя(). Теперь синтаксис выглядят так:

ПоказатьОповещениеПользователя(<Текст>, <ДействиеПриНажатии>, <Пояснение>, <Картинка>, <СтатусОповещенияПользователя>, <КлючУникальности>)

Видно, что второй параметр, ранее называемый НавигационнаяСсылка, получил новое имя ДействиеПриНажатии. Это связано с тем, что теперь в него стало возможным передавать не только строку с навигационной ссылкой, но и описание оповещения. Это проиллюстрировано скриншотом ниже:

Механизм оповещений

Как видно из примера, у нас появилась возможность программным образом обрабатывать нажатие на окно с оповещением, согласно той логике, которая необходима.

Следующий параметр СтатусОповещенияПользователя появился впервые. В нем указывается статус оповещения (Информация или Важное).

Механизм оповещений

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

Механизм оповещений

В панели инструментов появилась кнопка с пиктограммой звонка, по которой вызывается упомянутый выше Центр оповещений. В нем накапливаются новые важные оповещения, на которые пользователь пока никак не отреагировал.

Если в Центре есть какие-то оповещения, то рядом с ним появляется маленькая оранжевая точка, чтобы привлечь внимание пользователя. Пользователь может открыть Центр оповещений, прочитать текст и, если необходимо, выполнить какие-то действия.

Механизм оповещений

И наконец, последним добавленным параметром стал КлючУникальности. С его помощью можно найти отображенное на экране оповещение и изменить его. Если же оповещения с таким параметром нет, то будет показано новое оповещение.

Как видим, возможностей, предоставляемых соответствующим методом, стало еще больше! Но это не все изменения в механизме оповещений.

Как вы уже, наверное, успели заметить, изменился их внешний вид. Теперь оповещения выглядят более современно и эргономично, но их нельзя перемещать по экрану и изменять их размер. Обратите внимание, в нашем примере, текст оповещения попросту не поместился целиком в самом окне, и прочитать его полностью пользователь сможет, только открыв Центр Оповещений. Поэтому не стоит в текст оповещения писать большое количество текста.

Также к новым возможностям относится и одновременное отображение на экране до трех оповещений.

На этом завершим наше знакомство с программным формированием оповещений. Однако вспомним, что оповещения формируются не только разработчиком программно, но и самой платформой в момент интерактивной записи или изменения объекта. И часто этот факт вызывает непонимание в первую очередь у начинающих пользователей: зачем нужны эти служебные оповещения, которые, кстати, нельзя отключить?

Давайте представим такую простую ситуацию: пользователь установил фильтр в каком-то списке для удобства. Допустим, он сделал это в форме списка справочника Номенклатуры. Потом, через какое-то время, решил ввести новый элемент с наименованием “Стул”, который не соответствует установленному ранее фильтру. Вводит его, записывает и…? И не видит его в списке. Что будет делать среднестатистический пользователь? Конечно, введет его второй раз, но опять не увидит. Дальше может последовать третий, четвертый, пятый раз. Когда ему надоест вводить одно и тоже, он, наконец, спросит у вас: а куда все пропадает?

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

Механизм оповещений

Выведем какое-нибудь предупреждение с помощью строки (например, в модуле управляемого приложения):

Предупреждение(“Сейчас будет открыта база”);

Чтобы открыть модуль управляемого приложения, следует в дереве конфигурации выбрать объект Конфигурация, вызвать контекстное меню и выбрать пункт Открыть модуль управляемого приложения.

Открытие модуля управляемого приложения

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

Модальное окно

Аналогичным образом работает и функция Вопрос.

Синтаксис:
Вопрос(<ТекстВопроса>,<Кнопки>,<Таймаут>,<КнопкаПоУмолчанию>,<Заголовок>,
<КнопкаТаймаута>);

Обязательными являются только первые два параметра. Для второго параметра тип данных составной (РежимДиалогаВопрос или СписокЗначений). Третий параметр (<Таймаут>) характеризует интервал времени в секундах, в течение которого система будет ожидать ответа пользователя.

По истечении интервала окно вопроса будет закрыто. Аналогичный параметр(<Таймаут>) есть и у функции Предупреждение.

В качестве примера использования функции Вопрос можно использовать следующий код, записанный в модуле управляемого приложения:

Модуль управляемого приложения

Использование функции Вопрос

Обращаю Ваше внимание, что данные методы (Предупреждение и Вопрос) не доступны на Сервере. И это логично, потому что интерфейсные методы не могут быть выполнены на Сервере, где нет пользователя.

Особенности использования модальных окон в Платформе 8.3

В платформе 8.3 существуют режимы работы с использованием и без использования модальности. По умолчанию стоит настройка Не использовать режим модальности.

Режим использования модальности

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

Во-первых, проблемы по использованию модальных окон возникают для мобильного приложения. Во-вторых, в браузере модальность окон реализуется с помощью отдельных всплывающих окон.

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

Браузеры для планшетных компьютеров и для телефонов в большинстве случаев вообще не поддерживают всплывающие окна.

Для замены функций Вопрос и Предупреждение разработаны новые методы: ПоказатьВопрос, ПоказатьПредупреждение.

Эти методы позволяют вызывать окно, но не останавливать выполнение программного кода. Технически это реализуется формированием псевдоокна внутри родительского окна. Псевдоокно не перекрывает родительское окно. После открытия такого окна код продолжает выполняться.

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

Синтаксис функции ПоказатьПредупреждение:

ПоказатьПредупреждение(<ОписаниеОповещенияОЗавершении>, <ТекстПредупреждения>, <Таймаут>, <Заголовок>)

Параметр <ОписаниеОповещенияОЗавершении> (необязательный)

Тип данных: ОписаниеОповещения.

Содержит описание процедуры, которая будет вызвана после закрытия окна предупреждения.

Синтаксис функции ПоказатьВопрос:

ПоказатьВопрос(<ОписаниеОповещенияОЗавершении>, <ТекстВопроса>, <Кнопки>, <Таймаут>, <КнопкаПоУмолчанию>, <Заголовок>, <КнопкаТаймаута>)

Обязательными являются первые три параметра.

Ниже приведен пример использования функции.

Процедура ОписаниеОповещения

Пример функции оповещения в 1С

Таким образом мы создаем экземпляр данного объекта.

Внимание! Для привязки к нужному полю формы обратите внимание на инициализацию свойств ПутьКДанным и КлючДанных. Применительно для документа при размещении кода в модуле объекта можно писать:

Чтобы открыть модуль документа, следует в окне редактирования объекта (документа) на закладке Прочее нажать на кнопку Модуль объекта.

Для эксперимента в модуле объекта какого-либо документа разместим код.

Ниже представлен полученный в пользовательском режиме результат для Платформы 8.3.

Соответственно, в момент обнаружения ошибок отменяется транзакция, т.е. запрещается запись элемента справочника, либо запрещается проведение документа.

Уведомление о состоянии процесса

Существует специальная функция, с помощью которой можно отображать примерный ход выполнения какого-либо процесса.

Вызов функции

При этом могут меняться надписи, а могут изменяться значения параметра Прогресс.

Функция может вызываться как из одной процедуры (функции), так и из нескольких. Таким образом можно отслеживать состояние выполнения процесса.

Состояние выполнения процесса

Если вы хотите ознакомиться с механизмом уведомления более подробно, то прямо сейчас прервитесь и прочтите нашу новую статью Отображение прогресса длительных операций в 8.3.10. В ней уже не на уровне новичка объясняются все тонкости и подводные камни работы этого механизма.

Мы же завершаем знакомство со способами информирования пользователя. Надеемся, что у вас сложилось понимание, в каких ситуациях следует применять тот или иной способ.

Хочется еще раз акцентировать ваше внимание на том факте, что если ваша конфигурация (версии 8.3.3+) предполагает работу с помощью веб-клиента, то:

  • на уровне конфигурации должна быть установлена настройка режима модальности «Не использовать»
  • в коде должны использоваться методы асинхронной модели взаимодействия с пользователем. Такие методы начинаются со слов Показать или Начать.

Более подробно об отказе от использования модальных окон в платформе 1С:Предприятие 8.3 можно почитать в финальной статье цикла. А мы идем дальше и, наконец, приступаем к изучению долгожданного интерфейса «Такси», который уже не раз упоминался в наших материалах.


PDF-версия статьи для участников группы ВКонтакте

Статья в PDF-формате

Список значений используется в двух случаях:

  1. При работе с формами: при размещении на форме элементов управления типа Список и ПолеСоСписком , они автоматически связываются с объектом типа СписокЗначений ;
  2. При работе с кодом: для хранения каких-либо расширяемых списочных данных вы создаете нужное количество объектов типа СписокЗначений ;

Хочется отметить, что объекты типа СписокЗначений не хранятся в информационной базе.

Создание списка значений

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

Инициализация элементов списка значений

Каждый элемент списка значений характеризуется следующими свойствами:

По умолчанию, список значений создается пустым. Для добавления нового элемента списка значений, используется метод ДобавитьЗначение() объекта:

Обратите внимание, что вместе со значением Вы можете указать его строковое представление.

Манипуляция элементами списка

Над элементами списка значений возможны различные действия, включая вставку новых элементов, сортировку, изменение и удаление существующих.

Вставка новых значений возможна в произвольное место списка. Для этого используется метод ВставитьЗначение():

Для получения значения элемента списка по номеру используется метод ПолучитьЗначение() объекта:

Удаление элементов списка производится с помощью метода УдалитьЗначение():

Интерактивные функции

Объект СписокЗначений имеет несколько методов, позволяющих взаимодействовать с пользователем. Например, с помощью метода ВыбратьЗначение() можно предложить пользователю выбрать одно из значений:

Также, можно предложить пользователю отметить одно или несколько элементов списка. Для этого используется метод ОтметитьЗначения(), который выводит список с пометками (checkboxes):

Найти все отмеченные пользователем значения можно, используя перебор элементов в цикле, и метод Пометка(), который возвращает статус пометки элемента:

Перебор элементов списка значений

Для перебора (обхода) всех элементов списка значений обычно используется оператор цикла Для:

Читайте также: