Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Поиск справочника по коду в запросе

Поиск справочника по коду в запросе
Я
   Zlatusya
 
18.09.18 - 13:24
Здравствуйте! В запросе выбирается элемент справочника. Например, получается три строки выборки  с кодами справочника : 02001,02051,02061. Мне нужно сделать так чтобы при выборке элементы подменялись по шаблону: 02 +000 +1, т.е. первый элемент так же и был бы выбран, второй заменился на первый, третий заменился на первый. и результатом стали бы три строчки с одинаковым элементом. сделать нужно в запросе, так как типовой отчет СКД и нужно таким способом подменить коды со многих на один
 
 
   Zlatusya
 
1 - 18.09.18 - 13:25
шаблон вместо трех нулей два, ошиблась. Т.е. по идее мне нужно в скд воткнуть функцию поиска справочника по коду и задать шаблон кода. а какую функцию поиска возможно использовать?
   Cyberhawk
 
2 - 18.09.18 - 13:27
ЯННП
   Zlatusya
 
3 - 18.09.18 - 13:31
пример таблица выборки

Организация   Товары       количество
ООО "МОлоко"   Молоко         5
ООО "МОлоко"   Молоко 2,5     4 
ООО "МОлоко"   Молоко 3,2     3


после выборки товаров по шаблону таблица будет выглядеть так:

Организация   Товары       количество
ООО "МОлоко"   Молоко         5
ООО "МОлоко"   Молоко         4 
ООО "МОлоко"   Молоко         3

Т.е. итоговая цифра молока будет 12
Так понятней?
   Optan
 
4 - 18.09.18 - 13:33
(1) "функцию поиска справочника по коду" - чем левое соединение со справочником по преобразованному коду не подойдет?
   Михаил Козлов
 
5 - 18.09.18 - 13:35
Припишите товарам, например, "номенклатурную" группу и выводите (группируйте/фильтруйте) по ней.
Или организуйте справочник (иерархию) должным образом и группируйте только по иерархии.
   Optan
 
6 - 18.09.18 - 13:35
(4) Или даже лучше все элементы справочника, которые подходят под шаблон сразу в ВТ и с ней соединяться.
   Zlatusya
 
7 - 18.09.18 - 13:35
элемент в соединении не один получается. а зависит от названия правого элемента.

Организация   Товары       количество
ООО "МОлоко"   Молоко         5
ООО "МОлоко"   Молоко 2,5        4 
ООО "МОлоко"   Молоко 3,2        3
ООО "МОлоко"   кефир         5
ООО "МОлоко"   кефир 2,5        4 
ООО "МОлоко"   кефир 3,2        3
   Zlatusya
 
8 - 18.09.18 - 13:37
осложняется тем что типовой запрос по проводкам на скд. уже все выбрано. нужно встроится и поменять аккуратно.
   Ненавижу 1С
 
9 - 18.09.18 - 13:40
а вы уверены, что у вас единый шаблон на все товары?
что именно 3 и 4 только надо "обнулить"?
   Zlatusya
 
10 - 18.09.18 - 13:40
т.е. по идее вместо выбранного элемента мне нужно подставить друго йэлемент но который зависит от выбранного по  шаблону. если бы писала например просто через обычную выборку то потом в результат сбросила бы и поменяла по циклу. а здесь сразу макет в скд сделан и группировки. не знаю как найти элемент по коду в запросе. условие ГДЕ не подходит
 
 Рекламное место пустует
   Optan
 
11 - 18.09.18 - 13:40
(7)
ООО "МОлоко" Молоко     (02001)->(02001)-->ИщемВСправочнике
ООО "МОлоко" Молоко 2,5 (02051)->(02001)-->ИщемВСправочнике
ООО "МОлоко" Молоко 3,2 (02061)->(02001)-->ИщемВСправочнике

Не так?
   Zlatusya
 
12 - 18.09.18 - 13:41
уверена в том что шаблон стандартный - это не товары, это кпс. товары для примера привела чтобы понятно было
   Zlatusya
 
13 - 18.09.18 - 13:41
(11) да
   Zlatusya
 
14 - 18.09.18 - 13:41
(11) как найти в справочнике сразу в скд при выборе поля?
   Ненавижу 1С
 
15 - 18.09.18 - 13:44
надо соединиться еще раз со справочником по условию примерно такому
ПОДСТРОКА(ИсходныеДанные.Номенклатура.Код,1,2)+"00"+ПОДСТРОКА(ИсходныеДанные.Номенклатура.Код,5,1) = Справочник.Код
   Zlatusya
 
16 - 18.09.18 - 13:44
я нашла в нете такой пример: ЗНАЧЕНИЕ(справочники.товары.найтипокоду("02"))

но при внесении ошибка и не созраняет поле
   Zlatusya
 
17 - 18.09.18 - 13:46
(15) в смысле сделать соединение и новое поле получить? с подстрокой я как раз и пыталась сейчас, только командой найти по по коду. сейчас попробую.
   palsergeich
 
18 - 18.09.18 - 13:53
(16) Функция значение работает только с предопределенными данными в языке запросов.
(15) Для разовой обработки сойдет, но для боевого отчета - это очень плохо.
Я бы сделал так:
Регистр сведений с измерениями ссылка на справочник и преобразованная строка + подписка на событие при записи, для заполнения значений. + разовая обработка по его заполнению.
Или аналогичный реквизит в справочнике. Но РС подходит больше. И соединялся бы уже с ним, это будет оптимальнее.
   Ненавижу 1С
 
19 - 18.09.18 - 13:56
(18) это понятно, что или РС связи или номенклатурные группы
   Zlatusya
 
20 - 18.09.18 - 15:45
(18) ого. ну менять-то конфу тоже из-за одного отчета неохота. тем более что типовой отчет как работает так и будет. а этот так сказать в довесок нужен. вынесен как внешний
   defini
 
21 - 18.09.18 - 16:17
А если без СКД выполнить запрос, его выгрузить в ТЗ, обработать ТЗ как нужно, а потом скормить результат СКД?
   Rovan
 
22 - 18.09.18 - 16:25
(3) а в чем глобальный замысел сей подмены ?
   palsergeich
 
23 - 18.09.18 - 17:46
(20) Дело хозяйское, я как раз на хлеб зарабатываю тем что исправляю аналогичный код после того как работа в базе встает колом.
   Zlatusya
 
24 - 18.09.18 - 18:48
Глобальный смысл в том что выводятся данные в разрезе кпс. но кпс разбит на более мелкие составляющие. и и буху нужны как бы сводные данные в разрезе более крупной составляющей (нулевой, я бы так сказала) для внутренних нужд и обычный разрез который ведется сейчас.
   Zlatusya
 
25 - 18.09.18 - 18:48
(23) что может случиться?
   Zlatusya
 
26 - 18.09.18 - 18:50
у меня другая проблема возникла. я типовой отчет сохранила как внешний. он работает. но стоит мне в запросе просто что-то поменять (даже поле добавить) он перестает работать , выдает ошибку - не найдено поле.
По коду в проц. "ПередКомпоновкойМакета"  вдруг резко теряется запрос из набора данных и становится вместо большой запроса одной строчкой. не пойму почему?
   Zlatusya
 
27 - 18.09.18 - 18:53
я так понимаю скд перед выполнение пытается оптимизировать запрос. но раньше на такую проблему не нападала. что делать-ТО? пока не меняю - выводит отлично, только что-то добавила - пересатет формировать
   Zlatusya
 
28 - 18.09.18 - 18:55
(21) а пример маленький кода можно? как скормить обратно особенно......
   Sapiens_bru
 
29 - 18.09.18 - 19:24
(28) Маленького не нашел.
https://yadi.sk/d/sTqzHvpg2LF4Ug
По ссылке внешний отчет для примитивной конфигурации (типа Каркасной).
Суть отчёта - получение АБЦ анализа. Это сейчас я умный и знаю, что АБЦ встроен в СКД. А тогда решил задачу так:
1)Сделал запрос к двум наборам данных, один из которых это мой полезный запрос, второй - пустая таблица значений.
2)В модуле поймал все настройки и результат запроса, скомкал обработкой как мне надо и положил в таблицу.
3)Подал таблицу на вход второй компоновке, а чтобы не дублировать результаты - удалил из неё запрос.
4)Скомпоновал вторую компоновку и выдал в форму.

там в коде есть несного комментов
   Zlatusya
 
30 - 18.09.18 - 19:58
(29) спасибо
   timurhv
 
31 - 18.09.18 - 22:19
(0) Используйте вычисляемые поля, делал подобное преобразование номеров с/ф для корректной сортировки.
Надо было:
10/1
10/2
...
10/10

а не как стандартный:
10/1
10/10
10/2
   timurhv
 
32 - 18.09.18 - 22:30
(24) Если вы реально для БГУ это пишете, то я бы не к коду/наименованию привязывался, а к заполненным реквизитам КПС без вида расхода, а сам вид расхода в соединении указал жестко нулевой.
   Zlatusya
 
33 - 19.09.18 - 07:35
(32) ну там же все равно нужно этот  кпс найти, хоть по наименованию, хоть по частям из которых он состоит(то же такая мысль была, но я пока вообще с этим отчетом в дебрях сижу - не думала что так сложно окажется). как это сделать в запросе? пример можно? и еще - у меня слетает текст запроса как только я туда лезу что-то переделывать. вчера пыталась изменить по отчету который скинул  Sapiens_bru, не трогая запрос, вытащить вытащила, изменила, а обратно засунуть пока не смогла - так как в ту процедуру, которая указана в его отчет (предопределяемая) исполн. код просто не заходит, а  в другой не могу отловить документрезультат.
Никто не знает почему текст запроса слетает? я нашла по коду - там маркированные поля  в запросе есть с "//". по ним при компоновке убирается часть текста запроса. но проблема в том что в самом тексте  я не вижу этих маркир. полей, как будто их нет и как-то потом добавляются. как только я меняю запрос - марк. поля уходят и текст выдает ошибку при компановке.
 
 
   Zlatusya
 
34 - 19.09.18 - 07:37
(32) для бгу. если вам не сложно не могли бы вы посмотреть отчет журнал операций 0504... Его надо сохранить как внешний, добавить любое поле в запросе и отсмотреть строчку  502 в модуле "ТекстСубконтоПоСубконто = СтандартныеОтчеты.По....". в этом месте видно что как только запрос изменен текст теряется.
   Zlatusya
 
35 - 19.09.18 - 07:39
(31) пример код в полях можно как переделали?
   Zlatusya
 
36 - 19.09.18 - 07:39
спасибо всем кто помогает. что-то у меня мало практики в скд выходит раз ничего не получается с такой фигней.
   catena
 
37 - 19.09.18 - 07:41
(33)При открытии конструктора все закомментированные строки удаляются.
   Zlatusya
 
38 - 19.09.18 - 08:23
(37) как тогда вносили комментарии? там же не запрос а компоновка идет. как внести изменения чтобы остались?
   timurhv
 
39 - 19.09.18 - 08:58
(34) а вы уверены, что вам нужен элемент справочника КПС, его же может не быть. Не проще выводить в виде строки? Или расшифровка тоже нужна?
   Zlatusya
 
40 - 19.09.18 - 10:48
(39) ну если смотреть результир. таблицу то там в части нет данных. да это не вопрос на самом деле, отладить не проблема.  у меня уже просто у самой интерес как выправлять запрос в компоновке если потом отчет накладывает результирующие изменения в запрос? и ориентируется он на коммент. строки с //, которые пропадают при изменении запроса пользователем.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует