Поиск по нескольким реквизитам в справочнике

1. infopol 16.09.20 08:53 Сейчас в теме
Как в этой 1С найти в таблице (Справочник,Документ) по нескольким реквизитам?Нашел инфу через Запрос.Но зачем огород городить?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. acces969 344 16.09.20 09:05 Сейчас в теме
Запрос будет быстрее, т.к. в запросе указываются конкретные поля. Если использовать конструкции вроде "НайтиПоНаименованию", "Найти" или выборку, то будет медленеее.
Запрос = Новый Запрос("ВЫБРАТЬ ПЕРВЫЕ 1 Документ.Ссылка Из Документ.РеализацияТоваров КАК Документ ГДЕ Документ.Номер = &Номер И Документ.Дата = &Дата");
РезультатЗАпроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
Выборка = РезультатЗапроса.ВЫбрать();
Выборка .Следующий();
Возврат Выборка.Ссылка
Иначе
Возврат Неопределено;
КонецЕсли;

PS быстрее и менее трудоемок для сервера, а не для конечного пользователя или разработчика.
skilster; criptid; alex-l19041; ipoloskov; +4 Ответить
3. TimurD 6 16.09.20 11:07 Сейчас в теме
Правильно! Зачем городить огород! Даешь больше НайтиПоКоду и НайтиПоРеквизиту. А запрос написать или функцию универсальную (в качестве параметра имя таблицы, отбор) религия не позволяет. Или у Вас этот "желтый круг" вызывает отвращение? Пишите на С++. Ну на java на худой конец. Там все проще.
4. infopol 16.09.20 14:39 Сейчас в теме
(3)Это должно быть уже в базовом составе или Выбрать(<условия>)
5. TimurD 6 16.09.20 16:40 Сейчас в теме
(4) Поди в других языках тоже все в базе есть. Любые возможности на любой вкус (без добавление каких - либо библиотек). Только в этом 1С ничего нету. ну ну.
6. infopol 16.09.20 21:48 Сейчас в теме
(5)конечно есть.Не от хорошей жизни пришлось залесть в эту 1С.Просто удивляюсь такой несуразности структуры данных,избыточности информации.
7. Release 16.09.20 22:44 Сейчас в теме
(6) Конечно, весь 1С отстой. И SQL туда же, со своей несуразной структурой, там ведь тоже, о боже, запросы используются. Ой, и dBase с Oracle тоже, прям заговор какой-то с этими базами данных.
8. infopol 17.09.20 06:37 Сейчас в теме
(7)В 1С есть SQL? 'это вы про усеченную часть его? UPDATE , DELETE,INSERT я там не видел.
9. TimurD 6 17.09.20 08:59 Сейчас в теме
(8) Я так понимаю Вы кодер. Т.к. кроме возмущений у Вас больше ничего нет. Вы не решаете проблемы, а создаете.
10. infopol 17.09.20 14:59 Сейчас в теме
Как раз пытаюсь решить проблему,а не создать.Смотрю насколько бездарная структура базы.тысяча таблиц не понятно каким образом созданы связи.
11. пользователь 23.09.20 11:19
Сообщение было скрыто модератором.
...
12. slasher777 28.09.20 14:13 Сейчас в теме
Воспользуйтесь запросом, выше уже написали
13. infopol 29.09.20 08:42 Сейчас в теме
нарисовать"космический" громоздкий интефейс и тысячу таблиц ума у разработчиков хватило,а сделать метод Найти(поле!1=<значение!1> И ...поле!N= значение!N) нет.
14. FatPanzer 29.09.20 08:44 Сейчас в теме
(13) Почитайте про таблично-объектную модель 1С.
16. nomad_irk 72 29.09.20 08:47 Сейчас в теме
(14)Там столько подводных камней, что проще написать запрос :)
Даже используя объектную модель, все равно это будут запросы к БД.
17. FatPanzer 29.09.20 08:55 Сейчас в теме
(16) Я знаю, но там есть ответы на "почему так"... ))
19. nomad_irk 72 29.09.20 08:57 Сейчас в теме
(17)ТС это считает ересью :)
15. nomad_irk 72 29.09.20 08:46 Сейчас в теме
(13)Этот метод называется "запрос". При работе с БД все необходимые данные получаются запросами.
18. FatPanzer 29.09.20 08:56 Сейчас в теме
(15) Люди привыкли мыслить линейными таблицами. Вот потом и получаются справочники с миллионами ненужных реквизитов, зато "все лежит в одном месте очень удобно"...
20. infopol 29.09.20 15:34 Сейчас в теме
(18)это называется избыточность информации и замусоривание базы данных,хотя какая эта база данных,ни индексов ни связей не видно. Разбираюсь с Платежными ведомостями через Банк и нахрена там столько таблиц ? Состав ,Зарплата,ФизЛица причем во всех одинаковые ссылки.
Чтобы очистить журнал Документов нужно циклить,а что DELETE FROM <Table> в SQL для 1С нет? Или простого метода Документ.Очистить(<условия>)
21. nomad_irk 72 29.09.20 16:18 Сейчас в теме
(20)Вы с SQL разбирались тоже квадратурно-гнездовым методом или все же документацию/книги с примерами решения задач читали сначала?
Чтобы очистить журнал Документов нужно циклить,а что DELETE FROM в SQL для 1С нет? Или простого метода Документ.Очистить()

Нужно циклить, простого метода нет. Это сделано не для того, что бы все мучились.
22. infopol 30.09.20 12:58 Сейчас в теме
(21) с SQL работаю давно через Firebird 1.5 и RedDataBase 2.6 и там все просто - DELETE,UPDATE,INS ERT и SELE CT
23. FatPanzer 30.09.20 13:07 Сейчас в теме
(22) А что вы здесь делаете?
1С предназначена для работы с несколькими БД, в том числе и с реляционной файловой типа dbf (в виде единого файла CD). MS SQL не является платформой, на которой реализована и написана сама 1С, SQL - это просто один из способов хранения данных для 1С. Все команды внутреннего языка 1С платформа преобразует в язык той БД, в которой хранятся данные, и уже транслирует. Плэтому язык 1С един для всех типов используемых БД, запрограммированные решения можно переносить и развертывать с одной БД на другую без необходимости перепрограммирования...

С другой стороны - никто не мешает вам продолжать писать на T-SQL свои разрабтоки. Причем тут вообще 1С? Может не стоит со своим уставом?
24. infopol 01.10.20 08:36 Сейчас в теме
Если есть Запрос,то почему он кастрированный.
25. babys 90 19.01.23 11:36 Сейчас в теме
Воскрешу мертвеца :)

Для особо упоротых, кто мне напишет запрос: Выбрать документы по Организации, Контрагенту и Комментарию
для следующих пар данных
Орг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, совпадают только наименования
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот