База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как проверить существование документа по номеру и дате в 1C? › RE: Как проверить существование документа по номеру и дате в 1C?
5 марта 2025 в 13:45
#31817
1C
&НаКлиенте
Процедура ЗаписатьДокумент(Отказ)
// Переменные для хранения номера и даты документа
Перем НомерДокумента, ДатаДокумента;
// Получаем номер и дату документа
НомерДокумента = Объект.Номер;
ДатаДокумента = Объект.Дата;
// Формируем запрос для проверки существования документа
Запрос = Новый Запрос(
"ВЫБРАТЬ
Ссылка
ИЗ
Документ.ИмяДокумента
ГДЕ
Номер = &Номер
И Дата = &Дата"
);
// Устанавливаем параметры запроса
Запрос.УстановитьПараметр("Номер", НомерДокумента);
Запрос.УстановитьПараметр("Дата", ДатаДокумента);
// Выполняем запрос
Результат = Запрос.Выполнить();
// Проверяем, найден ли документ
Если Результат.Количество() = 0 Тогда
Предупреждение("Документ с указанным номером и датой не найден.");
Отказ = Истина; // Отменяем запись
Иначе
// Документ найден, продолжаем запись
Объект.Записать();
КонецЕсли;
КонецПроцедуры
В этом примере кода мы получаем номер и дату документа, формируем запрос для проверки его существования в базе данных и, в зависимости от результата, либо отменяем запись, либо продолжаем её.