Кнопка "Провести и закрыть" #747106


#0 by alexsandrinia
как добавить свою процедуру при нажатии этой кнопки? где описывается эта кнопка?
#1 by romix
События формы.
#2 by alexsandrinia
ПослеЗаписи ?
#3 by alexsandrinia
мне нужно, чтоб после проведения происходили изменения.
#4 by Альбатрос
Изменения с чем?
#5 by alexsandrinia
с другими документами. если просто "записать" - то ничего не происходит, а если "провести" - будут происходить
#6 by Альбатрос
А при отмене проведения?
#7 by Альбатрос
ОбработкаПроведения в модуле объекта короче. Вот тебе граната.
#8 by alexsandrinia
ааа...спс!
#9 by denk
мощная граната...
#10 by Ymryn
на мой взгляд лучше не трогай её (я про ОбработкуПроведени). Есть смысл использовать сможешь определить, что это не просто запись, а проведение. Чтобы быть вне транзакции проведения. Хотя сама по себе концепция менять другие документы при проведении - не очень хорошая вещь, лучше бы каким-нибудь иным способом задачу решить.
#11 by alexsandrinia
почему менять другие документы при проведении - не очень хорошо?
#12 by Господин ПЖ
потому что последовательности, блокировки и например зацикливание при каскадном перепроведении - в зависимости от кривизны рук
#13 by Ymryn
Теряется прозрачность изменений. Пользователь не контролирует изменения в других документах. Возможны случайные изменения других документов, когда пользователь не в курсе этих модификаций и с учетом своих знаний решает "просто перезаписать документ". Сложность отката изменений в подчиненных документах в случае отмены проведения. Цепочки блокировок, т.е. два пользователя могут устроить целый шквал изменений, безобидным перепроведением. В ряде случаев даже попытаться изменить один и тот же документ, если он каким-то образом окажется в списке изменяемых сперва у одного, потом у второго.
#14 by Ymryn
бонусом идет очень шикарная отладка. Когда получить информацию от пользователей довольно сложно, ибо они не понимают, что делают. А результаты в базе не соответствуют желаемым и начинается борьба с "у вас все не работает, вы нам работать мешаете. Сделайте что-нибудь."
#15 by alexsandrinia
можно же пользователю просто поставить запрет на редактирование(перепроведение) документа и всё...
#16 by Господин ПЖ
>бонусом идет очень шикарная отладка. да... получить "в данной транзакции уже были ошибки" в одном месте, из-за косяка на пару тысяч строк "выше" и в другом модуле
#17 by Ymryn
т.е. убрать у пользователя право на ошибку? Идиллия конечно, что пользователь будет вводить данные оперативно, без ошибок, и без необходимости их редактирования задним числом. Но если получится этого добиться, то это сильное подспорье.
#18 by alexsandrinia
да там документ то - появляется список позиций, пользователь удаляет ненужные и у оставшихся позиций меняются статусы при проведении документы. думаю, тут уж никак не ошибиться..
#19 by Ymryn
некоторые люди в слове "ещё" допускают 4 ошибки. Это к в вопросу о возможности ошибиться :) Тем более, что невнимательность или окружающая обстановка могут повлечь за собой ошибки, казалось бы на пустом месте. Отключать право на ошибку, то исправлять скорее всего будет программист руками, ибо больше никто не сможет. Это тоже следует учитывать.
#20 by hhhh
в общем вам самому придется каждый день сидеть до ночи за всеми подчищать. Там не просто ошибки будут, а вал.
#21 by alexsandrinia
предлагаешь добавить кнопку "внести изменения" и там программно всё менять? не легче избавить пользователя от обилия разнообразных кнопок?
#22 by Ymryn
я пока ничего не предлагаю. Потому что обладаю весьма поверхностным описанием задачи. Мне сложно предложить что-то хорошее. Я лишь предупреждаю об опасностях, ибо я так делал и я через это все уже проходил.
#23 by Ymryn
вообще хороший вариант делать АРМы в таких случаях. Т.е. через обработки решать вопрос. Пилить интерфейс, чтобы пользователь все в 3 клика делал. Предусмотреть журналирование, если есть чуйка, что будут разборки кто, что и почему. А там уже с чистой совестью их предупреждать, что изменения необратимы и т.д. :)
#24 by alexsandrinia
вот я и хочу, чтоб всё было в 3 клика. а изменения всегда можно просмотреть в журнале. что такое АРМ?
#25 by Ymryn
Автоматизированное Рабочее Место. Так обычно называют обработку с интерфейсом, позволяющим удобно создавать/редактировать/помечать на удаление документ/группу документов.
#26 by alexsandrinia
чем тогда АРМ отличается от обычных интерфейсов?
#27 by Альбатрос
Тем, что это не интерфейс
#28 by Ymryn
мне сложно ответить на этот вопрос, ибо я его не понимаю. Я отвечу на несколько другой. АРМ - это обработка. Т.е. все изменения, которые вносятся через АРМ вносятся с помощью обработки. Ближайший аналог - "Групповое изменение реквизитов в документах". Рассматриваемый ранее вариант - это автоматическое изменение документов при проведении другого документа. Результат у них может быть одинаковый, но они имеют фундаментальное различие. АРМ предназначен для изменения документов. Пользователь заходя в АРМ, делает это с целью изменить эти самые документы. Весь интерфейс и логика работы обработки строится на том, чтобы изменять документы. Документ служит для фиксации определенного события в системе. Накладывать на него функцию изменений - не совсем корректно. Если брать пример из жизни, то мы можем рассмотреть такой серьезный архитектурный косяк проектирования человека. Пищевод, который мы используем для потребления пищи и трахея для дыхания имеют общий вход. Т.е. два различных функционала повесили на один объект. В результате теперь у нас есть возможные косяки с тем, что мы не можем дышать когда едим, ибо рискуем поперхнуться.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям