Таблица значений - поиск

1. user_2010 904 22.03.19 09:21 Сейчас в теме
Добрый день!

Есть ТаблицаЗначений, содержит 2 реквизита: Договор и Номенклатура.
Нужно по этой таблице сделать 2 поиска:

1) поиск контрагента (у каждого договора есть реквизит Владелец - это и есть контрагент)
2) поиск по контрагенту + дата договора + номер договора + номенклатура.

как это правильно сделать?

Спасибо!
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
15. independ 1520 22.03.19 09:43 Сейчас в теме
(1) Можно использовать отборы СКД, сложнее в реализации, но и вариантов поболее
17. user_2010 904 22.03.19 10:06 Сейчас в теме
(15) может быть есть пример посмотреть? как для данной задачи прикрутить СКД?
и есть ли в данной задаче в этом целесообразность? может в каких-то более сложных задачах есть смысл?
21. user_2010 904 22.03.19 10:38 Сейчас в теме
2. SedovSU@mail.ru 297 22.03.19 09:23 Сейчас в теме
По данным критерия вам только поиск методом построения запроса подойдет. То есть пишите запрос выборки из таблицы значений, передаете туда параметры
4. user_2010 904 22.03.19 09:26 Сейчас в теме
(2) большое спасибо.... думала, что может все-таки есть воможность как-то и по ТЗ поискать...
8. SedovSU@mail.ru 297 22.03.19 09:27 Сейчас в теме
(4) Искать в ТЗ штатными методами, можно только при условии РАВНО. Например, условие Договор = КакомуТоДоговору, то тогда можно методом
Таблица.НайтиСтроки(Новый Структуру("Договор", Договор)) - будет массив строк.

А вот если более хитрые условия то только запрос
10. user_2010 904 22.03.19 09:28 Сейчас в теме
3. SlavaKron 22.03.19 09:26 Сейчас в теме
Добавить в ТЗ колонки, по которым необходимо делать отборы. Данные для этих колонок вытащить запросом.
6. user_2010 904 22.03.19 09:27 Сейчас в теме
(3) понятно! в общем, без запроса никак...
5. SedovSU@mail.ru 297 22.03.19 09:26 Сейчас в теме
Вот по первому что то в этом роде
	Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
				   |	ВыгруженнаяТаблица.Договор,
				   |	ВыгруженнаяТаблица.Номенклатура,
				   |ПОМЕСТИТЬ ТаблицаДляПоиска
				   |ИЗ
				   |	&ВыгруженнаяТаблица КАК ВыгруженнаяТаблица
				   |;
				   |
				   |////////////////////////////////////////////////////////////­////////////////////
				   |ВЫБРАТЬ
				   |	ТаблицаДляПоиска.Договор,
				   |	ТаблицаДляПоиска.Номенклатура,
				   |ИЗ
				   |	ТаблицаДляПоиска КАК ТаблицаДляПоиска
				   |ГДЕ
				   |	ТаблицаДляПоиска.Договор.Владелец = &Контрагент";
	Запрос.УстановитьПараметр("ВыгруженнаяТаблица", ТаблицаЗначений);
	Запрос.УстановитьПараметр("Контрагент", Контраент);
	ВыборкаРезультата = Запрос.Выполнить().Выбрать();
Показать
7. user_2010 904 22.03.19 09:27 Сейчас в теме
9. VmvLer 22.03.19 09:27 Сейчас в теме
поместить тз в вт и искать быстро, удобно и без извращений
(напомню, что в ВТ можно задать поле НомерСтроки через АВТОНОМЕРЗАПИСИ())

противникам ВТ приветствую и жду косыль-код
11. user_2010 904 22.03.19 09:30 Сейчас в теме
(9) а как пометсить ТЗ в ВТ? тоже запросом?
12. VmvLer 22.03.19 09:31 Сейчас в теме
13. user_2010 904 22.03.19 09:38 Сейчас в теме
19. SedovSU@mail.ru 297 22.03.19 10:30 Сейчас в теме
(11) да запросом я в (5) написал небольшой пример
20. user_2010 904 22.03.19 10:37 Сейчас в теме
14. SlavaKron 22.03.19 09:42 Сейчас в теме
(9)
противникам ВТ приветствую и жду косыль-код

ВТ не нужна так как в запрос достаточно передать массив договоров, а полученные данные раскидать по ТЗ.
16. VmvLer 22.03.19 09:56 Сейчас в теме
(14) спасибо кэп.

Вт нужна только для случая, когда необходимо вернуть номера строк удовлетворяющие условиям поиска. Думаю, именно это и необходимо по условиям задачи.
Или вернуть Тз с парами полей по условиям поиска (Договор, Номенклатура).
Как по мне, проще номера строк, так как колонок в тз может быть и больше.


"полученные данные раскидать по ТЗ" в постановке задачи такого нет.
22. meriferi 23.03.19 19:16 Сейчас в теме
СтруктураПоиска = Новый Структура();
СтруктураПоиска.Вставить("Номенклатура",СтрокаТЧ.Номенклатура);
СтруктураПоиска.Вставить("Договор", СтрокаТЧ.договор);
Оставьте свое сообщение

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