|
v7: Загрузка ТЧ документа из Excel | ☑ | ||
---|---|---|---|---|
0
zenon46
02.09.18
✎
08:54
|
Доброго дня!
Сделал заполнение ТЧ документа из Excel файла поставщика, поиск элементов справочника ведется по полю "Артикул", все бы ничего, но всплыл один нюанс, есть в справочнике Номенклатура, Группа, содержащая элементы с таки-ми же артикулами как и в общей папке (типа папка была сделана давно с ней работает удаленный магазин, что бы не лезли в основную папку), ест-но при НайтиПоРеквизиту частенько вываливается номенклатура из этой папки, а нужно из общей, есть ли более быстрый способ, решить эту проблему, нежели делать перебор элементов справочника с сравнением с родителем ? |
|||
1
bolder
02.09.18
✎
09:00
|
(0) Запрос с фильтром.
|
|||
2
Мимохожий Однако
02.09.18
✎
09:01
|
При поиске добавь отбор по Группе
|
|||
3
Cthulhu
02.09.18
✎
09:56
|
ВыбратьЭлементыПоРеквизиту(<?>,,,)
SelectItemsByAttribute(<?>,,,) Синтаксис: ВыбратьЭлементыПоРеквизиту(<ИмяРеквизита>,<Значение>,<РежимИерархии>,<РежимГрупп>) Назначение: Открыть выборку элементов справочника по значению реквизита. Возвращает: 1 - если действие выполнено и в выборке есть хотя бы один элемент; 0 - если действие не выполнено или в выборке нет ни одного элемента. Параметры: <ИмяРеквизита> - строка с именем реквизита, по которому выполняется выборка; <Значение> - значение реквизита для выборки; <РежимИерархии> - как выбирать: 1 - выбирать элементы с учетом иерархии, 0 - выбирать элементы без учета иерархии (необязателен, по умолчанию - 1); <РежимГрупп> - что выбирать: 1 - выбирать среди групп справочника, 0 - выбирать только среди элементов справочника. Замечание: Метод можно использовать только для реквизитов с установленным признаком ''Сортировка''. Метод можно использовать только для объектов, созданных функцией СоздатьОбъект. |
|||
4
zenon46
02.09.18
✎
10:00
|
(3) это я видел, только я не понял чем мне это поможет, если нужно искать везде КРОМЕ одной группы.
|
|||
5
Cool_Profi
02.09.18
✎
10:11
|
Хочешь, напишу тебе запрос для поиска элемента по артикулу без групп?
Потрогай кошелёк, хватит денег? |
|||
6
bolder
02.09.18
✎
10:58
|
(5) +100500.Я уже давно ему это советую (1).
|
|||
7
Chameleon1980
02.09.18
✎
12:02
|
+ только прямой или устанешь ждать
|
|||
8
Злопчинский
02.09.18
✎
12:08
|
Спр.Аналоги подчиненный Спр.Номенклатура ест в ТиС штатно. В Аналоги пихай привязку по артикулу поставщика. И похрен что где в каких группах лежит
|
|||
9
zenon46
02.09.18
✎
12:21
|
(1)
ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Обрабатывать НеПомеченныеНаУдаление; |Без итогов; |ТекущийЭлемент = Справочник.Номенклатура.ТекущийЭлемент; |Артикул = Справочник.Номенклатура.Артикул; |Родитель = Справочник.Номенклатура.Родитель; |Группировка ТекущийЭлемент; |Условие(ТекущийЭлемент.ЭтоГруппа()=1); |Условие(Родитель <> ГруппаИсключения); |"//}}ЗАПРОС ; Что-то типа этого ? |
|||
10
skafandr
02.09.18
✎
12:38
|
(9)
|Условие(ТекущийЭлемент.ЭтоГруппа()=1); лишнее, будет только группы выводить. Лучше условие на Артикул добавь :) |
|||
11
zenon46
02.09.18
✎
12:41
|
(10) да точно, это я набросок сделал.
|
|||
12
zenon46
02.09.18
✎
12:42
|
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать) |Обрабатывать НеПомеченныеНаУдаление; |Без итогов; |ТекущийЭлемент = Справочник.Номенклатура.ТекущийЭлемент; |Артикул = Справочник.Номенклатура.Артикул; |Родитель = Справочник.Номенклатура.Родитель; |Группировка ТекущийЭлемент; |Условие(Артикул = ТаблицаЗначенийИзФайла.Артикул); |Условие(Родитель <> ГруппаИсключения); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; |
|||
13
skafandr
02.09.18
✎
12:51
|
(12) только может быть так
|Группировка ТекущийЭлемент без Групп ; |
|||
14
zenon46
02.09.18
✎
13:36
|
(13) странно, но не работает, на выходе пусто каждый раз.
|
|||
15
Kigo_Kigo
02.09.18
✎
16:11
|
я бы просто артикул перекодировал бы в ненужной группе и все, к примеру было 2343, стало 2343_
|
|||
16
Lazy Stranger
02.09.18
✎
16:32
|
(14) условия со сравнением строк иногда глючат из-за пробелов в конце, попробуй
Условие(СокрП(Артикул) = СокрП(ТаблицаЗначенийИзФайла.Артикул)); |
|||
17
zenon46
02.09.18
✎
18:53
|
(15) не это не вариант, там есть обработки по поиску по этому артикулу, каталог з/ч.
|
|||
18
Харлампий Дымба
02.09.18
✎
22:13
|
Перед загрузкой запихни все товары из нужных групп и у которых есть артикулы в ТЗ или СписокЗначений и ищи там.
|
|||
19
zenon46
03.09.18
✎
09:21
|
(16) да именно так и получилось.
С запросом получилось не очень быстро + если номенклатура лежит еще в подпапке из не нужно группы, то условие уже не работает и она снова валится в выборку. |
|||
20
zenon46
03.09.18
✎
10:08
|
Короче, сделал как в (18) посоветовали, работает кстати быстрей чем по каждому искомому запрос отрабатывал. Сваливаем все в ТЗ за исключением той Группы (и подгрупп), которые не нужны, и ищем уже в самой ТЗ, при нахождении кидаем в ТЧ документа, не находим сообщаем об этом.
|
|||
21
skafandr
03.09.18
✎
10:27
|
(20) Если программист - то должен сразу описывать все условия, про подпапки до (19) не было ничего сказано
|
|||
22
zenon46
03.09.18
✎
10:32
|
(21) я блин сам их только сегодня увидел на живой базе
|
|||
23
Злопчинский
03.09.18
✎
10:41
|
(22) ну да, приехал на охоту в африку с мелкашкой - блин, а слона-то не возмет, слона-то только сегодня увидел...
|
|||
24
zenon46
03.09.18
✎
10:48
|
(23) так бывает, не всегда есть возможность сразу поработать с боевой базой.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |