|
Нарастающий текстовый итог в запросе 1С. КАК? | ☑ | ||
---|---|---|---|---|
0
alf2006x
04.10.23
✎
12:38
|
Всем доброго дня.
Что-то я тут никак не сварю ... Вроде задача простая (с точки зрения клиента), но оч. смахивает на невыполнимую (ИМХО) )) В УТ 11 есть регистр сведений РазмещениеНоменклатурыПоСкладскимЯчейкам. Данные в нём примерно такие: Номенклатура Ячейка Винт А1 Винт В3 Винт Б7 Гайка Ж4 Гайка Н8 Гайка С5 Гайка Г2 Как сделать запрос (видимо с нарастающим итогом) чтобы на выходе получить такой результат: Номенклатура Ячейки Винт А1, В3, Б7 Гайка Ж4, Н8, С5, Г2 Накалякал уже 10 разновидностей запросов - но никак в одну строку ячейки по одной номенклатуре собрать не могу. Как-то они только попарно собираются и всё тут... Помогите, кто чем может )) |
|||
1
vicof
04.10.23
✎
12:43
|
В СКДшке можно
|
|||
2
Волшебник
04.10.23
✎
12:43
|
Просто запросом нельзя, но можно выражением СКД или программным кодом.
Надо вызвать функцию встроенного языка СтрСоединить() |
|||
3
Гипервизор
04.10.23
✎
12:44
|
С точки зрения клиента не пофик ли как именно реализовано? Почему именно в запросе?
|
|||
4
Franchiser
04.10.23
✎
12:45
|
Если запрос, то запрос с итогами + обход результата
|
|||
5
vicof
04.10.23
✎
12:45
|
И это не нарастающий итог, а соединение строк.
|
|||
6
Timon1405
04.10.23
✎
12:48
|
(0) там есть отчет "СправочноеРазмещениеНоменклатуры",
за базу можно взять его, там внутри есть СоединитьСтроки (Упорядочить(ТаблицаЗначений(Различные НоменклатураДополнительнойЯчейки, НоменклатураДополнительнойЯчейкиВНаличии, НоменклатураДополнительнойЯчейкиЕдИзм)), ", ", " ") |
|||
7
alf2006x
04.10.23
✎
13:06
|
Тут главная цель - это показать в виде строки все ячейки где лежит товар прямо в форме списка справочника Номенклатура.
А там динозапрос. Даж не знаю как тут СКД прикрутить. |
|||
8
Новиков
04.10.23
✎
13:29
|
(7) Совсем плохая идея. Лучше - команда в форме списка, по которой вызывается отчет или отдельная обработка.
|
|||
9
Михаил Козлов
04.10.23
✎
13:42
|
(7) Чем штатный отчет по ячейкам не подходит?
|
|||
10
НафНаф
04.10.23
✎
13:45
|
Не увидел где тут нарастание. Увидел агрегирование ячеек посредством конкатенации наименований с группировкой по номенклатуре. А так ответ в (2)
|
|||
11
НафНаф
04.10.23
✎
13:47
|
(7) можно и так конечно. Я сделал отдельную таблицу. Показывает в ней остатки на складах и ячейки по текущей позиции товара
|
|||
12
vde69
04.10.23
✎
13:47
|
у меня есть подобная реализация, я сделал отдельное поле в которое при записи записываю собранную в коде строку, ну а в запросе просто ее использую без всяких заморочек.
в твоем случае возможно нужно сделать дополнительный регистр... |
|||
13
alf2006x
04.10.23
✎
13:54
|
(8) Так та оно так... Но ведь человек ленив и ему надо чтобы "всё и сразу".
Сейчас имеется одтельная табличка в которой все ячейки отображаются при тыке на номенклатуру. Но ведь "человек ленив"(с) ... и хоцца видеть всё как на ладони... |
|||
14
alf2006x
04.10.23
✎
13:56
|
(9) Ну сложный вопрос. Ответ наверное в (13) - они хочуть видеть один инструмент и пользоваться им. В принципе вполне законно. А так придётся работать с номенклатурой из двух окон (справочник и отчет).
|
|||
15
alf2006x
04.10.23
✎
13:57
|
(11) читал и отвечал сверху вниз )
Моя солидарность с этим решением в посте 13 |
|||
16
alf2006x
04.10.23
✎
13:59
|
Есть "почти" решение. Делает то, что надо. Правда с производительностью может быть накладочка.
Вот это "почти решение": ВЫБРАТЬ РазмещениеНоменклатурыПоСкладскимЯчейкам.Номенклатура.Код КАК Код, РазмещениеНоменклатурыПоСкладскимЯчейкам.Номенклатура КАК Номенклатура, РазмещениеНоменклатурыПоСкладскимЯчейкам.Ячейка.Наименование КАК Ячейка ПОМЕСТИТЬ ВсеЯчейкиНоменклатуры ИЗ РегистрСведений.РазмещениеНоменклатурыПоСкладскимЯчейкам КАК РазмещениеНоменклатурыПоСкладскимЯчейкам ИНДЕКСИРОВАТЬ ПО Код ; ВЫБРАТЬ АВТОНОМЕРЗАПИСИ() КАК НомерПП, ВсеЯчейкиНоменклатуры.Номенклатура КАК Номенклатура, ВсеЯчейкиНоменклатуры.Ячейка КАК Ячейка ПОМЕСТИТЬ ВсеЯчейкиНоменклатуры2 ИЗ ВсеЯчейкиНоменклатуры КАК ВсеЯчейкиНоменклатуры ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВсеЯчейкиНоменклатуры1.Номенклатура КАК Номенклатура, ВсеЯчейкиНоменклатуры1.Ячейка + ", " + ВсеЯчейкиНоменклатуры2.Ячейка + ", " + ВсеЯчейкиНоменклатуры3.Ячейка + ", " + ВсеЯчейкиНоменклатуры4.Ячейка ИЗ ВсеЯчейкиНоменклатуры2 КАК ВсеЯчейкиНоменклатуры1 ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВсеЯчейкиНоменклатуры2 КАК ВсеЯчейкиНоменклатуры2 ПО ВсеЯчейкиНоменклатуры1.Номенклатура = ВсеЯчейкиНоменклатуры2.Номенклатура И ВсеЯчейкиНоменклатуры1.НомерПП = ВсеЯчейкиНоменклатуры2.НомерПП + 1 ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВсеЯчейкиНоменклатуры2 КАК ВсеЯчейкиНоменклатуры3 ПО ВсеЯчейкиНоменклатуры1.Номенклатура = ВсеЯчейкиНоменклатуры3.Номенклатура И ВсеЯчейкиНоменклатуры1.НомерПП = ВсеЯчейкиНоменклатуры3.НомерПП + 2 ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВсеЯчейкиНоменклатуры2 КАК ВсеЯчейкиНоменклатуры4 ПО ВсеЯчейкиНоменклатуры1.Номенклатура = ВсеЯчейкиНоменклатуры4.Номенклатура И ВсеЯчейкиНоменклатуры1.НомерПП = ВсеЯчейкиНоменклатуры4.НомерПП + 3 |
|||
17
alf2006x
04.10.23
✎
14:00
|
Блин с названиями таблиц плохо вышло. Сейчас перепишу.
|
|||
18
alf2006x
04.10.23
✎
14:02
|
ВЫБРАТЬ
РазмещениеНоменклатурыПоСкладскимЯчейкам.Номенклатура.Код КАК Код, РазмещениеНоменклатурыПоСкладскимЯчейкам.Номенклатура КАК Номенклатура, РазмещениеНоменклатурыПоСкладскимЯчейкам.Ячейка.Наименование КАК Ячейка ПОМЕСТИТЬ Размещение ИЗ РегистрСведений.РазмещениеНоменклатурыПоСкладскимЯчейкам КАК РазмещениеНоменклатурыПоСкладскимЯчейкам ИНДЕКСИРОВАТЬ ПО Код ; ВЫБРАТЬ АВТОНОМЕРЗАПИСИ() КАК НомерПП, Размещение.Номенклатура КАК Номенклатура, Размещение.Ячейка КАК Ячейка ПОМЕСТИТЬ Пронумерованные ИЗ Размещение КАК Размещение ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВсеЯчейкиНоменклатуры1.Номенклатура КАК Номенклатура, ВсеЯчейкиНоменклатуры1.Ячейка + ", " + ВсеЯчейкиНоменклатуры2.Ячейка + ", " + ВсеЯчейкиНоменклатуры3.Ячейка + ", " + ВсеЯчейкиНоменклатуры4.Ячейка ИЗ Пронумерованные КАК ВсеЯчейкиНоменклатуры1 ВНУТРЕННЕЕ СОЕДИНЕНИЕ Пронумерованные КАК ВсеЯчейкиНоменклатуры2 ПО ВсеЯчейкиНоменклатуры1.Номенклатура = ВсеЯчейкиНоменклатуры2.Номенклатура И ВсеЯчейкиНоменклатуры1.НомерПП = ВсеЯчейкиНоменклатуры2.НомерПП + 1 ВНУТРЕННЕЕ СОЕДИНЕНИЕ Пронумерованные КАК ВсеЯчейкиНоменклатуры3 ПО ВсеЯчейкиНоменклатуры1.Номенклатура = ВсеЯчейкиНоменклатуры3.Номенклатура И ВсеЯчейкиНоменклатуры1.НомерПП = ВсеЯчейкиНоменклатуры3.НомерПП + 2 ВНУТРЕННЕЕ СОЕДИНЕНИЕ Пронумерованные КАК ВсеЯчейкиНоменклатуры4 ПО ВсеЯчейкиНоменклатуры1.Номенклатура = ВсеЯчейкиНоменклатуры4.Номенклатура И ВсеЯчейкиНоменклатуры1.НомерПП = ВсеЯчейкиНоменклатуры4.НомерПП + 3 |
|||
19
alf2006x
04.10.23
✎
14:04
|
Но есть проблемка...
На выходе вместо Номенклатура Ячейки Винт А1, В3, Б7 Гайка Ж4, Н8, С5, Г2 Только Номенклатура Ячейки Гайка Ж4, Н8, С5, Г2 Видимо коджа номенклатура лежит в 3-х ячейках Конкатенация словила null и рубанула его. |
|||
20
alf2006x
04.10.23
✎
14:05
|
Колдуем дальше... )
|
|||
21
RomanYS
04.10.23
✎
14:05
|
(18) это ж., а не почти решение: не будет 4 ячеек по номенклатуре - не увидишь ее совсем, будет больше 4х ячеек - получишь дубли
|
|||
22
alf2006x
04.10.23
✎
14:07
|
(21) В том то и прикол. Что если больше 4-х или меньше 4-х, то они не дублируются, а просто не выводятся.
|
|||
23
alf2006x
04.10.23
✎
14:07
|
Для 3-х соединений также получаю только номенклатуру с итоговой строкой с тремя ячейками.
|
|||
24
RomanYS
04.10.23
✎
14:08
|
(21) с первым можно (но не нужно) бороться левыми соединениями и ЕстьNULL. А второе в общем случае нерешаемо
|
|||
25
alf2006x
04.10.23
✎
14:08
|
Для 2-х соединений - только с двумя.
|
|||
26
alf2006x
04.10.23
✎
14:08
|
(24) Клянусь - никаких дублей не вижу! )))
|
|||
27
alf2006x
04.10.23
✎
14:11
|
А, нет.... вижу. Есть дубли, блин.
|
|||
28
H A D G E H O G s
04.10.23
✎
14:12
|
(18) А ты неплох!
|
|||
29
alf2006x
04.10.23
✎
14:13
|
(28) Да не, ерунда получается. Согласен с (21)
|
|||
30
H A D G E H O G s
04.10.23
✎
14:21
|
(29) Это было восхищение.
|
|||
31
alf2006x
04.10.23
✎
14:37
|
(30) с привкусом сарказма? )))
|
|||
32
НафНаф
04.10.23
✎
14:41
|
А нельзя просто взять отбор по номенклатуре к регистру. Итоги по номенклатуре и обходя детальные записи скокатенировать данные ячеек в коде? Можно даже их поместить в массив, а потом сделать СтрСоединить чтоб уж точно не работать с медленным выделением памяти на строки
|
|||
33
alf2006x
04.10.23
✎
14:48
|
Ну да ладно, хочу чтобы меня уже порвали тут как тузика.
План такой: 1. Сначала вычисляю итог по количеству номенклатуры в регистре. Максимум - это максимальное количество последующих соединений. 2. Затем в обратном порядке объединяю в итоговую таблицу результаты запросов по убыванию количества соединений. В каждом последующем соединении выкидываю номенклатуру уже ранее найденную в "старших" (с большим количеством ячеек) таблицах. То есть в моём случае, если допускаем что у одного товара не может быть больше 4-х ячеек, то это будет 4 таблицы А общее количество внутренних соединений: 4+3+2 = 9 Производительность офигеет? Или терпимо? |
|||
34
alf2006x
04.10.23
✎
14:50
|
(32) Тут я немного не понял.
Динамический запрос на форме списка заменить таблицей? Или как? |
|||
35
alf2006x
04.10.23
✎
14:52
|
(32) А как запихнуть код в обход вывода детальных записей?
Я видел что такое работает в табличной части документа, например. А в списке справочникане пробовал. Это в каком методе надо прописать? |
|||
36
RomanYS
04.10.23
✎
14:53
|
(33) замени внутренние на левые будет 4 достаточно. Но всё равно такое решение - (*)
|
|||
37
RomanYS
04.10.23
✎
15:00
|
Сейчас запросы поддерживают в ДС пакетные запросы, наверное можно передать собранные туда строки в ТЗ и соединить с ней в результирующем запросе.
Но тогда уж логичнее хранить собранные готовые строки где-нибудь в РС и сразу с ним соединять в запросе ДС |
|||
38
Timon1405
04.10.23
✎
15:05
|
(35) https://wonderland.v8.1c.ru/blog/obrabotka-i-oformlenie-dannykh-dinamicheskogo-spiska/
ДС уже 7 лет как умеют приполученииданных. но лучше, конечно, считать отдельно) |
|||
39
alf2006x
04.10.23
✎
15:08
|
(37) Отдельный РС - напряжно. Его создавать надо, за ним следить надо. Чтобы мало-ли-чего-где...
|
|||
40
alf2006x
04.10.23
✎
15:15
|
(38) Спасибо, попробую.
А почему лучше считать отдельно? Какие минусы (/недостатки) у этого метода? |
|||
41
H A D G E H O G s
04.10.23
✎
15:35
|
(33) Охереет. Динамический список еще наложит своих сортировок.
А потом придет RLS и постучит сапогом LazySpool в tempdb SQL. |
|||
42
H A D G E H O G s
04.10.23
✎
15:35
|
(31) Я же говорил, что вы неплох.
|
|||
43
H A D G E H O G s
04.10.23
✎
15:36
|
(37) Нельзя.
|
|||
44
alf2006x
04.10.23
✎
15:42
|
(43) хм.. так как в итоге быть-то?
Какое самое оптимальное решение? |
|||
45
alf2006x
04.10.23
✎
15:43
|
(44) (38)?
|
|||
46
H A D G E H O G s
04.10.23
✎
15:44
|
Если прям прям хочется сделать красиво:
1) Справочник "ГруппыСкладскихЯчеек". Реквизиты: Наименование ХешВложений (индексирован) ТЧ Ячейки ПередЗаписью() вычисляем хеш вложенных ячеек, пишем в реквизит. 2) РС РазмещениеНоменклатурыПоГруппамСкладскимЯчейкам - скопированный из исходного, ячейка заменена на группу ячеек. 3) В ПриЗаписи набора записей РазмещениеНоменклатурыПоСкладскимЯчейкам определяем в каких наборах ячеек находятся изменяемые Номенклатуры данного склада/помещения, вычисляем для наборов ячеек хеш, по хешу ищем группу, записываем/создаем ее в РС РазмещениеНоменклатурыПоГруппамСкладскимЯчейкам |
|||
47
H A D G E H O G s
04.10.23
✎
15:45
|
(46) Справочник ГруппыСкладскихЯчеек в реквизит наименование записываем сконкатенированное наименование вложенных ячеек
|
|||
48
H A D G E H O G s
04.10.23
✎
15:48
|
Оптимально - развести 1С на реализацию поддержки STRING_AGG
https://learn.microsoft.com/ru-ru/sql/t-sql/functions/string-agg-transact-sql?view=sql-server-ver16 |
|||
49
alf2006x
04.10.23
✎
15:49
|
(47) Спасибо. Буду пробовать.
|
|||
50
alf2006x
04.10.23
✎
15:50
|
(48) Ой, нет. Это уже незнакомые слова пошли )
|
|||
51
alf2006x
04.10.23
✎
15:51
|
"Развести 1С" - это клевать им мозг пока они это не добавят? ))
|
|||
52
alf2006x
04.10.23
✎
15:52
|
У них там дата каким годом заканчивается? 3999 ?
Вот к тому моменту они и разродятся на STRING_AGG |
|||
53
Garykom
04.10.23
✎
16:03
|
(44) >Какое самое оптимальное решение?
Сделать обход групп и конкатенацию ячеек в одну строку программно кодом. И не страдать непонятно чем пытаясь использовать неподходящий инструмент в виде запросов. |
|||
54
Garykom
04.10.23
✎
16:05
|
(53)+ Допустим выяснится что ячеек в одной строке может быть не максимум 4 а 400
И? |
|||
55
alf2006x
04.10.23
✎
16:06
|
(53) Не понял.
Обход групп в каком месте должен быть? Приполученииданных ? |
|||
56
alf2006x
04.10.23
✎
16:07
|
(54) Согласен. Хотя
в моём прикладном случае вероятность такого события "Крайне мала". |
|||
57
Garykom
04.10.23
✎
16:09
|
(55) Смотря для чего это требуется
Неужели хочешь записи в регистр делать? Так там можно вручную ТЗ обработать и передать |
|||
58
alf2006x
04.10.23
✎
16:11
|
(57) Колонку с перечнем ячеек надо добавить в список справочника "Номенклатура".
|
|||
59
Новиков
04.10.23
✎
16:13
|
(55) Смотря где ты собрался это собирать. Если тебе для формы выбора, то есть смысл нарисовать свою форму и подменить ее. А там подкинуть не ДС, а обычную таблицу, которую уже по (53) заполнить. Скорее всего, так будет и проще и быстрее - там же можно какие-то отборы помутить и т.д.
|
|||
60
Новиков
04.10.23
✎
16:14
|
(58) я же тебе уже сказал, что в городить это в ДС - плохая идея. Ты либо делай отчетом, либо - подменяй форму на свою без ДС.
|
|||
61
alf2006x
04.10.23
✎
16:16
|
(60) Okk
|
|||
62
Garykom
04.10.23
✎
16:16
|
(58) чтобы не тормозило придется делать свой РС и обновлять его
|
|||
63
Garykom
04.10.23
✎
16:19
|
(62)+ создаешь свой РС (Номенклатура, Ячейки)
создаешь учетный механизм и добавляешь его в нужные документы |
|||
64
Garykom
04.10.23
✎
16:20
|
(63)+ общий модуль не надо, весь код можно в своем РС прописать в модуле менеджера
|
|||
65
Garykom
04.10.23
✎
16:22
|
||||
66
Новиков
04.10.23
✎
16:23
|
(64) да возня все это. Ну сама задача не стоит выведенного яйца, сделал подключаемый отчет и подключил его. Как ты там сделал эту строчку - да клиенту плевать. Ну, кнопку нажать надо, да. Скорее всего, клиент поиграть 1 день и забудет про то.
|
|||
67
alf2006x
04.10.23
✎
16:29
|
(66) не соглашусь.
Проблема для них настолько серьёзная, что они даже в Паинте на скриншоте нарисовали эту колонку и написали как должны выглядеть данные в этой колонке. За 10 лет это первая постановка задачи с картинкой такого уровня )) Так что тут всё по-серьёзке. |
|||
68
Zapal
04.10.23
✎
23:41
|
держи
ВЫБРАТЬ РазмещениеНоменклатурыПоСкладскимЯчейкам.Номенклатура КАК Номенклатура, РазмещениеНоменклатурыПоСкладскимЯчейкам.Ячейка КАК Ячейка ПОМЕСТИТЬ ВсеЯчейкиНоменклатуры ИЗ РегистрСведений.РазмещениеНоменклатурыПоСкладскимЯчейкам КАК РазмещениеНоменклатурыПоСкладскимЯчейкам ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВсеЯчейкиНоменклатуры1.Номенклатура КАК Номенклатура, ВсеЯчейкиНоменклатуры1.Ячейка КАК Ячейка, КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВсеЯчейкиНоменклатуры2.Ячейка) КАК НомерПП ПОМЕСТИТЬ ЯчейкиНомера ИЗ ВсеЯчейкиНоменклатуры КАК ВсеЯчейкиНоменклатуры1 ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВсеЯчейкиНоменклатуры КАК ВсеЯчейкиНоменклатуры2 ПО ВсеЯчейкиНоменклатуры1.Номенклатура = ВсеЯчейкиНоменклатуры2.Номенклатура И ВсеЯчейкиНоменклатуры1.Ячейка <= ВсеЯчейкиНоменклатуры2.Ячейка СГРУППИРОВАТЬ ПО ВсеЯчейкиНоменклатуры1.Номенклатура, ВсеЯчейкиНоменклатуры1.Ячейка ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЯчейкиНомера.Номенклатура КАК Номенклатура, МАКСИМУМ(ВЫБОР КОГДА ЯчейкиНомера.НомерПП = 1 ТОГДА ЯчейкиНомера.Ячейка ИНАЧЕ NULL КОНЕЦ) КАК Ячейка1, МАКСИМУМ(ВЫБОР КОГДА ЯчейкиНомера.НомерПП = 2 ТОГДА ЯчейкиНомера.Ячейка ИНАЧЕ NULL КОНЕЦ) КАК Ячейка2, МАКСИМУМ(ВЫБОР КОГДА ЯчейкиНомера.НомерПП = 3 ТОГДА ЯчейкиНомера.Ячейка ИНАЧЕ NULL КОНЕЦ) КАК Ячейка3, МАКСИМУМ(ВЫБОР КОГДА ЯчейкиНомера.НомерПП = 4 ТОГДА ЯчейкиНомера.Ячейка ИНАЧЕ NULL КОНЕЦ) КАК Ячейка4 ПОМЕСТИТЬ ЯчейкиКолонки ИЗ ЯчейкиНомера КАК ЯчейкиНомера СГРУППИРОВАТЬ ПО ЯчейкиНомера.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЯчейкиКолонки.Номенклатура КАК Номенклатура, естьnull(ЯчейкиКолонки.Ячейка1, "") + " " + естьnull(ЯчейкиКолонки.Ячейка2, "") + " " + естьnull(ЯчейкиКолонки.Ячейка3, "") + " " + естьnull(ЯчейкиКолонки.Ячейка4, "") КАК СтрокаЯчейки ИЗ ЯчейкиКолонки КАК ЯчейкиКолонки |
|||
69
alf2006x
04.10.23
✎
16:58
|
(68) Ого,.. спасибо. Я уже совсем смирился с общественным мнением что надо делать собственную форму вместо ДС.
В принципе так и буду делать. А пример обязательно попробую применить (с листа пока не понял как это работает). |
|||
70
H A D G E H O G s
04.10.23
✎
17:06
|
(69) Попробуй на рабочей базе вместе с RLS помотать список где то до середины
|
|||
71
Garykom
04.10.23
✎
17:41
|
(70) В несколько сеансов одновременно причем, ибо не один пользователь в один момент времени может форму списка номенклатуры открыть ))
|
|||
72
Garykom
04.10.23
✎
17:42
|
(71)+ И получится что или выводить отчет по кнопочке или ваять свой РС и соединять с ним
|
|||
73
Garykom
04.10.23
✎
17:43
|
Или как вариант показывать на форме строку ячеек только для выбранной (текущей) номенклатуры
|
|||
74
alf2006x
04.10.23
✎
22:45
|
(68) Zapal, мега-респект. это именно то, о чем я спрашивал в посте. Работает безупречно. Просто удивительно.
Хотя, честно говоря, я так и не понял как это всё собирается. Через 20 минут изучения всех ВТ что-то хрустнуло в районе мозжичка и я понял, что не стоит так над собой издеваться. ))) Завтра на свежую голову буду снова перечитывать текст запроса. |
|||
75
alf2006x
04.10.23
✎
22:48
|
(68) Одно лишь хочу поправить.
Строку 3 текста. Вместо: РазмещениеНоменклатурыПоСкладскимЯчейкам.Ячейка КАК Ячейка должно быть: РазмещениеНоменклатурыПоСкладскимЯчейкам.Ячейка.Наименование КАК Ячейка Иначе в пред=предпоследней строке они не сконкатенируются. Оч. жаль, но преобразование типов в запросе скорее всего так никогда и не появится... |
|||
76
Новиков
05.10.23
✎
09:24
|
(55)
Если решишься на ДС и код, то ответ на Обход групп в каком месте должен быть? Приполученииданных ? тут: https://xn----1-bedvffifm4g.xn--p1ai/news/2017-12-26-many-values-in-one-cell/ |
|||
77
Zapal
05.10.23
✎
09:40
|
(74) основной фокус во втором запросе, там где ВсеЯчейкиНоменклатуры1.Ячейка <= ВсеЯчейкиНоменклатуры2.Ячейка
он делает нумерацию ячеек в рамках каждой номенклатуры |
|||
78
mikecool
05.10.23
✎
09:49
|
(77) ты еще не узнал про АвтоНомерЗаписи()?
|
|||
79
alf2006x
05.10.23
✎
10:28
|
Любителям поиздеваться над базами 1С посвящается...
Добавил вчера (68) в ДС. Результат потрясный: быстро, дёшево, сердито. список листается как и раньше, отличий в скоростях не заметил. Пожалуй только добавлю ", ..." - когда ячеек будет больше 4-х. РЛС и прочую магию пока включать не планирую, но на подкорку записал, что в нагрузку к включению ихних надо будет переделать сей конструкт через РС. H A D G E H O G s, Garykom и др. - прошу прощения что ваши усилия не смогли перетянуть меня на сторону света. Кстати, интересно, какой процент кодеров 1С используют неоптимальный, но приемлемый (по отношению к ситуации) код в своих доработках? |
|||
80
alf2006x
05.10.23
✎
10:32
|
(76) в (38) утверждается что так лучше не делать.
Хотя по ссылке в статье читаю: "без потери производительности". Тогда не понимаю почему же так не стоит делать? Выглядит решение вполне приемлемым ) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |