ВнешнийИсточникДанныхТаблицаЗапись.<Имя внешнего источника>.<Имя таблицы внешнего источника данных>.<Имя поля>

Свойства · <Имя поля>

Тип: Произвольный. Содержит значение поля.

Полное описание, параметры и ограничения

ВнешнийИсточникДанныхТаблицаЗапись.<Имя внешнего источника>.<Имя таблицы внешнего источника данных>.<Имя поля> (ExternalDataSourceTableRecord.<External source name>.<Table of external data source name>.<Имя поля>)

ВнешнийИсточникДанныхТаблицаЗапись.<Имя внешнего источника>.<Имя таблицы внешнего источника данных> (ExternalDataSourceTableRecord.<External source name>.<Table of external data source name>)

<Имя поля> (<Имя поля>)

Доступен, начиная с версии 8.2.

Использование:
Только чтение.
Описание:
Тип: Произвольный.
Содержит значение поля.
Доступность:

Сервер, толстый клиент, внешнее соединение.

Использование в версии:

Доступен, начиная с версии 8.2.

Методическая информация

Практические примеры

Изменить динамическое поле собственной строки внешнего набора только в памяти

Динамические имена и поля относятся к точной своей схеме SQL, метаданным УчебныеКниги и подготовленной строке. Объектные и необъектные данные не смешиваются.

Где и как запускать

Тело процедуры своей кнопки обычной формы, толстый клиент Windows: перед основным кодом блок собственного соединения.

Подготовка

  1. Только собственный локальный SQL Server и отдельная учебная база 1С без рабочих внешних источников. SQL-блок выполните вручную в SSMS своего экземпляра: он создаёт новую GuideExternalBooks и две собственные таблицы. Если имя уже занято, существующую базу не удаляйте и не заменяйте.

  2. В ODBC Data Sources разрядности серверного процесса 1С создайте собственный System DSN GuideOwnBooks: ваш localhost SQL Server, база GuideExternalBooks, Windows-аутентификация. Пользователь серверного процесса 1С должен иметь доступ только к этой учебной базе. Настройте нормальное доверие сертификату драйвера, проверку TLS не отключайте.

  3. В Конфигураторе создайте ВнешниеИсточникиДанных → УчебныеКниги, автоматическое управление блокировками. Таблица Карточки: имя dbo.lesson_items, тип ОбъектныеДанные, ТолькоЧтение Ложь; Код=book_id Строка20, Название=title Строка100, Количество=quantity Число9.0. Null запрещён, ПоляКлюча и ПоляБлокировкиДанных — Код, представление — Название.

  4. Таблица Строки: имя dbo.lesson_lines, тип НеобъектныеДанные, ТолькоЧтение Ложь; Урок=lesson_id Строка20, Номер=line_no Число9.0, Название=title Строка100, Количество=quantity Число9.0. Null запрещён, поля ключа / блокировки — Урок и Номер именно в этом порядке.

  5. Основной блок и блок соединения выполните в теле одной процедуры кнопки собственной обычной формы, толстый клиент Windows. Сначала настройка своего сеансового соединения, затем основной блок. Управляемая форма и её обработчики здесь не нужны.

  6. Толстый клиент выбран явно: публичный Прочитать менеджера записи внешней таблицы в установленной справке доступен только ему. Не переносите этот вызов в серверную процедуру по аналогии с обычным регистром сведений.

  7. Источник и DSN принадлежат только этой учебной задаче. Пример закрывает только это собственное соединение. Данные SQL предварительно созданы вручную и дальше только читаются.

Попытка
    Набор = Источник.Таблицы.Строки.СоздатьНаборЗаписей();
    Набор.Отбор.Урок.Установить("LESSON-1");
    Набор.Прочитать();
    Для Каждого СтрокаКниги Из Набор Цикл
        Сообщить(СтрокаКниги.Название);
        СтрокаКниги.Количество = 4;
        Сообщить("В своём буфере: " + Строка(СтрокаКниги.Количество));
    КонецЦикла;
Исключение
    Источник.РазорватьСоединение();
    ВызватьИсключение;
КонецПопытки;
Источник.РазорватьСоединение();
Вручную в своём SSMS: новые учебные таблицы и две строки, не 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);
Перед основным блоком в той же процедуре толстого клиента: только своё соединение
Источник = ВнешниеИсточникиДанных.УчебныеКниги;
Параметры = Источник.ПолучитьПараметрыСоединенияСеанса();
Параметры.СУБД = "MSSQLServer";
Параметры.СтрокаСоединения = "DSN=GuideOwnBooks;";
Параметры.АутентификацияОС = Истина;
Параметры.АутентификацияСтандартная = Ложь;
Параметры.ИмяПользователя = "";
Параметры.Пароль = "";
Источник.УстановитьПараметрыСоединенияСеанса(Параметры);
Источник.УстановитьСоединение();

Разбор по шагам

  1. Создайте вручную собственный SQL-источник и точное отображение его двух таблиц.

  2. Установите собственное соединение и получите конкретный менеджер / ключ / ссылку / набор.

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

Как проверить результат

  1. Собственный набор ограничен Урок=LESSON-1, имя строки прочитано из SQL.

  2. Количество=4 меняется только у строки набора в памяти. Без Набор.Записать сохранённое SQL-значение остаётся 3.

Ожидаемый результат

Именованный доступ и поля внешней таблицы показаны с настоящим источником, ключом и явным объектным / необъектным видом.

На что обратить внимание

  1. Не добавляйте в этот пример запись или удаление внешних строк; он предназначен для чтения и собственного буфера.

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

  3. SQL, DSN, подключения и BSL здесь не выполнялись; это ручная подготовка только собственной учебной среды.

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

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.