В качестве примера работы функций работы со строками 1С мы хотели бы создать автоматический анализ текста. Текст мы будем брать из файла. Результат анализа выводить в произвольном виде пользователю.
Нам нужно создать внешнюю обработку, которая позволит нам выбрать текстовый файл и запустить анализатор.
Анализ текста 1С — форма и кнопки
Итак, создаем внешнюю обработку: Конфигуратор/Файл/Новый/Внешняя обработка.
Добавляем форму. На форме нам нужно разместить поле выбора текстового файла и кнопку анализа.
Анализ текста 1С — толстый клиент
На форму разместим обычное текстовое поле. Длина строки – неограниченная, ведь путь к файлу (имена каталогов) может быть значительным.
Чтобы пользователю не пришлось вписывать имя файла, а можно было выбрать его – у поля включим кнопку выбора.
Имя поля изменим на «ИмяФайла», имя связанного реквизита формы изменится на такое же автоматически.
В качестве кнопки будем использовать автоматически добавленную платформой кнопку «Выполнить» (и у нее уже подключен обработчик – удобно).
Анализ текста 1С — тонкий клиент
В тонком клиенте мы самостоятельно создадим реквизит формы «ИмяФайла». Перетащим реквизит на форму. В свойствах элемента формы также включим кнопку выбора.
В качестве кнопки – создадим команду «Выполнить», назначим ей обработку и перетащим на форму.
Анализ текста 1С — программируем
Первое, что нам нужно сделать – обработать нажатие кнопки выбора – показать по нажатию диалог выбора файла.
Зайдем в свойства нашего текстового поля на форме (в толстом клиенте – левой кнопкой мыши прямо на поле, в тонком – на имя поля в списке), и укажем обработчик события «НачалоВыбора».
Внутри функции обработчика, которую создаст 1С при назначении, впишем нехитрый код:
Теперь у нас есть имя файла. Нам нужно «достать» его содержимое и вызвать анализ текста.
У нас уже есть обработчик кнопки «Выполнить». В толстом клиенте кнопка и ее обработчик были созданы автоматически конфигуратором 1С. В тонком клиенте мы добавляли ее ручками.
Впишем в обработчик код, который считает файл в строку:
Касательно кодировки файла. Если создать объект ЧтениеТекста() без параметра с указанием кодировки – 1С попытается самостоятельно определить кодировку (по сигнатуре Byte Order Mark – BOM, или будет считать его кодировку ANSI).
Вы можете указать нужную кодировку напрямую, например так:
Файл = Новый ЧтениеТекста(ИмяФайла, "UTF-8"); //имя кодировки подставить нужное
Итак, в результате у нас получилось:
- Текстовая строка, считанная из файла в переменной «Текст»
- Процедура, в которой мы будем анализировать полученную строку из переменной, с названием «АнализТекста()», используя функции работы со строками 1С
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.