Дали задание доделать обработку внешнюю, чтоб сначала открывалась форма выбора комиссии. Сама форма уже есть написанная, осталось понять как её вывести перед открытием обработки.
Пытался через код
Процедура ПередОткрытием
#Если Клиент Тогда
ПолучитьФорму("ФормаВыбора").ОткрытьМодально();
#КонецЕсли
КонецПроцедуры
Не выводит. Ошибок не пишет никаких, но и сразу открывается основная форма. Если писать без
#Если Клиент Тогда
то будет вылезать ошибка "Интерактивные действия не доступны".
Также пробовал через
ОткрытьФорму("ВнешняяОбработка.АктСписания.Форма.ФормаВыбора", Новый Структура("РежимВыбора, МножественныйВыбор, Отбор", Истина, Истина), ЭтотОбъект);
Пишет
"Процедура или функция с указанным именем не определена (ОткрытьФорму)"
В программировании совсем недавно, пытаюсь вот совладать с этим.
Решение не моё! а Pavel Rodinchenko
в модуле ФОРМЫ СПИСКА документа требование накладная, в процедуре «Подключаемый_ВыполнитьКоманду» проверять на имя своей команды
Если Команда.Имя = "ПодменюПечатьОбычное_АктСписанияВнешний" Тогда
// открывать форму
// заполнить комиссию в ТЧ обработки
// заполнить комиссию в ТЧ документа
КонецЕсли;
И уже полученные значения хранить, но все дело в том, что тебе придется перезаписывать документ. А если хочешь именно для печатной формы самой это сделать, то я бы делал следующий образом: поискал бы возможность, чтобы отключить проверку на проведенность документа, потом делал бы действия описанные выше.
А это в форме выбора этой или в модуле обработки? Если второе, то при написании обработки "&НаКлиенте" нигде не использовалась. Там просто сплошной текст.
(4) Нет, у меня именно УФ. Обработка для БП 3.0. Обработка называется Акт списания, уже в первом соо исправил. Создана форма для нее только одна: ФормаВыбора, что мне и нужна.
11.
Pavel Rodinchenko
25.04.19 12:39 Сейчас в теме
(10)У Вас есть обработка. В ней есть форма, назовем ее "Основная", которая открывается по умолчанию и вместо которой Вам необходимо открыть форму для выбора комиссии, пусть называется "Комиссия".
Открываем форму "Основная", в самом низу формы есть вкладка "Модуль". Открываем ее. Там будут процедуры, Вас будет интересовать процедура "ПриОткрытии". Если ее нет, то ее необходимо создать. Для этого внизу формы нажимаем на закладку "Форма". Открываем свойства формы. В появившемся окне находим "События" - "ПриОткрытии" - нажимаем на значок с лупой, выбираем &НаКлиенте, далее перед Вами откроется процедура, которую я описал выше.
(12) Самое интересное, "Основной" формы нет.
Весь код написан в модуле обработки и ссылается на макет печатной формы. Можно как нибудь Вам отправить свою обработку, что посмотрели своими глазами?) Сюда прикреплять не хочу.
Решение не моё! а Pavel Rodinchenko
в модуле ФОРМЫ СПИСКА документа требование накладная, в процедуре «Подключаемый_ВыполнитьКоманду» проверять на имя своей команды
Если Команда.Имя = "ПодменюПечатьОбычное_АктСписанияВнешний" Тогда
// открывать форму
// заполнить комиссию в ТЧ обработки
// заполнить комиссию в ТЧ документа
КонецЕсли;
И уже полученные значения хранить, но все дело в том, что тебе придется перезаписывать документ. А если хочешь именно для печатной формы самой это сделать, то я бы делал следующий образом: поискал бы возможность, чтобы отключить проверку на проведенность документа, потом делал бы действия описанные выше.