Имя: Пароль:
1C
 
V8: Как вызвать ввод на основании ?
Ø
0 alexb
 
31.08.05
09:55
Тоесть у меня в документе например ЗаказПоставщику есть кнопка ВвестиНаОсновании что я должен написать в обработчике нажатия кнопки ?
1 Filin
 
31.08.05
10:06
А зачем такие сложности? Пиши свой код в Процедуре "ОбработкаЗаполнения()" модуля документа который хочешь создать. Естественно, в свойствах ЗаказаПоставщику определи "Является основанием для:".
2 ahirzaman
 
31.08.05
10:08
Создаешь новый документ-объект. А потом вызываешь метод "заполнить". Например:
Док = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
Док.Заполнить(Ссылка);
Док.Записать(РежимЗаписиДокумента.Запись);
3 alexb
 
31.08.05
10:20
Сложности вот от куда.
Есть документ заказ поставщику.
Мне нужно на основании этого заказа сделать несколько партий прихода товара(по частям).
Я всю табличную часть заказа выгружаю в обработку, там пользователь говорит что мол хочет оприходовать на склад только то и то то. Вот во внешней обработке мне и нужна такая кнопка ввода на основании.
Тоесть мне нужно готовую табл. часть из внешней обработки выгрузить в поступление товаров и услуг но так чтоб это поступление являлось введенным на основании заказаПоставщику
4 alexb
 
31.08.05
10:22
(2) А где в твоем примере про основание сказанно ?
5 ahirzaman
 
31.08.05
10:24
Ну тогда можно все так же как я написал, только вместо "Ссылка" указать ссылку на твой документ, а заполнение таб части прописать ручками... или сразу все писать ручками, главное не забудь в реквизите "Сделка" поставить ссылку на нужный тебе заказ
6 alexb
 
31.08.05
10:25
А как перехватить заполнение таблиной части ?
7 ahirzaman
 
31.08.05
10:28
Заполнить(<Основание>)
Параметры:
<Основание> (обязательный)
Тип: Произвольный. Значение, на основании которого выполняется заполнение документа.
Описание:
Заполняет данные документа данными из другого объекта. Инициирует событие ОбработкаЗаполнения и вызов его процедуры-обработчика в модуле документа. В ней может размещаться алгоритм, заполняющий данные документа из переданного значения.
Примечание:
Для заполнения может использоваться значение любого типа.
А структура подчиненности документов, по крайней мере в УПП, определяется перебором документов и проверкой всех их реквизитов на наличие ссылки на нужный документ. Сам с трудом понимаю что написал, может кто понятнее напишет ))
8 ahirzaman
 
31.08.05
10:30
можешь поковырять "ОбработкаЗаполнения" в подчиненном документе, а можешь просто очистить табличную часть и заново заполнить... Лично я очищал просто удалял ненужные строки из табличной части, хотя это не всегда эффективно
9 ahirzaman
 
31.08.05
10:32
можешь поковырять "ОбработкаЗаполнения" в подчиненном документе, а можешь просто очистить табличную часть и заново заполнить... Лично я очищал просто удалял ненужные строки из табличной части, хотя это не всегда эффективно
10 alexb
 
31.08.05
10:48
Да, все нормально работает.
Но вот еще какой вопрос, как вызвать в новом созданном документе процедуру
ТоварыНоменклатураПриИзменении(Элемент), для того что бы проставились счета учета по умолчанию, коэффициеты и т.д. Что б мне туда передовать только номенклатура, количество, цена, а все остальное мне просто заполнить по умолчанию вышеназванной процедурой ?
11 ahirzaman
 
31.08.05
10:51
Честно говоря не пробовал, но попробуй написать в заголовке процедуры "Экспорт". Тогда она вроде станет доступна из других модулей. Я так использую процедуру "Печать"
12 alexb
 
31.08.05
11:00
Дело в том что Экспортные видны, тогда когда они описанны в модуле документа, а она в форме. Так что Экспорт не катит ихмо?
13 ahirzaman
 
31.08.05
11:11
Честно говоря не помню, но в модуле формы документа есть процедуры с ключевым словом "Экспорт". Кстати, там в начале идет такая строка:
СтрокаТабличнойЧасти = ЭлементыФормы.Товары.ТекущиеДанные;
а дальше работа идет с этой строкой табличной части. Так что, по моему, лучше все-таки перенести эту процедуру в твой модуль. Тем более что там используются в основном процедуры из общих модулей и сама процедура небольшая
14 alexb
 
31.08.05
11:48
Почему то не удается в новый документ передать
НоваяДокумент.ОтражатьВБухгалтерскомУчете = Ложь;
НоваяДокумент.ОтражатьВНалоговомУчете = Ложь;
В нем все равно эти реквизиты истина...почему ?
15 ahirzaman
 
31.08.05
12:28
Посмотри в отладчике