2.68M

№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.

Отладка
Обойдем ошибку с помощью конструкции Попытка…
Исключение..
Конструкцию Попытка… Исключение.. рекомендуют
выбирать только тогда, когда решить ошибку не
представляется возможным
English     Русский Rules