Общее количество элементов справочника в табличной части документа #551415


#0 by WhiteWolf
Имеем 7.70.027 файловая. В табличной части документа используется справочник, при этом один и тот-же элемент справочника может присутствовать в неограниченном количестве строк табличной части. Нужно получить количество элементов справочника в документе.
#1 by Wobland
ВЫБРАТЬ КОЛИЧЕСТВО(ТЧ.Номенклатура) ГДЕ ТЧ.Номенклатура=&Номенклатура как на 7 перевести?
#2 by Mikeware
выгрузить-заполнить-свернуть
#3 by Mikeware
такой же запрос
#4 by andrewks
+18
#5 by Ёпрст
select count ... from table where ...
#6 by WhiteWolf
dbf конфигурация, SQL запросы не помогут :(
#7 by andrewks
помогут, если постараться
#8 by WhiteWolf
Предлогай
#9 by Ёпрст
с абрикоса упал ? Для прямых запросов уже сто лет пофик на формат базы.. Хоть скуль, хоть дбф.
#10 by Ёпрст
да и всегда было пофик.
#11 by Mikeware
так и предложили... Хотя будет работать только для записанного документа
#12 by MetaDon
а если в свёртке иная дублирующая номенклатура? ИМХО - цикл по строкам ТЧ с условием и счетчиком
#13 by Mikeware
ты сам-то понял, что сказал? :-)
#14 by MetaDon
я прекрасно понял) а ты думай)
#15 by WhiteWolf
Либо я давно с одноэсом не ковырялся, либо я вас не понимаю. Как в семерке файловой SQL запрос организовать? А лучше пример бросте, быстрее схаваю.
#16 by Попытка1С
Класс "ПрямойЗапрос"
#17 by Попытка1С
+16 Как один из вариантов.
#18 by Mikeware
"свертка" свернет всю таблицу, даст все дубли. Найти количество дублей тебуемой номенклатуры - две строки. можно и еще проще - если использовать Индексированную таблицу. зы. Ну, а питерские, те только перебором способны.... город такой....
#19 by Попытка1С
"зы. Ну, а питерские, те только перебором способны.... город такой...." Не гони...
#20 by Mikeware
Тенденция, однако. как и с 1986. распределение несиммметрично, и матожидание смещено. Статистика-с....
#21 by 1Сергей
ну, точно озверел :)
#22 by WhiteWolf
Ну не надо холиваров. Дополню вводную. Конфигурация одна без возможности использования внешних компонент. БД много и не в сети ибо до 150км доходит расстояние. Поставить SQL-сервер на рабочих машинах ну никак.
#23 by Попытка1С
Прочитай . SQL тебе не нужен.
#24 by WhiteWolf
Не въезжаю. Простой пример прямого запроса можно?
#25 by DrZombi
Через функцию Count(<Имя реквизита>)
#26 by Попытка1С
#27 by palpetrovich
Не въезжаю (цэ), а чем неугодил?
#28 by Лефмихалыч
выгрузить в ТЗ, добавить колонку, свернуть по номенклатуре, суммируя единички в этой колонке, потом найти нужную строку и посмотреть в добавленную колонку
#29 by 1Сергей
+100500 Через ТЗ работы на минуту с перекурами. А ему предлагают ВК изучать
#30 by Mikeware
достаточно заполнить имеющуюся колонку "Количество" единичками если используется ИНдексированная, достаточно Выгрузить и установить индекс
#31 by Попытка1С
Он не ищет легких путей видимо..
#32 by Попытка1С
.2 Я в курсе, автор просил пример запроса.
#33 by WhiteWolf
Блин... Если ВК - внешняя компонента, то не подходит (хотя пример красив, не спорю) ТЗ - Что за нафиг?
#34 by Попытка1С
Ты не выспался? ТЗ - ТаблицаЗначений, иди по пути
#35 by Эльниньо
Ветку не читал. +1
#36 by 1Сергей
только не понятно зачем Заполнить
#37 by Попытка1С
А ты считать что будешь?
#38 by 1Сергей
КоличествоСтрок
#39 by 1Сергей
цитирую: "Нужно получить количество элементов справочника в документе."
#40 by Попытка1С
Ему надо посчитать в каком количество строк есть нужным ему товар.
#41 by Lexxxxx
Наверное это про адинички в допколонке.
#42 by WhiteWolf
Все. Всем спасибо. Решил через список значений (ТЗ было бы более громоздким решением).
#43 by 1Сергей
о_О
#44 by VladZ
Очень громоздко...
#45 by 1Сергей
как ты СЗ сворачивал?
#46 by Попытка1С
Покажи код...
#47 by WhiteWolf
Громоздкий не в плане кода, а в прожорливости к памяти :) Документ имеет в табличной части 93 поля и соответственно в ТЗ все эти поля выгружаются. А зачем? Мне ведь только по одному полю (где указатель на элемент справочника) нужно итог подбить. В итоге: И это гораздо быстрее выполняется на компе с 512 метрами оперативки
#48 by antoneus
эммм... а зачем все поля-то выгружать?
#49 by WhiteWolf
эммм.. Кушает меньше оперативы чем Ну и Выгрузить - один полный цикл, Заполнить - второй полный цикл. В итоге два последовательных полных цикла В моем варианте один полный цикл и так виден. И еще раз повторю, что на машинах с малым количеством оперативной памяти он выполняется быстрее. Берем таймер проверяем?
#50 by Mikeware
, Извините, а какя именно религия запрещает читать СП? Я уж не говорю про чтение ЖКК... Даже в СП все вполне по-русски, если, конечно, русский язык освоен в пределах 4-5 классов очень средней школы...
#51 by WhiteWolf
Извините,атеист я :) И СП пользую регулярно. Пришел я сюда за идеей, как реализовать решение проблемы с минимальными затратами машинных (не моих, заметьте) ресурсов. И извините, за мой албанский :)
#53 by palpetrovich
ему еще посчитать "количествоВхождений" надо
#54 by NS
Если с количеством повторений - то
#55 by NS
Читай СП, ты сам выбираешь какие колонки у тебя выгружаются, вторым параметром метода.
#56 by ZDenis
С чего ты взял, судя по его решению в это не требуется
#57 by NS
Я слепой, в Всё есть.
#58 by Mikeware
колонка "Количество" в табчасти наверняка есть. тогда достаточно что-то типа
#59 by NS
Можно и так. Когда писал подумал об этом - но добавление колонки это не так долго.
#60 by Mikeware
ага. но лениво. зы. "не плодите сущностей без необходимости"© :-))
#61 by Lexxxxx
Интересно, а как реализован П.НайтиЗначение(Получатель)=0? Количество циклов перебора списка, пусть и не полных, может быть мягко говоря гораздо больше чем 2!
#62 by NS
Так же как и найтизначение - перебором. Но и свернуть - работает за N^2, то есть сложность та-же, правда скорость больше.
#63 by Lexxxxx
Но там не всегда 1.
#64 by NS
После заполнить - всегда.
#65 by Lexxxxx
Гоню! :)
#66 by palpetrovich
как-то пропустил  ...код порадовал, и особенно  "И это гораздо быстрее выполняется " :)
#67 by Mikeware
1±0,00001
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям