#0
by Diter
Доброго всем времени суток. Есть запрос и есть группировка Документ. Как получить в запросе значение реквизита текущего документа. Например контрагента? Может всё просто, но у меня нифига не получается.
#2
by Шапокляк
Или через переменные запроса, типа |Контр=Документ.РасходнаяНакладная.Контрагент или в обработке результатов запроса Запрос.Документ.Контрагент
#3
by Diter
Опа. не предупредил. Запрос по регистру. По документам не получается (если кто помнит пару дней назад была ветка моя по запросам, так вот до сих пор тр...юсь)
#4
by Шапокляк
|Клиент = Регистр.ПартииТоваров.ТекущийДокумент.РасходнаяНакладная.Клиент; если документы в регистре разных типов, через запятую... А если при обработке результатов запроса, там по алгоритму извлекать, что-то вроде Если Запрос.Документ.Вид="ТакойТо" Тогда Контрагент=...
#5
by Diter
Мне не известны заранее документы, по которым будет делаться запрос (точнее их виды). Предупрежу сразу - если формировать строку видов документов программно, то она при некоторых условиях может превысить допустимую длину.
#6
by Шапокляк
Ну значит при обработке результатов запроса - выгружаем в ТЗ, создаем новую колонку Контрагент, предположим, и начинаем извращаться над документами, можно как я говорила через перебор в зависимости от вида, можно через Попытку-исключение, можно функцией КонецФункции определять, есть реквизит шапки с каким-то наименованием... И заполняем колонку. Вот интересно, неужели этот регистр двигается таким огромным количеством документов?
#7
by Diter
Документов в конфе порядка 30 видов (переделаная ТиС). Такое количество от небольшого ума предыдущего программиста. Причём он периодически появляется и по "просьбам трудящихся" ваяет очередной документ копируя и исправляя уже существующие. Разбираться в его выкрутасах нет желания, как нет его приходить каждый раз, как поработает этот товарищь. Отсуда пришёл к выводу - формировать список документов, которые могут двигать регистр программно. Перебор конечно сам просится, но - формирование запроса по одной группе товара (15000 элементов) без отсучки по нужным юзеру клиентам занимает порядка 5 минут - и это только запрос по расходам. Нужно ещё три (остатки на начало, остатки на конец и поступления). Заказ - анализ продаж и расчёт прибыли.
#10
by Diter
Будешь смеяться, но в конфе три регистра - "ОстаткиТоваров", "Взаиморасчеты" и "Прибыль". Запрос делаю по Остаткам. В регистре два измерения "Товар" и "Склад", ресурсы "Остаток" и "БалансоваяСтоимость".
#12
by Diter
Правда в Регистре "Взаиморасчеты" есть два измерения "Клиент" и "Документ". Может как-то можно сделать "перекрёстный" запрос? По идее документ двигающий регистр "ОстаткиТоваров" прописывается в регистре "Взаиморасчёты".
#13
by Diter
Если переделать регситры и перепровести документы, то меня подвесят за ... Ну в общем за нужное дело подвесят. База за три года, документов в месяц порядка 2000-3000 причём все доки не маленькие (фирма торгует через сеть магазинов автозапчастями оптом и в розницу). Как то решил перепровести документы за два месяца - заняло 5 часов. Перепроведение доков за весь период остановит работу конторы на несколько суток. Хозяин - вроде вежливый мужик, но не нравится мне его блеск в глазах, когда я ему счёт выставляю. Бось огорчиться очень от простоя и упущеноё выгоды.
#15
by tsd
есть такая штука РазделительСтрок, вот ее и вставляй при программном формировании строки запроса, тогда превышения не будет.
#16
by Rovan
Не поможет - при выполнении запроса учитывается реальная длина строки, а не способ её задания в конфигураторе. Работай с ТЗ. Чего стесняешься ?
#18
by Diter
Наверно потому, что суммарная длина строки не превышает 254 символа В ТЗ получается за три месяца 25000 строк, а нужно например только 8.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Как округлить до десяти (напр.168,23 до 170,00 ИЛИ 252,00 до 250,00)
- Как достучаться до значения реквизита
- Условие в запросе, аналогичное условию в запросе 77
- Интересная фишка в запросе в 7-ке. Сумма из шапки и из ТЧ в запросе
- Как достучаться до данных набора данных СКД?
- ЗУП. Отпуска по уходу за ребенком до 1,5 и до 3-х лет
- Как достучаться к Web-сервису на нестандартном порту.
- "Несовместимые типы выразить в запросе 1с" ошибка в динамическом запросе списка документов
В этой группе 1С
- 77 Почему происходит переключение на окно Предприятия при отладке ?
- две сетевые 1с
- Сальдо по АП счетам
- Создание из 1С файла excel со структурой
- ЭтотОбъект.Записать()???
- Ошибка при подключении внешней компоненты
- Как перехватить событие "Новая строка" в ТЧ справочника.
- Минимально допустимая "скорость сети" для SQL ?
- Не могу подключить внешнюю компоненту "DialMail.dll"
- Как перехватить событие смены строк в табличном поле ?
- Обработка по поиску и замене латиницы на кириллицу в справочниках 1С /РБ/
- Есть ли в 1С функции автоматического запуска обработки?
- Отбор в документах по текущему пользователю в УПП
- импорт из банк-клиента (Укрсиббанка)
- Подскажите как использовать владельца в запросе.
- Где взять релиз 1С 7.70.023?
- Как создать макрос через Оле
- Как получить количество рабочих дней за период?
- Уловие "В ()" в запросах. Можно ли использовать ТЗ?
- Как установить размер шрифта в ячейке таблицы?