Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
20 апр 2024, 01:37

Ввод на основании

Автор trialex3, 20 авг 2018, 15:49

0 Пользователей и 1 гость просматривают эту тему.

trialex3

Добрый день. Подскажите пожалуйста. Есть документ "А", который создается на основании документа "Б". Есть форма у документа "А", которая должна открываться ПЕРЕД созданием этого документа. Т е я на документе "Б" нажимаю действие-На основании-Документ "А" и сначала открывается форма(Это форма выбора режима на основании) и только затем начинается процедура ОбработкаЗаполнения у документа "А". Это возможно реализовать? В интернете нашел информацию что перехватить можно через модуль менеджера документа и процедуру ОбработкаПолученияДанныхВыбора, но не понял как это делать.

LexaK

скорее всего вклиниться со своей формой в событие создания на основании, у вас не получится.
да и зачем ломиться в закрытые ворота? когда рядом есть открытая калитка!
напишите свою кнопку МойВводНаОсновании разместите ее в форме списка документов
в обработчике кнопки (на клиенте) зададите нужные вопросы для определения нужного варианта заполнения и выполните нужный код на сервере!
либо еще другой вариант, ПЕРЕД вводом документов вызываете форму настройки, пользователь там что-то отмечает/настраивает и сохраняет данные (допустим в регистрсведений) а затем выполняет стандартную процедуру ввода на основании, а уже в процедуре ОбработкаЗаполнения вы читаете сохраненные ранее настройки и вводите/создаете документ по нужному варианту, уже без всяких доп.вопросов.
примерно как-то так, кто-то может еще предложит какие варианты.
если помогло нажмите: Спасибо!

trialex3

Цитата: LexaK от 20 авг 2018, 17:14
скорее всего вклиниться со своей формой в событие создания на основании, у вас не получится.
да и зачем ломиться в закрытые ворота? когда рядом есть открытая калитка!
напишите свою кнопку МойВводНаОсновании разместите ее в форме списка документов
в обработчике кнопки (на клиенте) зададите нужные вопросы для определения нужного варианта заполнения и выполните нужный код на сервере!
либо еще другой вариант, ПЕРЕД вводом документов вызываете форму настройки, пользователь там что-то отмечает/настраивает и сохраняет данные (допустим в регистрсведений) а затем выполняет стандартную процедуру ввода на основании, а уже в процедуре ОбработкаЗаполнения вы читаете сохраненные ранее настройки и вводите/создаете документ по нужному варианту, уже без всяких доп.вопросов.
примерно как-то так, кто-то может еще предложит какие варианты.
про первый вариант интересно, но это документ "Реализация товаров и услуг".Стандартный. Если я добавлю кнопку на форму и обработку кнопки в модуль разве это не затрется при обновлении 1с?

LexaK

что за база-то? хотя-я-я, если обновление, значит на поддержке, значит какой-то коробочный продукт, а значит используется БСП! (что такте БСП знаете?), а раз есть БСП значит есть возможность вешать внешние обработки и на нужный список документов тоже! :zebzdr:
Как писать внешние обработчики ? 
если помогло нажмите: Спасибо!

trialex3

Цитата: LexaK от 20 авг 2018, 17:26
что за база-то? хотя-я-я, если обновление, значит на поддержке, значит какой-то коробочный продукт, а значит используется БСП! (что такте БСП знаете?), а раз есть БСП значит есть возможность вешать внешние обработки и на нужный список документов тоже! :zebzdr:
Как писать внешние обработчики ?
да вы правы. внешние обработки повесить можно. Подскажите пожалуйста как получить доступ к данным документа, с которого я запустил эту обработку?

LexaK

э-э-э, ну как же я подскажу, если даже не знаю какая у вас версия БСП? (а это две большие разницы БСП2.0 и БСП3.0)
но у вас в базе уже наверняка есть внешние обрабоки, да та-же внешняя печать! возьмите за пример любую из них, там есть и ссылка на обрабатываемый документ.
если помогло нажмите: Спасибо!

trialex3

Скопировал стороннюю обработку этого же документа(реализация), вставил проверку после которой запускаю форму. выскакивает ошибка
Заполнение ТЧ не произведено!
Значение не является значением объектного типа (ОткрытьМодально)

Добавлено: 21 авг 2018, 10:04


В модуле обработки подправил процедуру инициализации. Было

Процедура Инициализировать(Объект, ИмяТабЧасти, ЭлементУправления) Экспорт

ФормаЗаполнения = ПолучитьФорму("ФормаЗаполнения");
ФормаЗаполнения.ДокументОбъект = Объект;
ФормаЗаполнения.ОткрытьМодально();

КонецПроцедуры


стало

Процедура Инициализировать(Объект, ИмяТабЧасти, ЭлементУправления) Экспорт

Форма = ПолучитьФорму("ФормаВыбораРежима");
Ответ = Форма.ОткрытьМодально();
Если ЗначениеЗаполнено(Ответ) Тогда
ФормаЗаполнения = ПолучитьФорму("ФормаСпискаИзделий");
ФормаЗаполнения.ДокументОбъект = Объект;
ФормаЗаполнения.Режим = Ответ;
ФормаЗаполнения.ОткрытьМодально();
КонецЕсли;


КонецПроцедуры

Теперь выдает ошибку о которой писал выше(
Добавлено: 21 авг 2018, 10:06


Цитата: LexaK от 21 авг 2018, 10:02
э-э-э, ну как же я подскажу, если даже не знаю какая у вас версия БСП? (а это две большие разницы БСП2.0 и БСП3.0)
но у вас в базе уже наверняка есть внешние обрабоки, да та-же внешняя печать! возьмите за пример любую из них, там есть и ссылка на обрабатываемый документ.
Я выбрал обработку "Заполнение табличных частей документов и справочников" если что.
Добавлено: 21 авг 2018, 12:11


УПД. Спасибо большое за помощь. Вроде как понял что надо делать.

Теги:  

Похожие темы (5)

Рейтинг@Mail.ru

Поиск