Нужно чтобы при закрытии документа через крестик он не запрашивал сохранение #489616


#0 by Вовчик
Собственно, вот и весь вопрос))) Надо чтобы не выскакивал вопрос о сохранении документа при закрытии его через крестик в углу формы.
#1 by Вовчик
Извиняюсь не в ту секцию написал вопрос по 1С 7.7
#2 by IronDemon
Не открывай документ.
#3 by Вовчик
Отличный совет но в моем случае не подходит))
#4 by lals
Так Если ты в нем не ковырялся он и не запросит подтверждения, а если влез ручками своими то идет запрос по любому
#5 by dk
как уже сказали - ничего не меняй на форме - тогы и спрашивать не будет есть исключения - тупо изменяется реквизит при открытии - можно убрать отчет через изврат (начатьтранзакцию;ЗАписать;ОтменитьТранзакцию) но лучше не надо
#6 by Вовчик
То есть при изменении документа, от этого вопроса уже никак не избавится? Нельзя как нибудь сбросить свойтво модифицированности опять на ноль?
#7 by mr_K
Если в ПриОткрытии программно меняются реквизиты, то вне зависимости от того, были ли интерактивные изменения получишь запрос на сохранение. Этого можно избежать сбрасывая флаг модицированности в ПриОткрытии после программных изменений реквизитов. Если в ПриОткрытии ничего не происходит, и все изменения "интерективны" - то по крестику в любом случае будет запрос на сохранение. Можно конечно извратиться и обойти, но в данном случае это вообще не имеет смысла, имхо.
#8 by vasilii85
Чем тебе это мешает?
#9 by strange2007
отверткой или молотком на крестик надо нажать
#10 by Вовчик
имеет смысл, просот форма документа используется как вспомогательная для заполнения другого докуента. Она не должна нигде записываться. И вопросов тоже желательно чтоб не задавала. Конечно можно вместо формы документа использовать обработку, но просто у документа у же готовый функционал, типа ввода новой строки и удаления. Как сбросить флаг модифицированности?
#11 by DEVIce
. Наверное в таком случае надо использовать не документ, а обработку?
#12 by mr_K
В уже был способ. Главный вопрос - в какой момент вызывать этот код. Насколько я помню нажатие на крестик сначала спрашивает про запись и только потом вызывает обрабатываемое событие(призаписи(если необходимо), призакрытии).
#13 by mr_K
к
#14 by Вовчик
Если честно то про "можно убрать отчет через изврат (начатьтранзакцию;ЗАписать;ОтменитьТранзакцию) но лучше не надо" я не очень понял где это делать и что  это даст И подскажите как флаг модифицированности сбрасывается?
#15 by NS
пример есть на sinor-е у mszsuz-а
#16 by Rie
Модифицированность;
#17 by lals
Может это и смешно кому то покажется а я бы его все время после использования перезаписывал по ОК только менял постоянно ДатаДок и ВремяДок на текущее чтобы он вечно болтался в конце журнала и был под рукой. Естественно с очисткой реквизитов. Процедура ПриЗаписи
#18 by Вовчик
Я так пробовал, выдает ошибку "слишком много фактических параметров"
#20 by UprDem
Что ж это за база такая? Где ДатаДок всегда текущая? Просто интересно...
#21 by Fram
странный вопрос
#22 by lals
Читай у него не док как таковой а обработка в виде дока, ему его хранить вообще не надо он хочет его создать, сделать то что он должен сделать и закрыть не сохраняя. Я предложил вариант когда существует всего один док на всю базу он находится постоянно в конце журнала, по крайней мере в зоне видимости , открывается делает свое дело и по ок записывается в последнюю позицию(перезаписывается)
#23 by lals
всю!базт = всю базу
#24 by DrZombi
Пользователь документ та хоть меняет? Или он до такой степени ленив, что отредактировав документ ему вломы нажимать нет, когда 1С спрашивает, про сохранение документа ? :)
#25 by UprDem
Понятно... Не дочитал... Но в любом случае... Прогмеру лень десяток строк перебить, а пользователю - "нет" нажать... Свои люди,договорятся...
#26 by aka AMIGO
в архиве на синор.ру что-то было.. только у меня он не открывается :(( а было вот что: документ, открытый только для печати, приобретал свойство модифицированности умные головы обходили этот момент.. попытайте счастья, может, откроется - тогда найдете :)
#27 by Вовчик
Да не вопрос договоримся)))) Я сделал запрет на сохранение, если пользователь нажмет "да" при закрытии. Но начальник говорит лучше чтоб вообще не задавал вопросов, а то некоторые пользователи когда видят сообщения типа " Эту форму нельзя сохранять" сами начинают много вопросов задавать))))
#28 by Вовчик
Спасибо, щас гляну.
#29 by Вовчик
а как статья хоть называлась не помнишь?
#30 by aka AMIGO
""Сбросить признак модифицированности формы"" текст: Такая штука пригодится, когда документом пользуются не по назначению - т.е. как формой ввода - и чтобы не было вопроса о сохранении при закрытии этого служ.дока можно воспользоваться решением: <сообщил Олег Тихоненко>
#31 by aka AMIGO
похоже, немного не то, что тебе надо
#32 by Вовчик
Это то что нужно))) Спасибо, щас обмозгую как применить)))
#33 by DrZombi
Вот оно что :) Ты не документ сохраняешь, а редактируемую таблицу :) Тогда и писал бы яснее, а то написал "Документ" :) Оставь как есть, или выстави у формы "Только чтение" ;)
#34 by aka AMIGO
однако, нет, там есть "..Записать" - и это плохо.. если внесены изменения!?!? они сохранятся.. :((
#35 by Ёпрст
не сохранятся.
#36 by Попытка1С
Только в журнале будет инфа о том что док записан.
#37 by Ёпрст
не будет
#38 by Попытка1С
Будет
#39 by Ёпрст
с какой радости?
#40 by Ёпрст
при програмном проведении документа, в ЖР вообще ничего никогда не пишется, это раз, тут отмена транзакции(записи вообще не было) - это два
#41 by Вовчик
Так мне надо будет эту процедуру применить ко всем реквизитам формы? И где это надо делать, в процедуре ПриЗакрытии?
#42 by Ёпрст
нет.
#43 by Попытка1С
Событие: Документ записан.
#44 by Вовчик
При открытии работает,т.е. програмные изменения которые производятся при открытии сбрасываюся, но если я произведу изменения на форме в ручную, то не получается. Или для интерактивных изменений это не подходит?
#45 by Попытка1С
Это я написал как пример, что событие пишется в ЖР при отмене транзакции.
#46 by Попытка1С
Для интерактивных изменений нужно вставлять не процедуру ПриОткрытии, а например ПриЗакрытии
#47 by aka AMIGO
это надо в ПриЗакрытии отслеживать..
#48 by Вовчик
Не работает в ПриЗакрытии. Похоже этот вопрос задается до начала процедуры ПриЗакрытии
#49 by NS
Если вставить в приЗакрытии то конечно вопрос о сохранении не уберется. Но в что нужно? Чтоб не было вопроса, или чтоб не сохранялся?
#50 by NS
Не похоже, а точно задается до входа в процедуру призакрытии.
#51 by Вовчик
И то и другое
#52 by Ёпрст
возможно.. у меня вообще отключен ЖР всегда. Зачем ?
#53 by Попытка1С
.1 Ну так у тебя он вообще не пишет =)
#54 by NS
Сделай кнопку Закрыть, в которой закрывай без предупреждения. А на крестике пущай ругается... но не записывает.
#55 by Попытка1С
Интересно а если повесить на форму формековскую СбросМодифицированности что будет...
#56 by Вовчик
На данный момент так и есть. Ну ладно раз уж ничего не сделать пусть так и будет.
#57 by NS
отслеживай изменения формы, и сбрасывай признак модифицированности. отслеживать легко - функция на форме, в ней смотришь признак, и если модифицированна, то "хитро" сбрасываешь через форма.закрыть
#58 by NS
А зачем? Всё штатно делается.
#59 by Ёпрст
я бы вообще не баловался с модифицированностью..ни так, ни с помощью формекса - баловство.. Если модифицированность "завязана" на текстовом реквизите, он от неё никогда не избавится.
#61 by Вовчик
я не понял а зачем Форма.закрыть? И мы же вроде выяснили что процедура ПриЗакрытии выполняется уже после вопроа о сохранении.
#62 by NS
Для того чтоб сбросить признак модифицированности. В функции на форме тебе ругнется на записать; Там неточность - нужно конечно в функции на форме - флаг=флаг+1; а при закрытии - если флаг<>0 тогда
#63 by Вовчик
Так у меня ж форма закроется как только я чтонибудь на ней изменю, разве нет?
#64 by Вовчик
Да закрывается
#65 by NS
вот так. Но вычисляемые текстовые поля конечно поломают тебе всю малину. Модифицированность будет 0, а спрашивать будет...
#66 by NS
Если что-то поменяешь, то сработает статусвозврата, а если нажмешь на крестик - то не модифицирована, поэтому закроется.
#67 by Guk
помница на форме с кучей реквизитов, такая конструкция тормозит безбожно...
#68 by NS
Её еще нужно доработать - иногда два раза подряд вызывается процедура на форме с попыткой закрыть, а потом два раза подряд пытается зарыть... То есть надо всё-таки
#69 by Ёпрст
лучше внедри мой класс Undo - там сможешь циклически менять всё, что на форме изменил (все реквизиты документа) по Ctrl+z
#70 by Вовчик
При применении твоего способа, у меня вылетает 1С при внесении изменений в форму. Попробовал также обработать эту конструкцию в процедуре ПриОкончанииРедактированияСтроки и тоже вылетает. А у тебя нормально работает?
#71 by NS
Нормально. Последний вариант. Предпоследний - иногда форма закрывается при изменении реквизита. А "флаг" ты предварительно сбрасываешь? Где вылетает можно посмотреть в отладчике.
#72 by Вовчик
Попробуй у себя вставить эту конструкцию с транзакциями в процедуру ПриОкончанииРедактированияСтроки. Будет работать или нет. Кстати как ты листинг кода выкладываешь здесь?
#73 by NS
Движок форума сам может определить что это код. В приокончанииредактирования вставил - ничего не вылетает. Если и там и там, то конфликтуют между собой и начинается свистопляска.
#74 by NS
(+73) То есть если и функция на форме, и в приокончанииредактированиястроки либо пытаемся закрыть, либо сбросить флаг модифицированности начинается беда. Но ничего не вылетает.
#75 by Вовчик
нет ты все что у тебя было убери и сделай Процедура ПриОкончанииРедактированияСтроки Попробуй что нибудь ввести в табличной части, и проверь закрывается ли после этого без вопросов. Если тебе не трудно, конечно))))
#76 by NS
Мне никак сейчас - нужно срочно писать по-работе.
#77 by Вовчик
ладно спасибо) сам найду нормальную 1С у меня просо расширенная и глючная стоит
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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