v7: Поиск в ТЗ #315052


#0 by 1C_novichok
Подскажите пожалуйста : есть заполненная ТЗ с колонками      Товар|колво|сумма|доход|месяц Как в ней найти строку с нужным товаром за нужный месяц? Не перебор ТЗ , а именно поиск.Можно считать что значение нужных товара и месяца известны. Спасибо!
#1 by КонецЦикла
Если искать многократно - сделай составную колонку для поиска (желательно заполнить во время заполнения ТЗ) А можно отсортировать по товарам и далее тупо перебор со строки n Это если применять штатные методы...
#2 by Папа Гапа
Сортировку делай и дальше выбирай значения методом половинного деления или золотого сечения или... NS щас прийдёт, может быть. И будет тебе подарок. А вообще по форуму ищи - дофига такого.
#3 by Guk
Слушай Конца. Он плохого не посоветует. Я обычно пользуюсь первым вариантом...
#4 by ВосточныйПарень
+1
#5 by Chum
Функция Выборка(Знач п_ТЗ, п_КолонкаЗначение) На вход подавать: п_ТЗ - ТЗ, в которой надо чего-нибудь искать п_КолонкаЗначение - список значений, вида: Сп.ДобавитьЗначение(ЗначениеПоиска,ИдентификаторКолонкиВКоторойИскать) Возвращает ТЗ, содержащую строки по условиям отбора. Писал на скорую руку, если надо, то оптимизируйте.
#6 by Chum
Не так давно тут ветка была с алгоритмами поиска в ТЗ.
#7 by FreeFin
А не быстрее будет если так пробовать:? сортировать-найти-удалитиь сверху-сортровать/перевернуть-найти-удалить сверху-найти месяц.
#8 by Sj
добавь столбик, куда ставь строка(Товар.Код) + Строка(Месяц) и по этому столбцу ищи нужное значение = код + месяц
#9 by 1C_novichok
Спасибо большое! На основании Ваших ценных советов я нашел решение. С наступающим Вас НГ!!! :-)
#10 by 2S
"На основании Ваших ценных советов я нашел решение" - нах мне эта ТЗ!
#11 by Chum
не взлетит
#12 by 1C_novichok
Сорри, подскажите плиз, столкнулся с некоторыми трудностями - ни разу такого не делал. Мне понравилась идея добавить в ТЗ колонку "ТовМес" в которой будет значение колонок "Товар" и "месяц"...Что-то получается не так . Я это пытаюсь сделать таким образом: ............................................. Добавлять пытаюсь так............................................. и находить в ТЗ значение колонки "ТовМес"  пытаюсь так................. и получается неправильное заполнение печатной формы........ ПЛИЗ!!!!!! Гляньте кому не в лом что не так !!!! Заранее благодарю и все такое... :-)))))))))
#13 by КонецЦикла
Ну так выведи Сообщить(Строка(ТЗтмц.Товар)+Строка(ТЗмес.Месяц)); Если ТЗ.НайтиЗначение(Строка(ТЗтмц.Товар)+Строка(ТЗмес.Месяц), Поз, "ТовМес") = 1 Тогда ТЗтмц - откуда взялось?
#14 by КонецЦикла
А ТЗмес - откуда? Что вообще происходит? :)
#15 by 1C_novichok
ТЗ - это основная таблица с данными в ТЗмес - выгружается ТЗ и сворачивается по Месяцу - здесь названия месяцев в ТЗтмц - выгружается ТЗ и сворачивается по Товару - то есть здесь вся номенклатура
#16 by КонецЦикла
Ну и как они перебираются? 2 вложенных цикла?
#17 by КонецЦикла
Если это сделано запросом, то есть предопределенная группировка месяц И можно сделать красивее
#18 by Азат
А вообще если даже по методу Вадимко делать (этим методом и сам постоянно пользуюсь), то надо уяснить, что Наименование - нихрена не уникальный реквизит и могут быть 2 элемента справочника с разными кодами, ценами и т.п. и одинаковыми наименованиями. Поэтому я обычно использую такую шляпу: СтрПоиска = Стр1 + "@" + Стр2 + ... Так вот по типам делаю так: Справочник - по коду А вообще - можно просто ЗначениеВСтроку использовать
#19 by 1C_novichok
Вот весь мой модуль. Чес говоря хочу чуть исправить и координально не менять...
#20 by КонецЦикла
Согласен, я почему-то тоже использую собачку :) Если код уникален во всем спр-ке - можно юзать код Месяц тоже может быть неуникальным, если попадают разные года...
#21 by КонецЦикла
Выгрузи запрос в ТЗ а далее юзай типа такого (попеарю Чебуратора):
#22 by Asirius
Ужос! Запрос должен выгляетть так, чтобы никакого геммора с поиском в ТЗ не было ... Только в таблице "ТЗ.*" на "Запрос.*" поменять для полного счастья
#23 by Cthulhu
: "Не перебор ТЗ , а именно поиск" -- фраза полубессмысленная.. потому что с точки зрения рализации "именно поиск" - это именно "перебор".. и если от фразы оставить только содержательную часть, то получится нечто в духе "мне не ехать надо а шашечки"..
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям