#0
by Maja
Вопрос есть, на который я постоянно натыкаюсь… Иногда бывает необходимость открыть документ с проводками (программно), очистить его табличную часть и сформировать заново, причем разумеется необходимо учитывать поправку на то, что часть итогов «списана» самим документом и их тоже надо как-то приплюсовать к общим итогам. Знаю по крайней мере три способа как это сделать, но все они мне не нравятся, так как приходиться извращаться. //= = = = = = = = = = = = = = = = = = = = = = = = = = = 1-й способ, кардинальный. Если документ проведен, просто запретить его редактирование. Минусы-неудобно пользователю, чтобы что-то поправить в документе, прийдется его закрыть, отменить проведение, открыть заново ну и дальше по порядку. 2-й способ, выгружать итоги, полученные бух. запросом в ТЗ, затем туда – же добавлять итоги из ТЧ или проводок документа 3-й способ, обход блокировки документа, то есть писать дополнительный отчетик, ну это когда документ программно закрывается для снятия блокировки, при закрытии открывает сей отчет и передает в него свои данные, этот отчет на основе полученных данных находить док в базе, распроводит, закрывается и открывает заново документ, уже непроведенный – этот способ тоже довольно муторный, хотя однажды я его использовала, хотя и немного для других целей – когда-то делала под заказ документ типа Путевого листа, но была не до конца уверена, что заплатят – ну и добавила немного кода, после чего после некоторой даты документы при сохранении/закрытии стали удалять сами себя ;)). //= = = = = = = = = = = = = = = = = = = = = = = = = = = Описала подробно все три способа, чтобы никто не повторился, если будет отвечать. Что-я хочу? – что-нибудь простого и эффективного, например, как-нибудь программно отключить у редактируемого документа проводки перед перезаполнением ТЧ и одной командой без всяких левых служебных ТЗ и обработок формируем бух запрос (без учета движений текущего документа), на основе которых и заполняем колонки табличной части…. (через ВключитьПроводки это просто так не получиться – натыкаемся на блокировку)
#1
by Maja
извиняюсь, стормозила немного... Читайте так: Иногда бывает необходимость открыть документ с проводками (интерактивно)
#2
by Diter
Запрос без учёта движений текущего документа БИ.ВыполнитьЗапрос(,ТекущийДокумент,.........)
#3
by Maja
Спасибо, это половина решения :), но как еще можно исключить документ из итогов? - если я ,например, использую запрос без привязки к ДатаДок, например, когда КонецПериода в запросе - это ТекущаяДата или дата Документа - основания, расположенного дальше по оси времени?
#4
by Дяпти
Если бухитоги, тогда возможно получится, если ВыключитьПроводки, потом выполнить запрос, а потом включить проводки назад.
#6
by Maja
Нельзя выключить проводки - текущий документ открыт, а значит заблокирован... (недоверчиво...) Это как? - Итоги1-Итоги2 ??? Я такую траву не курю...
#9
by Maja
Дитер, извини если обидела! "Я такую траву не курю" читай как "хватит прикалываться". Майя
#10
by Diter
Проехали :))) Может конечно я и не так чего сказал, но по логике получается что для "итоги без учета движений текущего документа" нужно получить итоги и отнять движения :))
#11
by maja
Посмотри почту, я письмо отправила. Вкратце повторюсь- если у меня итоги - это объект типа бух итоги, значит движениядокумента тоже должны быть типа бух итоги, но ведь такие объекты нельзя складывать/вычитать? ли я тебя не поняла.. Да и нельзя постоить бух запрос только для проводок одного документа..
#12
by Diter
Почту не гляну - ящик блокирован. Ты делаешь запрос по конкретным счетам, так? Движения документа (проводки, которые он формирует) ты получить можешь, так? Что мешает отнять от ИТИтогов.СКК(Счет) движения по кредиту, выполненные документом по этому же счёту?
#17
by 427
я /et. по полной... Это вам не доверенности получать... Хотя все делается самим запросом... если его грамотно слепить...
#20
by firster
Если без баяна не понятно, тогда далее так: БИ.ВыполнитьЗапрос(,Позиция,Сч,....); Если документ уже существует и проведен, то делаем запрос на 1 позицию перед документом (тогда проводки самого документа на итоги не повлияют), если документ новый - то на конец даты.
#23
by Maja
Firster, спасибо что разрулил ситуацию с позицией документа, но все же ты не до конца понял условие задачи. Пусть у нас будет документ от 01.03.05 с проводками, а нам надо его открыть и через кнопку на его форме сформировать бухитоги (или остатки по регистрам) на 20.03.05, причем чтобы в бухитоги не попали движения самого документа – как это проще всего сделать? Можно, например, так: Смысл, я надеюсь, понятен. При вызове процедуры документ перезаписывается и проводиться, но поскольку ТЧ пустая, то останется проведенным, но проводок содержать не будет. Существенное НО, почему делать этого не стоит – это опасность такой кнопки в плане сохранения исходных данных документа. Документ сразу перезаписывается и перепроводиться, поэтому отменить изменения, сделанные в документе и вернуться к исходному состоянию уже невозможно. Интересно, а в восьмой версии все-таки как-то можно обойти блокировку открытого документа штатными средствами?, или временно отключить проводки открытого документа, не натыкаюсь на блокировку?
#24
by 427
Интересно, какой извращенец придумал приведенную в методику? Хотя... Все как обычно в 1С - через одно место и в сад...
#26
by Proba
А что мешает в процедуре ЗапросПоЩелчкуНаКнопке в место 1 и 2 строки просто использовать метод СделатьНеПроведенным? Или я чего - то недопонимаю?
#28
by Proba
Сорри - он здесь неприменим, поскольку катит только для объектов созданных функцией СоздатьОбъект.
#29
by Дурочкааа 1С
Maja, Вы, наверное, какой-нибудь диплом пишете? И тема, наверное, очень интересная. Типа, "Бухучет в психушке".
#30
by Дурочкааа 1С
Maja, а вот это вы писали? "даже получала доверенность на право выступать в суде от лица фирмы 1С (aka Дарумсан), когда пробовали прижать пиратов в нашем городе" Значит вы тоже в этом участвовали? У вас же руки в крови. Как же у вас хватает совести предлагать кому-то свое партнерство? Думаете это можно купить за коробку? Что сталось с вашей принципиальностью сейчас? Почему вы задаете вопросы на этом форуме? Здесь, конечно не пираты, которых вы прижимали, но и не линия консультации для франчайзи.
#32
by firster
Често говоря, тоже не понял зачем это нужно: нарушается последовательность документов, возможны проблемы с перепроведением или со списанием, тем более при партионном учете. Обычно делают проверку на заполняемость табличной части в модуле документа: Но если все же попытаться это сделать, то как-то так:
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Создаем ВК "без программирования",получаем задержку в N-сек без 100% загр.
- Как закрыть форму документа, без сохранения и без запроса на сохранение
- Настройка Нал.Учета, Бух. Учета, Упр. Учета
- Получение остатков по регистру без учета текущего документа
- УПП "Оприходование товаров" ввод начальных остатков без налогового учета
- FTPСоединение.НайтиФайлы поиск файлов без учета регистра
- v7: запрос к итогам региста без учета текущего документа
- Как получить остатки без учета движений проводимого документа?
- БП3 отчёты руководителю без копеек, как сделать, чтобы было без округлений.
В этой группе 1С
- Удаление документа Поступление доп.расхода
- Печатная форма документа в УПП
- Как вставить текущие закупочные цены в расходной накладной?
- Настройка параметра Год начала рабочего столетия
- Двойной отбор в журналах документов
- Как восстановить удаленный документ.
- ПУБ: Закрытие месяца: Распределение 16 счета.
- СтатьиЗатрат.Записать() {код не уникален} ПУБ
- Export77.ert выдает ошибку
- v8. Найти группу в справочнике по коду
- Как программно изменить имя параметра в макете?
- Программно спозиционироваться на элементе в форме подбора справочника...
- 1С 7.7 SQL: Какое максимальное кол-во элементов может хранить справочник?
- Как перевести осн.ср-во с учета на счете 01 на счет 03?
- Как выгрузить расход и приход?
- ЗиК 2.51 договор ГПХ
- Нужен ли сервер приложений?
- Как перехватить печать документа из 1С
- ЗиК: работа в праздник и табель
- Можно ли в запросе выводит групировки не сверху а снизу группы