#0
by Birmingem
В модуле проведения документа нужно получить данные из оборотного регистра за неполный период, например с 07.01.2015 по ТекущийДокумент (при этом на момент до проведения документа). Как это сделать? Как я понял ИспользоватьПериод и Итог дают данные только за полный период? А если черным запросом, возникает проблема, как правильно указать конец периода, с учетом сравнения с ТА? Чтобы запрос правильно давал данные и при интерактивном вводе документа, и при перепроведении документов за период.
#2
by Ёпрст
можно и чорным - указывай позицию документа, можешь сформировать предыдущую позицию дока
#3
by Birmingem
прямыми запросами не владею так и сделал: Кон=СформироватьПозициюДокумента(ТекущийДокумент,-1) Но тут засада. Эта полученная позиция, может оказаться позже позиции ТА, т.е. дата документа = дате ТА, а вот позиция позже, и соответственно запрос не работает.
#4
by Birmingem
Опытным путем определил, что черный запрос криво дает итоги по позицию документа. Дает на конец дня. Придется определять предыдущий документ, и его подсовывать в запрос в качестве конечной даты периода. Есть ли быстрый метод получить предыдущий документ, кроме как выборкой? ПолучитьДокумент
#9
by Birmingem
Не поверишь. Может. Например, ТА на утреннем документе Списание. Я в модуле проведения вечернего документа Списание, сравниваю его позицию с позицией ТА. Так как ТА раньше, беру позицию -1. А это вполне может оказаться документ не относящийся к оперативному учету, например кассовый приходник, позиция которого тоже позже ТА.
#10
by Остап Сулейманович
Кон = МИН(СформироватьПозициюДокумента(ТекущийДокумент,-1), ПолучитьДатуТА);
#11
by Birmingem
Теперь задача получить быстро предыдущий (от текущего) документ. Попытался так: ПредПоз=СформироватьПозициюДокумента(ТекущийДокумент,-1); Но ПредДок оказывается пустым значением. Или не так делаю?
#13
by Birmingem
Не пойдет. Нужны данные до момента проведения текущего документа. ПолучитьДатуТА даст на конец дня.
#14
by Остап Сулейманович
Ни в коем случае. Получить либо позицию твоего документа, либо (если он еще не проведен по регистрам) позициюТА. То есть по любому до твоего документа.
#15
by Ёпрст
Херь какая то.. Если позиция дока > ТА то просто не указывай дату, или ставь дату ТА.. Всё.
#17
by Birmingem
Еще раз уточняю. Нужно в модуле проведения документа, черным запросом получить данные до проведения этого документа.
#18
by Остап Сулейманович
Если Документ после ТА то и так все движения будут до документа. Других не будет. Если Документ до ТА - код из вполне годен.
#19
by Birmingem
С получением позиции проблем нет. Проблема в том, что черный запрос в этом случае не дает данные до проведения документа, а вместе с движениями документа. именно херь. Дата ТА и дата документа совпадают. Поставив в запрос просто дату ТА, получаю данные на конец дня.
#21
by Ёпрст
И ? если документ впереди позиции ТА, то это означает только, что он не проведен (или проведен, но без движений) И брать итоги нужно на ТА.. всё
#23
by Birmingem
Сделал. Запрос дает цифры вместе с движениями текущего документа. Это происходит при штатном групповом перепроведении документов.
#24
by Остап Сулейманович
Кон=СформироватьПозициюДокумента(ТекущийДокумент, -1); Зачем поменял на Кон=СформироватьПозициюДокумента(ТекущийДокумент); ?
#25
by Birmingem
При этом в отладчике вот что показывает: Что это значит? ТА не спозиционирована на документе?
#27
by Ёпрст
и.. в групповом перепроведении, та летит в потоке, там тоже были свои заморочки, а чорные запросы - зло :)
#28
by Birmingem
Да, изначально так было. И так, и так пробовал. Результат тот же. Я подумал, может между ТА и предыдущим документом еще документы есть. Но даже если и так, запрос должен был дать цифры без учета текущего документа. А он зараза, все равно с этим документом дает. Выходит запрос с позицией документа криво работает.
#31
by Birmingem
Попробовал. Результат тот же Понимаю что запросом в модуле проведения не есть хорошо. А как по другому то с оборотным регистром быть? ИспользоватьПериод и Итог не дают данных за произвольный период
#37
by Birmingem
ДРУГ, ты ГЕНИЙ!!!!!!!! Запрос то у меня был после движений регистра. Воткнул его до движений, и получил что надо
#39
by Birmingem
Но все равно не понятно, если в запрос передавать позицию, раньше текущего документа, то по идее этот документ в запрос не должен был попадать. Вот это меня и смутило и направило по ложному пути.
#40
by Birmingem
Да и хрен с ним. Заработало главное. Огромное тебе спасибо!!! Пол дня с этим сегодня провозился. Уже крыша поехала. Вроде простейшая вещь, а никак ...
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- v7: Как в запросе по регистру получить реквизит измерения вида "Документ"?
- v7: v7 : НДС при возврате
- v7: в чем разница.... "Сохранить данные..." и "Выгрузить данные..."?
- v7: Что нужно чтоб подключить ККМ Меркурий 112F к 1с V7 Торговля + склад
- v7: v7.7 премещение элемента справочника
- v7: 1С v7.7 Бух учет (получить остаток по складам)
- v7: v8: v7: Кто-нибудь сумел скачать комплект отчетности за I квартал 2007 года
- v7: 1С V7.7 в сети
- v7: 1C:V7 starter program (for SQL) - обнаружена ошибка
- v7: Перенос данных Бухгалтерия из v7 в v8
- v7: v7 Перехват глобального события ПриЗаписи() или ОбработкаПроведения()
- v7: Как получить таблицу значений средствами Formex
В этой группе 1С
- Вопрос по основам управляемых форм...
- Как изменить расширение файла программно?
- Реквизит документа как нумератор
- 1sqlite. Можно в запросе указать желаемый формат получаемого значения?
- Ежедневные остатки - список дней
- прошивка маршрутизатора DFL-800
- КД Выгрузить по правилу и ПВД
- Обновление отраслевки БСО 3.0 (Импульс ИВЦ)
- Как внешний источник данных передать в СКД в УФ
- Добавить дополнительную колонку в универсальный отчет
- Нарушение прав доступа Общепит 1С
- СКД: вывод списка значений
- Списание убытка при продаже ОС "в минуса" в БП 2.0
- ВнешИстДанных. Подключился, но на форму не выводится.
- Открыть форму отчета с определенным вариантом - как?
- ут 11 как заполнить на основании приходный ордер на товары
- Скд обрезает значение отбора
- Ретроскидка УТ 10.3
- Использование утилиты 1CBarCode.exe во внешней печатной форме
- Сохранение Эксель формулы