Считывает запись по установленным значениям ключевых атрибутов.
Синтаксис
Прочитать()Полное описание, параметры и ограничения
Прочитать (Read)
Расширение формы клиентского приложения для записи таблицы внешнего источника данных
Прочитать (Read)
Доступен, начиная с версии 8.3.5.
Синтаксис:
Прочитать()
Описание:
Считывает запись по установленным значениям ключевых атрибутов.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент.
Использование в версии:
Доступен, начиная с версии 8.3.5.
Методическая информация
Практические примеры
Перечитать собственную запись внешней таблицы
Источник — новая собственная SQL-база с приведёнными таблицами, полями и ключами. Основной код работает в настоящей форме, открытой стандартным действием для подготовленной строки.
Где и как запускать
Клиентская команда собственной управляемой формы УчебнаяСтрока (НеобъектныеДанные).
Подготовка
Только собственный локальный SQL Server и отдельная учебная база 1С без рабочих внешних источников. SQL-блок выполните вручную в SSMS своего экземпляра: он создаёт новую GuideExternalBooks и две собственные таблицы. Если имя уже занято, существующую базу не удаляйте и не заменяйте.
В ODBC Data Sources разрядности серверного процесса 1С создайте собственный System DSN GuideOwnBooks: ваш localhost SQL Server, база GuideExternalBooks, Windows-аутентификация. Пользователь серверного процесса 1С должен иметь доступ только к этой учебной базе. Настройте нормальное доверие сертификату драйвера, проверку TLS не отключайте.
В Конфигураторе создайте ВнешниеИсточникиДанных → УчебныеКниги, автоматическое управление блокировками. Таблица Карточки: имя dbo.lesson_items, тип ОбъектныеДанные, ТолькоЧтение Ложь; Код=book_id Строка20, Название=title Строка100, Количество=quantity Число9.0. Null запрещён, ПоляКлюча и ПоляБлокировкиДанных — Код, представление — Название.
Таблица Строки: имя dbo.lesson_lines, тип НеобъектныеДанные, ТолькоЧтение Ложь; Урок=lesson_id Строка20, Номер=line_no Число9.0, Название=title Строка100, Количество=quantity Число9.0. Null запрещён, поля ключа / блокировки — Урок и Номер именно в этом порядке.
Мастером создайте у Карточки управляемую форму объекта УчебнаяКарточка, а у Строки управляемую форму записи УчебнаяСтрока. Сохраните настоящие основные реквизиты и привяжите поля. Назначьте эти формы основными для редактирования таблиц и создайте стандартные формы списков.
В своей обработке с управляемой формой создайте команду ПодготовитьУчебноеСоединение. Отдельный блок настройки соединения относится только к модулю этой обработки; пользователь имеет административные права на свой источник. Настраивается только сеанс, не общие параметры чужого подключения.
После подключения откройте собственную таблицу через Функции для технического специалиста → Внешние источники данных → УчебныеКниги. Выберите подготовленную строку и откройте её штатной командой редактирования: Карточки с Код BOOK-1 либо Строки с Урок LESSON-1 и Номер 1. Не создавайте новый объект вместо открытия существующего.
Основной блок — собственная команда именно формы редактируемой строки / карточки, не произвольной общей формы. Добавьте реквизит СтатусУрока типа Строка200 и выведите его на эту форму. Ключевые поля не меняйте.
Для этой страницы используйте только УчебнаяСтрока и составной ключ LESSON-1 / 1.
Измените Количество в собственной форме без сохранения, затем вызовите ПеречитатьСвоюСтроку. Повторное чтение обновляет данные формы; несохранённые изменения собственной строки могут быть потеряны.
&НаКлиенте
Процедура ПеречитатьСвоюСтроку(Команда)
Прочитать();
СтатусУрока = "Обновлена существующая собственная строка внешней таблицы";
Сообщить(СтатусУрока);
КонецПроцедурыТолько вручную в SSMS своего локального SQL Server: новый учебный источник, не BSL
CREATE DATABASE GuideExternalBooks;
GO
USE GuideExternalBooks;
GO
CREATE TABLE dbo.lesson_items (
book_id nvarchar(20) NOT NULL PRIMARY KEY,
title nvarchar(100) NOT NULL,
quantity numeric(9,0) NOT NULL
);
CREATE TABLE dbo.lesson_lines (
lesson_id nvarchar(20) NOT NULL,
line_no numeric(9,0) NOT NULL,
title nvarchar(100) NOT NULL,
quantity numeric(9,0) NOT NULL,
PRIMARY KEY (lesson_id, line_no)
);
INSERT INTO dbo.lesson_items VALUES (N'BOOK-1', N'Учебная книга', 3);
INSERT INTO dbo.lesson_lines VALUES (N'LESSON-1', 1, N'Учебная строка книги', 3);Отдельная собственная обработка: сеансовое соединение с подготовленным DSN
&НаКлиенте
Процедура ПодготовитьУчебноеСоединение(Команда)
НастроитьСвойИсточник();
КонецПроцедуры
&НаСервереБезКонтекста
Процедура НастроитьСвойИсточник()
Источник = ВнешниеИсточникиДанных.УчебныеКниги;
Параметры = Источник.ПолучитьПараметрыСоединенияСеанса();
Параметры.СУБД = "MSSQLServer";
Параметры.СтрокаСоединения = "DSN=GuideOwnBooks;";
Параметры.АутентификацияОС = Истина;
Параметры.АутентификацияСтандартная = Ложь;
Параметры.ИмяПользователя = "";
Параметры.Пароль = "";
Источник.УстановитьПараметрыСоединенияСеанса(Параметры);
Источник.УстановитьСоединение();
КонецПроцедурыРазбор по шагам
Один раз вручную подготовьте собственную SQL-базу и точные метаданные внешнего источника.
Настройте сеансовое соединение и откройте свою существующую строку через её настоящую форму.
Выполните собственную команду формы и проверьте сохранённое значение / обновление / навигационную ссылку.
Как проверить результат
Форма получает сохранённое значение именно своей ранее открытой строки SQL; чтение не добавляет новую строку.
Рабочие источники не подключаются. Для проверки ошибки остановите только свой учебный источник: исключение не следует скрывать сообщением об успешном обновлении.
Ожидаемый результат
Метод формы связан с конкретной собственной таблицей, существующей строкой и правильно выбранным объектным / необъектным видом данных.
На что обратить внимание
Не запускайте подготовку / запись на рабочем SQL Server, не заменяйте DSN существующим чужим источником.
После урока закройте только своё соединение и оставьте собственные учебные данные для проверки. Удаление SQL-базы и таблиц примером не выполняется.
SQL и BSL здесь не запускались, соединения к 1С / SQL агентом не открывались; runtime-проверка отсутствует.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.