|
Внешняя обработка ЗаполнениеОбъекта без запроса о записи документа? | ☑ | ||
---|---|---|---|---|
0
AlexTimin
05.10.21
✎
13:46
|
Всем привет. Нужно заполнить ТЧ документа, перед этим показав пользователю форму с параметрами.
Используется Внешняя обработка с типов ЗаполнениеОбъекта и командой ОткрытиеФормы. Так вот после нажатия на кнопку заполнения в форме нового документа система просит записать документ, либо Отмена. Как "убрать" типовую проверку на запись объекта? БСП 3.1.3 |
|||
1
Kassern
05.10.21
✎
13:51
|
(0) а причем тут Внешняя обработка ЗаполнениеОбъекта? Скорее всего при заполнении используете какую нибудь типовую функцию, которая просит записать док перед заполнением. Так как в противном случае не сможет какие нибудь записи в регистры сделать. Если вы тот же код встроите в форму в какую нибудь кнопку, у вас так же будет просить записать новый док. Можете комментировать внутрянку кнопки в форме внешней обработки и увидеть что ничего не просит кнопка при нажатии)
|
|||
2
AlexTimin
05.10.21
✎
13:54
|
(1) да куда там.
Специально закомментил все в процедуре ВыполнитьКоманду на форме, то же самое |
|||
3
Андроны едут
05.10.21
✎
14:01
|
Модифицированность = Ложь
|
|||
4
AlexTimin
05.10.21
✎
14:10
|
(3) этот вариант поможет только если типовую конфу дорабатывать, а "это не наш метод" (с)
|
|||
5
pechkin
05.10.21
✎
14:11
|
нужно тип обработки верно указывать.
|
|||
6
pechkin
05.10.21
✎
14:12
|
||||
7
AlexTimin
05.10.21
✎
14:23
|
(6) Видел, осознал, но в моем случае что то еще.
Что у меня в модуле обработки: Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(СтандартныеПодсистемыСервер.ВерсияБиблиотеки()); ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиЗаполнениеОбъекта(); ПараметрыРегистрации.Версия = "1.0"; ПараметрыРегистрации.Наименование = Метаданные().Представление(); ПараметрыРегистрации.Информация = НСтр("ru = 'Заполнение документов передачи спецодежды"); ПараметрыРегистрации.БезопасныйРежим = Ложь; МассивНазначений = Новый Массив; МассивНазначений.Добавить("Документ.ЗаказНаВнутреннееПотребление"); МассивНазначений.Добавить("Документ.ЗаказНаПеремещение"); ПараметрыРегистрации.Назначение = МассивНазначений; Команда = ПараметрыРегистрации.Команды.Добавить(); Команда.Представление = НСтр("ru = 'Заполнение документов передачи спецодежды'"); Команда.Идентификатор = "НСМ_ЗаполнениеТабличнойЧастиДокументовПередачиСпецодежды"; Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовКлиентскогоМетода(); //Команда.РежимЗаписи = "НеЗаписывать"; //Команда.ПоказыватьОповещение = Ложь; Возврат ПараметрыРегистрации; КонецФункции Что в модуле формы: &НаКлиенте Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт Сообщить("тест"); КонецПроцедуры Создаю новый документ заказ на внутр потребление, спрашивает: Для выполнения операции "Заполнение документов передачи спецодежды" данные будут записаны. Продолжить? |
|||
8
Мультук
гуру
05.10.21
✎
14:42
|
(7) Я делал через
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиЗаполнениеОбъекта(); НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы(); А внутри формы по нажатию кнопки &НаКлиенте Процедура ИмпортДумми() //Всякое НоваяСтрока = ВладелецФормы.Объект.Зарплата.Добавить(); //Еще всякое КонецПроцедуры |
|||
9
DTX 4th
05.10.21
✎
14:44
|
Натыкался на подобный косяк в БСП. Забил в итоге
|
|||
10
AlexTimin
06.10.21
✎
10:53
|
В модуле ДополнительныеОтчетыИОбработки.ПриОпределенииКомандЗаполненияПодключенныхКОбъекту есть код, в котором строго прописано, что если вариант запуска
Если СтрокаТаблицы.ВариантЗапуска = ЗаполнениеФормы Тогда Команда.Обработчик = "ДополнительныеОтчетыИОбработки.ОбработчикКомандыЗаполнения"; Команда.РежимЗаписи = "НеЗаписывать"; Иначе Команда.Обработчик = "ДополнительныеОтчетыИОбработкиКлиент.ОбработчикКомандыЗаполнения"; Команда.РежимЗаписи = "Записывать"; КонецЕсли; Следовательно при Серверном вызове (заполнениеФормы) отработает без вопроса о записи, в Клиентском с записью.. Пробовал менять это, помогает, работает как я хочу но как это отразится на других обработках и в дальнейшем вообще хз. |
|||
11
runoff_runoff
06.10.21
✎
11:06
|
(10) универсальное решение - добработки надо делать в расширении.. где в модуле менеджера обработки в процедуре ДобавитьКомандыЗаполнения можно явно указывать режим Записать/Не записать..
|
|||
12
DrZombi
гуру
06.10.21
✎
11:08
|
(0) Если надо, что бы человек не мог писать такой документ самостоятельно, то попросту запрети ему запись, установив какой либо параметр в форме "Типо я тут только посмотреть" :)
|
|||
13
DrZombi
гуру
06.10.21
✎
11:09
|
+ Прописав строчку в "Перед записью" (на форме документа) ... Условие проверки твоего параметра на Истину :)
|
|||
14
DrZombi
гуру
06.10.21
✎
11:10
|
(10) Ересть, человек найдет, как записать :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |