УФ и проведение документа 8.3 интерфейс "Такси" #684595


#0 by GhostAnton
Суть проблемы в следующем,есть самописная конфигурация на уф 8.2, столкнулся с проблемой при переделке на уф 8.3 с интерфейсом такси. В старых уф было организовано следующее, если не заполнено поле "сумма задатка" то перед записью выдавался вопрос "Провести документ без задатка?"  в режиме да/нет, если нажимаешь да то документ проводится если нет то отказ от записи и проведения и показывался документ для корректировки. В режиме такси отсутствуют модальные окна и модуль продолжает выполняться когда организуешь вопрос пользователю, все бы ничего только вот этот нюанс, на вопрос еще не ответили а документ провелся уже, пробовал делать так чтоб только после ответа документ сохранялся и закрывался но провести документ не получается выдает ошибку параметра записи. Помогите правильно организовать алгоритм чтоб не делать это через одно место. &НаКлиенте
#1 by GhostAnton
Никто не сталкивался еще с этим?
#2 by hhhh
ну как-то так Если ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Нет Тогда    Отказ = Истина;
#3 by banco
После ПоказатьВопрос Отказ = Истина;
#4 by GhostAnton
В этом то все и дело что так к сожалению нельзя насколько я правильно понял {Документ.ЗаказТМЦ.Форма.ФормаДокументаУФ.Форма(122,8)}: Обращение к процедуре как к функции (ПоказатьВопрос)         Если <<?>>ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Нет Тогда  (Проверка: Тонкий клиент)
#5 by banco
не надо условие, просто после ПоказатьВопрос, Отказ =Истина; ты же в обработчике записываешь
#6 by GhostAnton
да я пишу отказ истина, но дело в том что при ответе да не могу автоматом провести документ, только после второго нажатия на кнопку провести документ проводится: первый раз нажимаешь он спрашивает и устанавливает параметр а второй раз нажимаешь и он проводится и закрывается, если делаю сохранить с режимом записи проведение, то выдает ошибку, если просто сохранить то документ записывается но не проведенный.
#7 by MrStomak
определить на форме реквизит "РезультатОтвета", перед записью если реквизит не заполнен показывать немодальный вопрос и отказываться от записи, в обработке события ответа на вопрос вызывать еще раз проведение.
#8 by GhostAnton
так и делаю, но чтоб провести документ приходится второй раз нажимать на провести и закрыть после вопроса, а нужно чтоб после положительного ответа документ провелся и закрылся :(
#9 by GhostAnton
У меня в модуле так и сделано и реквизит документа заведен для этого специально, как вызвать проведение программно открытого документа если Записать(РежимЗаписиДокумента.Проведение) выдает ошибку параметра :(
#10 by banco
через дополнительные параметры в показатьвопрос передаешь параметрызаписи, в обработчике в ВопросЗакрытияДокумента ставишь в эту структуру флаг,что уже проверил и в ПередЗаписью проверяешь если есть этот флаг, то уже не задаешь вопрос
#11 by GhostAnton
Выдает конкретно вот это когда я пытаюсь провести, хотя синтаксис верный {Документ.ЗаказТМЦ.Форма.ФормаДокументаУФ.Форма}: Ошибка при вызове метода контекста (Записать)         Записать(РежимЗаписиДокумента.Проведение); по причине: Несоответствие типов (параметр номер '1')
#12 by MrStomak
Расширение управляемой формы для документа (Managed form extension for documents) Записать (Write) Синтаксис: Записать(<ПараметрыЗаписи>) Параметры: Тип: Структура. Структура параметров записи, которые могут быть обработаны в обработчиках событий записи. Состав параметров произвольный. Содержит предопределенные параметры записи РежимЗаписи и РежимПроведения. Предопределенные параметры передаются в метод объекта Записать. Параметры записи можно обработать в событиях формы ПередЗаписью, ПередЗаписьюНаСервере, ПриЗаписиНаСервере, ПослеЗаписиНаСервере, ПослеЗаписи. Возвращаемое значение: Тип: Булево. Истина - успешно записан; Ложь - в противном случае. Описание: Записывает объект.
#13 by GhostAnton
Вот то-то и оно что просто Записать записывает документ, а вот с параметрами что его нужно провести не проводит а выдает ошибку из
#14 by Зойч
делать не передзаписью, а в отдельной процедуре из которой вызывать записать
#15 by Зойч
параметры другие присмотрись
#16 by GhostAnton
ответ на вопрос возвращается вообще в отдельную процедуру в которой я и пытаюсь записать сама логика у них теперь в "такси" такая
#17 by banco
так передай правильный параметр
#18 by GhostAnton
Не понимаю как его описать, в предыдущих версиях было Записать(РежимЗаписиДокумента.Проведение)
#19 by GhostAnton
Блин что получается теперь структуру надо передавать вместо конкретно параметра???
#20 by GhostAnton
Огромное спасибо, все получилось действительно теперь это пишется через структуру с параметром и в конечном итоге все заработало как я хотел
#21 by Поросенок Петр
В командах с галкой "изменяет данные" тоже подобная хрень.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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