|
Автоматический поиск бренда в наименовании | ☑ | ||
---|---|---|---|---|
0
Vetal821
16.06.13
✎
17:38
|
Как реализовать есть справочник Номенклатура с реквизитом Бренд, также справочник брендов. Как сделать обработку поиск в наименовании бренда и подстановка в реквизит бренд-ссылка на справочник с брендами?
|
|||
1
Wobland
16.06.13
✎
17:40
|
файл - новый - обработка
|
|||
2
Wobland
16.06.13
✎
17:41
|
вариант второй: позвать программиста
|
|||
3
Wobland
16.06.13
✎
17:41
|
вариант третий: как-то себя заставить
|
|||
4
Vetal821
16.06.13
✎
17:42
|
ты просто - мозг
|
|||
5
Wobland
16.06.13
✎
17:42
|
четвёртый вариант: таки попытаться сделать самостоятельно, встретить трудность, спросить совета
|
|||
6
Vetal821
16.06.13
✎
17:43
|
Это в отчете просто пробывал поиск что не так
&НаСервере Процедура СформироватьНаСервере() Перем БрендИщем; Перем Наим; Макет =Отчеты.ПоискБрендовВНаименовании.ПолучитьМакет("Макет"); ОблШапка = Макет.ПолучитьОбласть("Шапка"); ОблЭлемент = Макет.ПолучитьОбласть("Элемент"); ТабДок.Вывести(ОблШапка); ЗапросНом = Новый Запрос; ЗапросНом.Текст ="ВЫБРАТЬ | Номенклатура.Код, | Номенклатура.Наименование |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Не Номенклатура.ЭтоГруппа"; Результат =ЗапросНом.Выполнить(); ВыборкаНом= Результат.Выбрать(); ЗапросБрендов = Новый Запрос; ЗапросБрендов.Текст ="ВЫБРАТЬ | Бренды.Наименование |ИЗ | Справочник.Бренды КАК Бренды"; Результат =ЗапросБрендов.Выполнить(); ВыборкаБрендов= Результат.Выбрать(); Пока ВыборкаНом.Следующий() Цикл Наим = НРег(ВыборкаНом.Наименование); Пока ВыборкаБрендов.Следующий() Цикл БрендИщем = НРег(ВыборкаБрендов.Наименование); БрендИщем =БрендИщем+" "; Если СтрЧислоВхождений(Наим,БрендИщем)>=1 Тогда ОблЭлемент.Параметры.Заполнить(ВыборкаБрендов); ТабДок.Вывести(ОблЭлемент) КонецЕсли; КонецЦикла; КонецЦикла; КонецПроцедуры |
|||
7
Wobland
16.06.13
✎
17:44
|
||||
8
Vetal821
16.06.13
✎
17:45
|
))))) специально запасена картиночка на такие случаи
|
|||
9
Vetal821
16.06.13
✎
17:46
|
Спрашиваю совет: где ошибка?
|
|||
10
Armando
16.06.13
✎
17:48
|
что-то типа такова попробуй
выбрать Номенклатура.Ссылка, Бренды.Ссылка из Справочник.Номенклатура внутренние соединение Справлчник.Бренды по Номенклатура.Наименование подобно %Бренды.Наименование% |
|||
11
Wobland
16.06.13
✎
17:49
|
соединение по подобно разве что..
|
|||
12
Wobland
16.06.13
✎
17:50
|
(9) в двойном цикле и в неиспользовании всех возможностей запросов
|
|||
13
Wobland
16.06.13
✎
17:51
|
+(12) а ещё в проектировании
|
|||
14
Vetal821
16.06.13
✎
17:54
|
как сделать с помощью только запросов без циклов?
|
|||
15
Wobland
16.06.13
✎
17:57
|
(14) понять, что имел в виду Armando, почитать про подобно и соединения. цикл всё ж потребуется, но один и уже содержащий только нужное
|
|||
16
mistеr
16.06.13
✎
19:04
|
Я бы полнотекстовый поиск заюзал.
|
|||
17
Vetal821
16.06.13
✎
20:53
|
Что не так
ВЫБРАТЬ ПЕРВЫЕ 10 Номенклатура.Ссылка, Номенклатура.Наименование, Бренды.Ссылка КАК Ссылка1, Бренды.Наименование КАК Наименование1 ИЗ Справочник.Номенклатура КАК Номенклатура СОЕДИНЕНИЕ Справочник.Бренды КАК Бренды ПО (Номенклатура.Наименование ПОДОБНО "%Бренды.Наименование% ") ГДЕ НЕ Номенклатура.ЭтоГруппа |
|||
18
mistеr
16.06.13
✎
21:05
|
ПОДОБНО "%" + Бренды.Наименование + "%"
Плюс экранирование кавычек. Но думаю не взлетит. |
|||
19
Vetal821
16.06.13
✎
22:22
|
Почти работает), но если находит несколько брендов в наименование выводит несколько раз, ка сделать чтоб выводилось только в начале наименования или самое первое
ВЫБРАТЬ Номенклатура.Ссылка, Номенклатура.Наименование, Бренды.Ссылка КАК Ссылка1, Бренды.Наименование КАК Наименование1 ИЗ Справочник.Номенклатура КАК Номенклатура СОЕДИНЕНИЕ Справочник.Бренды КАК Бренды ПО (Номенклатура.Наименование ПОДОБНО "%"+Бренды.Наименование+"%") ГДЕ НЕ Номенклатура.ЭтоГруппа |
|||
20
Armando
16.06.13
✎
22:52
|
>> ка сделать чтоб выводилось только в начале наименования
вместо "%"+Бренды.Наименование+"%" это Бренды.Наименование+"%" |
|||
21
Armando
16.06.13
✎
22:56
|
Чтоб выводилось какое-то одно значение, обычно группируют по ключевым полям, а по остальным максимум().
в твоем случае группировать по номенклатуре, а по бренду максимум() |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |