#0
by Opossum
Добрый день. Пытаюсь разобраться с 1с, решил написать простенькую конфигурацию. Сразу возникла такая проблема: есть документ "ОплатаШтрафа", в модуле идет обработкапроведения документа. Мне нужно в двух местах вывести информационное сообщение. Либо штраф начилнен и все хорошо, либо не за что начислять штраф и тоже все хорошо. Функция Сообщить работает только при отказах, Предупреждить не работает. Пишет какую-то ерунду. Если перед Предупредить пишу &НаКлиенте, выдается ошибка: неопознанный оператор. Как вывести тонкому клиенту информационное сообщение перед тем, как документ проведется? Код прилагаю:
#3
by Opossum
Если Штраф>0 Тогда Сообщить("У Вас есть несданная книга: " + НаименованиеНесданнойКниги + " . Вы не можете получить новую книгу. Сдайте книги и оплатите штраф: " + Штраф + " рублей."); Отказ = Истина; Тогда сообщение выводится. Если режим проведения, сообщение не выходит
#5
by Гипервизор
"Сообщить работает только при отказах" - да что вы говорите.. "Предупредить" - что-то новенькое.. "Если перед Предупредить пишу &НаКлиенте" - директивы компиляции не указывается внутри процедуры.
#6
by PiterPrg
Давно-давно, когда дискеты были большими, а программы маленькими (где-то в 2000) я осваивал 77 и написал конфу, в которой создавал/писал справочники в модуле проведения. :-) С тех пор никогда так больше не делал. :-) Убери табличную часть справочника. Создай регистр (можно регистр сведений периодический)
#8
by Opossum
"и это... никогда не меняй данные объекта при записи" а как их менять? ""Предупредить" - что-то новенькое.." Предупреждение А внутри функции можно указать директиву выполнения?
#9
by Opossum
А если создать общий модуль, который будет выполняться на клиенте, написать процедуру вызова сообщений. То как к ней обратиться при проведении документа?
#10
by DrZombi
В модуле проведения вообще нечего никогда не используй в плане вывода модальных окон. Так же Сообщить на УФ из модуля не увидят, т.к. код выполняется на сервере 1С
#11
by PiterPrg
Ни как не меняй. Подумай, что произойдет, если перепроведут документ задним числом. Регистр остатков Книга/Читатель/КОличество
#13
by DrZombi
Дарю СообщениеПользователю (UserMessage) Свойства: ИдентификаторНазначения (TargetID) Методы: Конструкторы: По умолчанию Описание: Предназначен для хранения параметров сообщения, которые необходимо вывести пользователю. Если сообщение еще не было показано пользователю (такое может быть при работе на стороне сервера, в фоновом задании, внешнем соединении или Web-сервисах), можно получить накопленные сообщения методом ПолучитьСообщенияПользователю. В управляемых формах, в случае выполнения просмотра сообщения, выполняется следующий механизм обработки: Если у сообщения свойство КлючДанных заполнено и не совпадает с ключевым значением основного реквизита текущей формы (ссылкой объекта или ключом записи регистра сведений), то: открывается новая форма объекта, соответствующая значению свойства КлючДанных; если у сообщения свойство ПутьКДанным не заполнено, то в него проставляется имя основного реквизита открытой формы объекта; вызывается показ сообщения в только что открытой форме; выполняется перенос всех соответствующих сообщений из окна первой формы в новую форму (с таким же значением свойств КлючДанных, как у выбранного сообщения). При этом перенесенным сообщениям аналогичным образом проставляется свойство ПутьКДанным, если оно не установлено. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. Пример: Процедура ДействиеСОбъектом(ОбъектДанных) Текст = "ru = ""В строке 11 табличной части ""Номенклатура"" не хватает ";" + " en = ""In line 11 of tabular section ""Nomenclature"" is missing "; См. также: Глобальный контекст, метод УстановитьСоответствиеОбъектаИРеквизитаФормы Глобальный контекст, метод ПолучитьСоответствиеОбъектаИРеквизитаФормы Глобальный контекст, метод ПолучитьСообщенияПользователю
#15
by Nuobu
Так и пишет "Ошибка в модуле обработки в функции "ОрботкаПроведения". Вы там пытаетесь сделать какую-то ерунду - показать диалог на сервере, в то время, как в 1С запрещен вызов окон в серверных методах.".
#16
by Opossum
прочитал, что сообщениеПользователю выдается, когда управление переходит на клиента. Вот код: КонецПроцедуры Вроде все по мануалам, но сообщение не выводится. Как мне ередать управление клиенту?
#18
by lera01
Делай в обработчике ПриЗаписи или еще каком обработчике формы, а все нужные проверки делай перед проведением.
#19
by PiterPrg
У тебя случаем не закрывается документ после проведения? :-) Если да - то с ним просто закрывается окно с сообщением. А от этой дряни все-же откажись >>ЧитательВСправочникеОбъект.Записать; Создай 2 документа на одного читателя и проведи их несколько раз в разной последовательности. Поле каждого раза смотри Книги на руках.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Не могу открыть 1С и Конфигуратор не могу
- Не могу провести документ в Торговле 7.7 будущей датой.Подскажете!!!
- Не могу записать элемент справочника. RLS
- Как вывести сообщение пользователю в форме, не привязанной к объекту?
- Отчет СКД, не могу вывести параметры в быстрые настройки.
- Можно-ли в УФ, вывести сообщение пользователю, во время проведения?
- Как вывести сообщение пользователю при выполнении регламентного задания в 8.3
- есть ли "прямой" способ вывести сообщение пользователю?
- Как вывести сообщение пользователю из модуля объекта?
В этой группе 1С
- БСП: группы доступа к видам номенклатуры
- Зависшие сеансы в кластере 1С
- отвалилась таблица Params
- Розница 2.2.4.15 - перестала запрашивать акцизную марку.
- УТ 11 Отчет по дебиторке в разрезе документов
- Проблема при обмене с ftp
- работа с Виалон -- как получить список имеющихся отчетов
- Закрытие счета 20 в бухгалтерии сельскохозяйственного предприятия
- 1C: Документооборот Вставка регистрационного штампа на каждую страницу документа
- УПП. Партионный учет. Оприходование материалов из производства, стоимость.
- Изменение реквизитов документа в закрытом периоде 1С УПП
- Универсальный формат данных
- Раскрашивание управляемой формы списка документов в зависимости от условия
- Использование фискального регистратора в качестве принтера чеков
- УСН не отражается зарплата начисленная в ЗУП в КУДиР (БП)
- Подскажите как программно изменить значение в поле ввода?
- Как сбросить пароль администратора 1с в клиент-серверном варианте
- Недостаточно данных для изображения при сохранении и дальнейшем открытии в pdf
- КД2. Не выгружаются реквизиты справочника.
- Убрать из общего итога кое что (СКД - Вычисляемые поля)