Добавить в корзинуПозвонить
Найти в Дзене

1с как получить документссылка

Получить ДокументСсылка в 1С можно несколькими способами, в зависимости от того, откуда вы хотите ее получить и в каком контексте находитесь. Вот основные методы и примеры: 1. Из выбора пользователя (например, из поля выбора, из формы списка): Описание: Пользователь выбирает документ в поле выбора или в форме списка, и вам нужно получить ссылку на этот документ. Пример (в обработчике события “ОбработкаВыбора” поля выбора): Процедура ПолеВыбораОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) Если ТипЗнч(ВыбранноеЗначение) = Тип("ДокументСсылка. РеализацияТоваровУслуг") Тогда // Выбран документ "Реализация товаров и услуг" МояСсылкаНаДокумент = ВыбранноеЗначение; // Дальнейшие действия с ссылкой на документ Сообщить("Выбран документ: " + МояСсылкаНаДокумент); КонецЕсли; КонецПроцедуры Пояснения: ВыбранноеЗначение содержит значение, выбранное пользователем. ТипЗнч(ВыбранноеЗначение) = Тип("ДокументСсылка. РеализацияТоваровУслуг") проверяет, что выбранный элемент является

Получить ДокументСсылка в 1С можно несколькими способами, в зависимости от того, откуда вы хотите ее получить и в каком контексте находитесь. Вот основные методы и примеры:

1. Из выбора пользователя (например, из поля выбора, из формы списка):

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

Пример (в обработчике события “ОбработкаВыбора” поля выбора):

Процедура ПолеВыбораОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

Если ТипЗнч(ВыбранноеЗначение) = Тип("ДокументСсылка. РеализацияТоваровУслуг") Тогда

// Выбран документ "Реализация товаров и услуг"

МояСсылкаНаДокумент = ВыбранноеЗначение;

// Дальнейшие действия с ссылкой на документ

Сообщить("Выбран документ: " + МояСсылкаНаДокумент);

КонецЕсли;

КонецПроцедуры

Пояснения:

ВыбранноеЗначение содержит значение, выбранное пользователем.

ТипЗнч(ВыбранноеЗначение) = Тип("ДокументСсылка. РеализацияТоваровУслуг") проверяет, что выбранный элемент является ссылкой на документ “Реализация товаров и услуг”. Замените РеализацияТоваровУслуг на имя вашего документа.

МояСсылкаНаДокумент = ВыбранноеЗначение — присваивает ссылку на документ переменной МояСсылкаНаДокумент.

2. Из кода (по известным критериям, например, по номеру и дате):

Описание: Вам нужно найти документ в базе данных по известным критериям (например, по номеру и дате) и получить ссылку на него.

Пример:

НомерДокумента = "РТУ-00001";

ДатаДокумента = Дата(2023, 10, 26);

Запрос = Новый Запрос;

Запрос. Текст =

"ВЫБРАТЬ

| РеализацияТоваровУслуг. Ссылка

|ИЗ

| Документ. РеализацияТоваровУслуг КАК РеализацияТоваровУслуг

|ГДЕ

| РеализацияТоваровУслуг. Номер = &НомерДокумента

| И РеализацияТоваровУслуг. Дата = &ДатаДокумента";

Запрос. УстановитьПараметр("НомерДокумента", НомерДокумента);

Запрос. УстановитьПараметр("ДатаДокумента", ДатаДокумента);

РезультатЗапроса = Запрос. Выполнить();

Если Не РезультатЗапроса. Пустой() Тогда

Выборка = РезультатЗапроса. Выбрать();

Выборка. Следующий();

СсылкаНаДокумент = Выборка. Ссылка;

// Дальнейшие действия с ссылкой на документ

Сообщить("Найдена ссылка на документ: " + СсылкаНаДокумент);

Иначе

Сообщить("Документ с указанными номером и датой не найден.");

КонецЕсли;

Пояснения:

Создается запрос, который ищет документ “Реализация товаров и услуг” по номеру и дате. Замените РеализацияТоваровУслуг на имя вашего документа.

Запрос. УстановитьПараметр() — устанавливает параметры запроса.

РезультатЗапроса. Выбрать() — получает выборку из результата запроса.

Выборка. Следующий() — переходит к первой записи в выборке.

СсылкаНаДокумент = Выборка. Ссылка — присваивает ссылку на документ переменной СсылкаНаДокумент.

3. Из объекта (например, из документа, который уже открыт):

Описание: У вас есть объект (например, документ, который открыт в форме), и вам нужно получить ссылку на этот объект.

Пример:

// В процедуре обработки события "ПриОткрытии" формы документа

Процедура ПриОткрытии(Отказ)

СсылкаНаДокумент = Объект. Ссылка;

// Дальнейшие действия с ссылкой на документ

Сообщить("Ссылка на текущий документ: " + СсылкаНаДокумент);

КонецПроцедуры

Пояснения:

Объект — это объект данных, который отображается в форме.

Объект. Ссылка — возвращает ссылку на объект.

4. Из табличной части другого документа:

Описание: В табличной части одного документа содержится ссылка на другой документ, и вам нужно получить эту ссылку.

Пример:

// В цикле по строкам табличной части

Для Каждого СтрокаТЧ Из Объект. Товары Цикл

СсылкаНаДокумент = СтрокаТЧ. ДокументОснование; // Предполагаем, что в ТЧ есть колонка "ДокументОснование"

// Дальнейшие действия с ссылкой на документ

Сообщить("Ссылка на документ основание: " + СсылкаНаДокумент);

КонецЦикла;

Пояснения:

Объект. Товары — это табличная часть документа.

СтрокаТЧ. ДокументОснование — это колонка табличной части, содержащая ссылку на другой документ. Замените ДокументОснование на имя вашей колонки.

5. Преобразование строки в ссылку (если у вас есть строковое представление ссылки):

Описание: У вас есть строка, содержащая представление ссылки на документ, и вам нужно преобразовать ее в объект ДокументСсылка.

Пример:

СтрокаПредставленияСсылки = "Документ. РеализацияТоваровУслуг. cc6c671f-44a9-495b-937c-077a3c61d2a4";

Попытка

СсылкаНаДокумент = СтрокаПредставленияСсылки. ПолучитьОбъект(); // Использовать ПолучитьОбъект(), если нужно получить сам объект, а не ссылку

// Дальнейшие действия с ссылкой на документ

Сообщить("Ссылка на документ: " + СсылкаНаДокумент);

Исключение

Сообщить("Не удалось преобразовать строку в ссылку на документ.");

КонецПопытки;

Пояснения:

СтрокаПредставленияСсылки — это строка, содержащая представление ссылки на документ (например, “Документ. РеализацияТоваровУслуг. cc6c671f-44a9-495b-937c-077a3c61d2a4”).

СтрокаПредставленияСсылки. ПолучитьОбъект() — преобразует строку в объект ДокументСсылка.

Важные моменты:

Тип ссылки: Убедитесь, что вы используете правильный тип ссылки (например, ДокументСсылка. РеализацияТоваровУслуг, СправочникСсылка. Номенклатура).

Проверка на NULL: Всегда проверяйте, что полученная ссылка не равна NULL (Пустая ссылка). Это можно сделать с помощью функции ЗначениеЗаполнено().

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

Права доступа: Убедитесь, что у пользователя, выполняющего код, есть права на чтение данных из нужного документа.

Отладка: Используйте отладчик для пошагового выполнения кода и анализа значений переменных.

Выбор способа получения ДокументСсылка зависит от конкретной ситуации и контекста, в котором вы работаете.

  📷
📷