Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0
Привет, форумчане. У меня есть Документ1, есть возможность ввода на основании, на основании Документа1 вводится Документ2. На панели "Действия Формы" расположена кнопка, ее действие выбрал из стандартных вариантов "(Ввод на основании)". Но теперь нужно на эту кнопку поставить вопрос с ответом "Да\Нет". После ответа на вопрос делается соответствующий вариант ввода на основании. На сколько я понимаю, нужно поставить процедурку на кнопку с вызовом вопроса и вызовом метода ввода на основании. Как называется или как обратится или где найти название этого метода? Спасибо за внимание.
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0
Цитата(ignsv @ 15.01.13, 11:48)
В обработке заполнения Документа2 в начале пишите Вопрос, и потом после ответа определяете вариант заполнения
Тогда пойдем глубже. В документе1 есть ТЧ. Если ответ "Да", Документ2 будет с такой же ТЧ, если "Нет", будет столько документов2, сколько строк в ТЧ Документа1.
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0
MsDjuice, с таким подходом к задаче рискуете нарваться на несколько граблей в процессе реализации, но как образец можете посмотреть указанную выше процедуру в документе РегистрацияВходящегоНалоговогоДокумента.
Правильно поставленный вопрос содержит до 90% ответа.
Группа: Местный
Сообщений: 2908
Из: Київ, Україна
Спасибо сказали: 1159 раз
Рейтинг: 1244.5
Цитата(MsDjuice @ 15.01.13, 10:54)
Тогда пойдем глубже. В документе1 есть ТЧ. Если ответ "Да", Документ2 будет с такой же ТЧ, если "Нет", будет столько документов2, сколько строк в ТЧ Документа1.
Ну и что это меняет? Если "да" - создаем, если "нет" - СтандартнаяОбработка = Ложь и создаем програмно кучу документов тут же, либо в общем модуле.
Допрацьовую: - "Бухгалтерія для України 2.1"; - "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0
Цитата(Petre @ 15.01.13, 12:39)
Ну и что это меняет? Если "да" - создаем, если "нет" - СтандартнаяОбработка = Ложь и создаем програмно кучу документов тут же, либо в общем модуле.
В принципе все получилось, спасибо, но в варианте с созданием нескольких экземпляров документа2 показывается еще одна форма документа2, та которая должна показаться после ввода на основании. Как её програмно закрыть? Она генерится после метода ОбработкаЗаполнения()
СтандартнаяОбработка = Ложь не помогает, так как форма все равно открывается
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0
Как вариант: создать на форме списка документа1 2 кнопки - создать 1 документ2 и создать несколько документов2. И в каждой кнопке реализовать необходимые действия с учетом текущей строки списка документов.
Правильно поставленный вопрос содержит до 90% ответа.
с таким подходом к задаче рискуете нарваться на несколько граблей в процессе реализации
а вот собственно и они...
Цитата(MsDjuice @ 15.01.13, 14:56)
в варианте с созданием нескольких экземпляров документа2 показывается еще одна форма документа2, та которая должна показаться после ввода на основании. Как её програмно закрыть?
Этого делается отдельной обработкой: "Групповое формирование документа №2 по данным ТЧ документа №1". А у "ввод на основании" несколько другая функция. При "вводе на основании" на основании документа №1 должен создаватся только один документ №2.
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0
Цитата(pablo @ 15.01.13, 16:16)
Как вариант: создать на форме списка документа1 2 кнопки - создать 1 документ2 и создать несколько документов2. И в каждой кнопке реализовать необходимые действия с учетом текущей строки списка документов.
Об этом я спрашивал сначала. Как обратится к методу ввода на основании?
Цитата(alex040269 @ 15.01.13, 16:14)
У формы есть ПередОткрытием. В процедуре ОбработкаЗаполнения установить переменную объекта, а в форме его проанализировать.
Спасибо, реализовал ПередОткрытием так:
Если ЭтоНовый() И ЗначениеЗаполнено(ПараметрОснование) Тогда Отказ = Истина; КонецЕсли;
Цитата(zay @ 15.01.13, 16:24)
Этого делается отдельной обработкой: "Групповое формирование документа №2 по данным ТЧ документа №1".
Создаете обработку. Реквизит обработки - ссылка на документ №1. ТЧ обработки = ТЧ документа №1 (только те реквизиты, которые нужны для формирования документа №2) + ссылка на документ №2 Заполнить ТЧ обработки - заполняется из ТЧ документа №1 (реквизит обработки) Сформировать - формируются документы №2 на основании данных ТЧ обработки, после записи документа №2 - ссылка на него устанавливается в ТЧ обработки Можно предусмотреть открытие формы конкретного документа №2 (например ТекущаяСтрока ТЧ обработки) Можно предусмотреть запус обработки из контекстного меню формы списка документа №1, при этом заполнять реквизит обработки - ссылка на документ №1
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!