v7: Получить список движений по регистру черным запросом #746937


#0 by Злопчинский
Есть куча однотипных доков. Каждый док делает несколько движений по одному и тому же регистру. Как  (чорным) запросом получить тупой перечень движений с указанием всех измерений, ресурсов, реквизитов...?
#1 by Злопчинский
Согласен даже на прямой запрос...
#2 by Garykom
Приход Расход
#3 by vcv
Прямой запрос в лёгкую. А "черный" не даст гарантированного результата. Он в обязательном порядке группирует строки. максимум, добавить группировки по документу и номеру строки документа. Но и это не гарантия, если есть несколько движений одного документа по одной строке документа с одинаковым набором измерений и реквизитов.
#4 by Злопчинский
а подключиться по тиму сейчас и помочь?
#5 by Garykom
да сложит движения одного документа для одинаковых № строк, но вот не пофиг?
#6 by Злопчинский
за денежку ясен пень
#7 by 13Дима13
что значит "черным запросом"?
#8 by Garykom
да в обычный запрос вставь функции КолПриход=Приход(Кол) и КолРасход=Расход(Кол) и проверь
#9 by Злопчинский
без указания всех группировок -- свернет в строку
#10 by Garykom
так укажи нужные Документа и № строки
#11 by Злопчинский
у документа нет строк. реквизиты которые формируют двитжения в регистр - только в шапке
#12 by Garykom
тем более, какая разница какие были разные движения один фиг сумма одна
#13 by ДенисЧ
#14 by Злопчинский
это тебе так кажется. документ формирует два движения - в плюс и в минус с разным набором измерений
#15 by vcv
Что-что не понял... Точнее не ожидал от старого 1сника... Если тупо открыть конструктор запроса, добавить в запрос все измерения, ресурсы, реквизиты, ТекущийДокумент, НомерСтроки; сделать группировки по всем измерениям, ТекущийДокумент, НомерСтроки; добавить функции Приход и Расход по всем ресурсам... Что тогда не устраивает? Да, часть строк может свернуться. Но это критично? Если да, то только прямой запрос.
#16 by Злопчинский
эээ такой путья знаю, мне он не нравится. и да - сверка может быть, и она недопустима
#17 by Злопчинский
вот бы лучше не издевался а онлайном помог...
#18 by Duke1C
ВыбратьДвижения(<ДатаНачала>,<ДатаКонца>,<ГрафаОтбора>) не?
#19 by vcv
А можно не запросом, а Рег.ВыбратьДвиженияДокумента(док) и в цикле с ними чего-нибудь  уже делать.
#20 by Злопчинский
не, так не интересно - так я умею, я ж хочу прямым запросом, заодно и посмотреть как это сделано
#21 by vcv
У меня в конфе есть такая функция, может сгодится в качестве рыбы:
#22 by Злопчинский
КОГДА_НИБУДЬ - точно сгодится!
#23 by ДенисЧ
Я не издеваюсь, я тебе запрос рабочий дал...
#24 by Злопчинский
Издеваешься, точно! запрос я примерно понял ;-) 1. как его в 1Sqlite засунуть? 2. периодом ограничить? есть
#25 by Злопчинский
к справочнику выборку я простенькие делал запросы сам - здесь также?
#26 by ДенисЧ
Зачем тебе период, если у тебя есть IDDOC? Ты что, издеваешься? Или у тебя тоже аккаунт увели?
#27 by vcv
Обвязку забыл. Для тех, кто прямые не писал :) Что-то типа: РезультатЗапроса = Запрос.ВыполнитьИнструкцию("select * FROM $Регистр.МойРегистр WHERE IDDOC = ВыбДок");
#28 by vcv
Про sqlite ничего не скажу, у меня база SQL и запросы через 1с++
#29 by Злопчинский
эээ, я ж ваще в прямых совсем мну надо типа WHERE ДокументРегистратор.Владелец = ВыбДок а ДокументРегистратор.Владелец - документ неопределенного вида
#30 by Злопчинский
для модапльности подправлен драйвер?
#31 by vcv
"секретный релиз" с не_помню_какими еще патчами. Давно делался, уже и не помню. Но проблем с модальным режимом нет.
#32 by Злопчинский
блин.. придется все самому... ;-)
#33 by Злопчинский
ууу, блин.. База данных не установлена
#34 by Djelf
Сделай группировку по rowid Отображение ДБФ-таблиц 1С в базу данных SQLite Кроме того, для каждой таблицы SQLite позволяет использовать предопределенное поле rowid, которое используется для идентификации записи. Модуль dbeng возвращает в этом поле номер записи в дбф-файле.
#35 by Djelf
И вообще группировки не надо... Просто убери все агрегатные функции и ничего не свернется
#36 by Злопчинский
что-то для меня это все как я баран на новые ворота. понимаю что вроде просто  - ну для тех кто знает - но для меня - тупняк полный.
#37 by Злопчинский
..перегруз и недосып
#38 by Djelf
Да, у тебя недосып мощный! SELECT * FROM Регистр_ОстаткиТМЦ AS РегОст WHERE РегОст.date BETWEEN :НачДата AND :КонДата или WHERE РегОст.IDDOC=' 15RW4   ' ничего не сворачивается sum то зачем если ты ничего свертывать не хочешь?
#39 by Злопчинский
1. нифига, мне надо выборку движений ограничить - из документа-регистратора движений регистра взять реквизит "Владелец" (ссылка на Документ неопределенного типа) - выбрать движения только для этого "Владельца"
#40 by Злопчинский
2. я ж тупняк. как запрос впихнуть в 1SQLite я ваще в основах хромаю. даже не хромаю а встать не могу... подсоединился бы кто и рассказал бы блин... на месте по факту на примере.
#41 by Злопчинский
совсем тупо. нужен аналог черного типа запроса
#42 by Djelf
реализуемо версия sqlite то какая? с тем что ты хочешь беда примерно такая:
#43 by Злопчинский
ща, сек
#44 by Злопчинский
#45 by Злопчинский
я вот это не втыкаю: что это такое: и после выполнения запроса/получения результатов - надо что-то как-то обнулять? какой вариант 1Sqlite рекомендуете к использованию?
#46 by Злопчинский
у себя 1SQLite вообщем практически не юзается (и так все неплохо) так что смена версии ни к чемустрашному не приведет.. ;-)
#47 by Djelf
Ха, админы и программисты мануали не читают? Весьма советую посмотреть документацию sqlite 1.0.2.4 или моей сборки 1.0.2.6 с 3.7.17 3.8.11.х еще в состоянии глубокой альфы Ёпрст прав в 1.0.2.6 движок sqlite глючный
#48 by Злопчинский
если бы я сидел и только программил... ;-)
#49 by Djelf
имхо тормозить будет жестоко, если попытаться все это в один запрос засунуть. оптимизатор sqlite сойдет с ума... Тебе придется все наоборот в запросе думать - сначала выбрать подчиненные по ВыбДок, 1с с этим справляется быстрее sqlite Засовывать во временную таблицу sqlite Потом по iddoc во временной таблице фильтровать остатки не 5 минутная проблема ;(
#50 by Злопчинский
ну я сейчас для прототипа выбркой по движениям регистра. чтобы хоть какой-то рабочий отчет для тестирования результатов получить
#51 by Злопчинский
"Потом по iddoc во временной таблице фильтровать остатки " . читать как . Потом по iddoc во временной таблице фильтровать ДВИЖЕНИЯ ???
#52 by Djelf
да, все верно, iddoc то уникален в пределах базы возьми глючный конструктор я его так и не доделал, но худо-бедно он работает...
#53 by Злопчинский
на уровне концепции я это понимаю, и какие-то отрывочные куски ходят в голове. но еще ни разу не попадал в такие клинчи с проблемами быстродействия и прочего - чтобы припирало садитьяс и разбираться... вот так и болтаюсь, не освоя этот участок. мну проще заплатить под кокнретный запрос сколько-то денежек и не морочиться.. ;-) нетиповыми для меня проблемами ;-) у меян так уже кучу лет работает пару запросов, и пару их клонов которые сам минимально подтачивал - и все ок. вот. какой-то блин плач ярославны получается..
#54 by Злопчинский
И поставщика данных надо освоить.. а то все псевдожурналы/псевдодокументы на ТЗ сделаны. работает. но ХОЧЕТСЯ КРАСИВОСТЕЙ.
#55 by Djelf
Лучше сделай перебором, если по времени поджимает. Такие запросы в sqlite взлетают плохо.
#56 by Злопчинский
уже сделал. практически мгновенно выбирается. дбф, база только стартанула - пустая, пару доков.
#57 by Злопчинский
а что же в нем тогда взлетает хорошо? для каких целей имеет смысл использовать?
#58 by Djelf
Ну и правильно! sql фактически тот же перебор, только логику перебора не ты думаешь, а sql-сервер Да, это экономия кучи "если тогда потом зачем и почему" Не всегда взлетает... С небольшим объемом данных 1с обычно опережает sqlite. При большом объеме данных sqlite работает значительно быстрее, ну и попадание в индекс тоже надо учитывать. Ссылку же я давал про разброс скорости? Вот тот отчет на sqlite в 10-20 раз быстрее перебора 1С Весь справочник засунуть в тз или ит на sqlite быстрее. У меня все интеграции на базах sqlite ибо нефиг всяку каку в основную базу засовывать.
#59 by Злопчинский
спасибо за внимание к моим проблемам. по ссылке попытаюсь взять дерево подчиненности. надо посмотреть как оно сработает у меня - потому что может произойти зацикливание....
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С