Similar presentations:
№5_2_Загрузка_данных_в_таблицу_Отладка
1.
Загрузка данных в таблицу.Отладка
2.
ЗадачаЗагрузить
в
сотрудниках
таблицу
значений
Фамилия, Имя, Отчество, СНИЛС
Иванов, Иван, Петрович, 12345678910
Данные хранятся в текстовом файле
информацию
о
3.
Задача1. Создадим форму в ветке
«Общее» – «Общие формы»
Общие формы — формы,
которые доступны из места
конфигурации.
Обычно
общие формы используются
для
форм
настроек
программы
и
других
сервисных
функций.
Например,
прикрепление
файла к документу, установка
ЭЦП,
структура
подчиненности,
установка
прав
доступа,
печать
документов, рабочие столы и
т.д.
4.
Задача2. На форме добавим реквизит Имя каталога, который
будет хранить путь к каталогу
5.
Задача3. На форме добавим реквизит, в который
выводиться информация из файла
будет
6.
Задача4. Настроим функциональность поля «Имя каталога»
7.
Задача5. Создадим процедуру при открытии, для описания
логики при нажатии на кнопку открытия
8.
Задача6. Создадим событие при открытии
9.
Задача7. Опишем реакцию системы, если пользователь выбрал
каталог
Метод Выбрать() возвращаемое значение Истина выбор/сохранение завершено успешно; Ложь - в противном
случае.
Диалог.Каталог содержит значение текущего каталога. В
режиме выбора каталога может использоваться для
определения выбранного каталога.
10.
Задача8. Включаем синхронные вызовы в настройках
конфигурации, в связи с тем, что будем
работать с файловой системой.
По умолчанию синхронные вызовы запрещены
в 1С, потому что они блокируют работу системы
на время выполнения.
Режим использования синхронных вызовов
расширений и внешних компонент – свойство
управляет
возможностью
использовать
синхронные
вызовы
для
работы
с
расширениями
работы
с
файлами,
криптографией и внешними компонентами.
https://its.1c.ru/db/v836doc#bookmark:dev:TI000000173
11.
Задача9. Запускаем систему. Стандартно система выводит
сообщение с именем каталога. Чтобы отключить такое
поведение,
необходимо
возвести
параметр
СтандартнаяОбработка в значение Ложь
12.
Задача10. Подготовим файл и папку с тестовыми данными, в
папке должен быть только наш файл
13.
Задача11. Отредактируем поле для загрузки данных
14.
Задача12. Добавим команду «Загрузить данные» и перенесем её
на форму
15.
Задача13. Добавим команде ее обработчик
16.
Задача13. Теперь нам необходимо считать информацию из
текстовых файлов, для этого нам понадобится текстовый
документ.
Текстовый документ — это общий объект встроенного
языка. Он позволяет представлять различную информацию
(в том числе и результаты отчетов) в виде текстов.
Перед тем, как грузить
какие-то
данные
в
реквизит(тестовый
документ), нужно стереть
старые данные, которые
были загружены ранее
17.
Задача14. Находим файлы в каталоге с помощью функции
«НайтиФайлы». Функция возвращает массив(смотри в
Синтакс-помощнике)
18.
Задача15. Обойдем наш массив с помощью цикла
19.
Задача16. Теперь нам нужно прочитать наш файл
20.
Задача17. Запишем данные из файла в поле
СтрокаВнешнихДанных
21.
Задача18. Тестируем
22.
Задача19. Теперь загрузим нашу строку внешних данных в
таблицу значений. Для этого определяем структуру
Фамилия
Имя
Отчество
СНИЛС
23.
Задача20. Затем создаем новую команду
24.
Задача21. Создаем обработчик команды. Выбираем обработчик команды «Создать
на клиенте и процедуру на сервере» в связи с тем, что таблица значений не
может существовать на клиенте.
Директива препроцессора — это специальный способ указать командой
препроцессору 1С, где будет выполнен код 1С. В качестве примера можно
привести тот факт, что нельзя выдать пользователю диалоговое сообщение
на сервере – это будет работать только на клиенте.
Директива 1С определяется символом "&".
Допустимые директивы 1С:
&НаКлиенте (&AtClient)
&НаСервере (&AtServer)
&НаСервереБезКонтекста
(&AtServerNoContext)
&НаКлиентеНаСервереБезКонтекста
(&AtClientAtServerNoContext)
&НаКлиентеНаСервере (&AtClientAtServer)
25.
ЗадачаВ директивах 1С БезКонтекста недоступны реквизиты формы и экспортные
переменные формы 1С, но доступен вызов процедур и функций 1С из
серверных общих модулей 1С 8.3.
По умолчанию если перед процедурой (функцией) ничего не указано, то
применяется директива 1С &НаСервере.
Перед одной процедурой (функцией) нельзя применять одновременно
несколько директив компиляции.
Также недопустимо наличие процедур (функций) с одинаковым именем,
отличающихся только директивами компиляции.
26.
Задача22. Опишем наши колонки. Создадим структуру, с
названиями колонок
27.
Задача22. Опишем тип значения для колонки СНИЛС
(Про ОписаниеТипов смотри в Синтакс-помощник)
28.
Задача23. Создадим Таблицу значений и зададим ей колонки
29.
Задача24. Запишем наши данные в таблицу, но перед этим их
разделим
Описание СтрРазделить смотри в Синтакс-помощнике)
30.
Задача25. Запишем наши данные в таблицу
31.
ЗадачаПРОФИТ!
Мы прекрасны!
32.
ОтладкаПодробно об отладке: https://v8.1c.ru/platforma/otladchik/
33.
ОтладкаРежим отладки – это механизм, предназначенный
для пошагово выполнения программного кода.
Шаг 1
Шаг 2
+ 1; Шаг 3
МояПеременная = 5;
МояПеременная = МояПеременная
Сообщить(МояПеременная);
34.
ОтладкаТочка останова — это некая точка в программном
модуле,
на
которой
выполнение
модуля
приостанавливается
и
управление
перехватывает
отладчик. Точку останова можно установить с любой
строке модуля и в любой момент работы с отладчиком.
Место
установки
точки
останова
отмечается
соответствующим знаком
Для отладки нам необходимо поставить точку останова
на нужной строке.
35.
ОтладкаПротестируем наш алгоритм. Изменим тестовый файл,
начнем нашу отладку с ошибки.
36.
ОтладкаКогда пользователь подходит к нам с подобными
ошибками, то ВАЖНО выяснить порядок действий,
который привел к этой ошибке и постараться
воспроизвести её на свое рабочем месте в режиме
отладки с теми же данными что и у клиента
37.
ОтладкаПовторяем действия пользователя и вызываем окно
перехода в блок с ошибкой
38.
ОтладкаТочка останова устанавливается:
- двойным щелчком мыши
напротив нужной строки,
которую мы хотим отладить
- С помощью меню Отладка –
Точка останова
- Кнопкой F9
39.
ОтладкаВ режиме Предприятие повторно грузим наш файл
и попадаем в конфигуратор. Стрелка на рисунке
показывает на каком шаге мы находимся (где
остановился компилятор)
40.
ОтладкаРассмотрим управляющие кнопки
1. Сделать один шаг вперед
2. «Шагнуть через» – процедура или функция, на
которой мы стоим, выполнится, но мы в неё не
попадем
41.
ОтладкаРассмотрим управляющие кнопки
3. «Шагнуть из» – процедура или функция, в которой
мы стоим, выполнится, но мы вернемся в её место
вызова
4. «Шагнуть до курсора» - шагнет до той строки, в
которой у нас находится курсор
42.
ОтладкаРассмотрим управляющие кнопки
Если вы потерялись, то можно нажать кнопку
«Текущая строка», чтобы попасть в ту строку, где вы
находитесь
43.
ОтладкаПосмотреть значение можно:
- Наведя мышкой на переменную
44.
ОтладкаПосмотреть значение
можно:
- С помощью команды
«Вычислить выражение»
45.
ОтладкаПосмотреть значение можно:
- По кнопке «Включить в табло» в выражении. На
табло можно видеть изменение переменной
46.
ОтладкаПосмотреть значение можно:
- Табличные данные можно увидеть в виде таблицы,
нажав на кнопку «Посмотреть значение в отдельном
окне
47.
ОтладкаТочка останова по ошибке
48.
ОтладкаТочка останова по ошибке
Мы попали в то место, где еще нет ошибки, но сейчас
возникнет
49.
ОтладкаВыведем данные в табло
Мы видим, что 5 колонки нет в нашей таблице, а в
массиве она есть
50.
ОтладкаРасчет данных в выражении
51.
ОтладкаОбойдем ошибку с помощью конструкции Попытка…
Исключение..
Конструкцию Попытка… Исключение.. рекомендуют
выбирать только тогда, когда решить ошибку не
представляется возможным