Поиск по нескольким реквизитам в справочнике
По теме из базы знаний
- Универсальная загрузка любых документов из Excel с использованием нечеткого сравнения по реквизиту типа "Справочник"
- Поиск и замена дублирующих элементов
- Поиск и замена дублирующихся справочников и документов с дополнительной группировкой
- Универсальный поиск и замена дублирующихся элементов справочников по нескольким реквизитам (управляемое приложение)
- Поиск и замена дублей справочников SQL (8.3) (УФ)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Запрос будет быстрее, т.к. в запросе указываются конкретные поля. Если использовать конструкции вроде "НайтиПоНаименованию", "Найти" или выборку, то будет медленеее.
Запрос = Новый Запрос("ВЫБРАТЬ ПЕРВЫЕ 1 Документ.Ссылка Из Документ.РеализацияТоваров КАК Документ ГДЕ Документ.Номер = &Номер И Документ.Дата = &Дата");
РезультатЗАпроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
Выборка = РезультатЗапроса.ВЫбрать();
Выборка .Следующий();
Возврат Выборка.Ссылка
Иначе
Возврат Неопределено;
КонецЕсли;
PS быстрее и менее трудоемок для сервера, а не для конечного пользователя или разработчика.
Запрос = Новый Запрос("ВЫБРАТЬ ПЕРВЫЕ 1 Документ.Ссылка Из Документ.РеализацияТоваров КАК Документ ГДЕ Документ.Номер = &Номер И Документ.Дата = &Дата");
РезультатЗАпроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
Выборка = РезультатЗапроса.ВЫбрать();
Выборка .Следующий();
Возврат Выборка.Ссылка
Иначе
Возврат Неопределено;
КонецЕсли;
PS быстрее и менее трудоемок для сервера, а не для конечного пользователя или разработчика.
Правильно! Зачем городить огород! Даешь больше НайтиПоКоду и НайтиПоРеквизиту. А запрос написать или функцию универсальную (в качестве параметра имя таблицы, отбор) религия не позволяет. Или у Вас этот "желтый круг" вызывает отвращение? Пишите на С++. Ну на java на худой конец. Там все проще.
(18)это называется избыточность информации и замусоривание базы данных,хотя какая эта база данных,ни индексов ни связей не видно. Разбираюсь с Платежными ведомостями через Банк и нахрена там столько таблиц ? Состав ,Зарплата,ФизЛица причем во всех одинаковые ссылки.
Чтобы очистить журнал Документов нужно циклить,а что DELETE FROM <Table> в SQL для 1С нет? Или простого метода Документ.Очистить(<условия>)
Чтобы очистить журнал Документов нужно циклить,а что DELETE FROM <Table> в SQL для 1С нет? Или простого метода Документ.Очистить(<условия>)
(20)Вы с SQL разбирались тоже квадратурно-гнездовым методом или все же документацию/книги с примерами решения задач читали сначала?
Нужно циклить, простого метода нет. Это сделано не для того, что бы все мучились.
Чтобы очистить журнал Документов нужно циклить,а что DELETE FROM в SQL для 1С нет? Или простого метода Документ.Очистить()
Нужно циклить, простого метода нет. Это сделано не для того, что бы все мучились.
(22) А что вы здесь делаете?
1С предназначена для работы с несколькими БД, в том числе и с реляционной файловой типа dbf (в виде единого файла CD). MS SQL не является платформой, на которой реализована и написана сама 1С, SQL - это просто один из способов хранения данных для 1С. Все команды внутреннего языка 1С платформа преобразует в язык той БД, в которой хранятся данные, и уже транслирует. Плэтому язык 1С един для всех типов используемых БД, запрограммированные решения можно переносить и развертывать с одной БД на другую без необходимости перепрограммирования...
С другой стороны - никто не мешает вам продолжать писать на T-SQL свои разрабтоки. Причем тут вообще 1С? Может не стоит со своим уставом?
1С предназначена для работы с несколькими БД, в том числе и с реляционной файловой типа dbf (в виде единого файла CD). MS SQL не является платформой, на которой реализована и написана сама 1С, SQL - это просто один из способов хранения данных для 1С. Все команды внутреннего языка 1С платформа преобразует в язык той БД, в которой хранятся данные, и уже транслирует. Плэтому язык 1С един для всех типов используемых БД, запрограммированные решения можно переносить и развертывать с одной БД на другую без необходимости перепрограммирования...
С другой стороны - никто не мешает вам продолжать писать на T-SQL свои разрабтоки. Причем тут вообще 1С? Может не стоит со своим уставом?
Воскрешу мертвеца :)
Для особо упоротых, кто мне напишет запрос: Выбрать документы по Организации, Контрагенту и Комментарию
для следующих пар данных
Орг1 Контр1 "Дог1, сч1"
Орг1 Контр2 "Дог2, сч4"
Орг1 Контр3 "Дог4, сч5"
Орг2 Контр1 "Дог1, сч9"
Орг2 Контр4 "Дог3, сч2"
Орг2 Контр5 "Дог4, сч8"
Комментарий текстовое поле, если кто не догадался.
Дог* и сч* это текстовое представление, соответственно объекты Дог1 <> Дог1 и Дог4<>Дог4, совпадают только наименования
Для особо упоротых, кто мне напишет запрос: Выбрать документы по Организации, Контрагенту и Комментарию
для следующих пар данных
Орг1 Контр1 "Дог1, сч1"
Орг1 Контр2 "Дог2, сч4"
Орг1 Контр3 "Дог4, сч5"
Орг2 Контр1 "Дог1, сч9"
Орг2 Контр4 "Дог3, сч2"
Орг2 Контр5 "Дог4, сч8"
Комментарий текстовое поле, если кто не догадался.
Дог* и сч* это текстовое представление, соответственно объекты Дог1 <> Дог1 и Дог4<>Дог4, совпадают только наименования
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот