Показано с 1 по 10 из 13
Комбинированный просмотр
-
11.08.2016, 01:15 #1
- Регистрация
- 10.07.2016
- Сообщений
- 12
- Сказал(а) спасибо
- 2
- Поблагодарили 0 раз(а) в 0 сообщениях
Re: Движения по регистрам в программно созданном документе (8.2 КА 1.1)
Со своими скудными знаниями в области 1с немного приблизился к решению проблемы.
Проблема может быть в вызове события. Т.е. при создании документа ВыпускПродукции событие "ПриОткрытии" срабатывает. (Поймали точкой)
Но когда дело доходит до табличной части возникает "болезнь пятой точки":
При добавлении строки табличной части вручную, первое что нужно заполнить - это номенклатура. Когда её заполняешь (Там поле ввода, которое вызывает "ФормуВыбора" справочника "Номенклатура", т.е по сути надо значение "выбрать"), то все остальные строчки заполняются сами.
Посмотрели, что на это влияет процедура в модуле формы Самого документа - "ПродукцияПриИзмененииНом� �нклатуры" (Эта Процедура находится в свойствах поля ввода таблично части, колонка Номенклатура)
Пробовал заполнять Номенклатуру через элемент формы:
ФормаВыпуск.Открыть();
ФормаВыпуск.ЭлементыФормы. Продукция.ДобавитьСтроку();
СтрокаТабличнойЧасти = ФормаВыпуск.ЭлементыФормы. Продукция.ТекущиеДанные;
СтрокаТабличнойЧасти.Номе� �клатура = Выборка.Номенклатура;
Не цепляется это событие.
Я делаю Вывод, что программно надо сделать так:
1. Встать на поле "номенклатура" табличной части, только что созданной новый строки;
2. В поле ввода нажать на кнопочку с тремя точками;
3. Выбрать в форме выбора справочника "Номенклатура" нужную номенклатуру;
И все случиться.
Я все это понимаю, но как программно выполнить не соображу. Прошу Вашей помощи!
Или второй вариант. Каким то образом вызвать Событие "ПродукцияПриИзмененииНом� �нклатуры".
Единственный вариант который придумал скудный мозг - это "ПолучитьДействие", но к табличной части я его не смог прикрутить.
Вообщем очень надеюсь на Вашу помощь!
-
11.08.2016, 08:35 #2
- Регистрация
- 29.11.2013
- Адрес
- Берег Волги
- Сообщений
- 1960
- Сказал(а) спасибо
- 644
- Поблагодарили 10117 раз(а) в 2660 сообщениях
-
Пользователь сказал cпасибо:
valleha (12.11.2016)
-
11.08.2016, 08:36 #3
- Регистрация
- 29.11.2013
- Адрес
- Берег Волги
- Сообщений
- 1960
- Сказал(а) спасибо
- 644
- Поблагодарили 10117 раз(а) в 2660 сообщениях
-
2 пользователя(ей) сказали cпасибо:
Quiliansky (11.08.2016), valleha (12.11.2016)
-
11.08.2016, 21:25 #4
- Регистрация
- 10.07.2016
- Сообщений
- 12
- Сказал(а) спасибо
- 2
- Поблагодарили 0 раз(а) в 0 сообщениях
Re: Движения по регистрам в программно созданном документе (8.2 КА 1.1)
Спасибо, все получилось. Поля заполняет, но опять уперся в проблему. Не заполняются счета учета БУ в строках табличной части. Не дает провести.
Я вот что подумал, сейчас мы лезем все глубже и глубже в дебри 1Совских разработок. Может этого и не стоит делать?
Может Вы подскажите как программно выбрать изменить реквизит формы так, чтобы вызвать обработчик "ПриИзменении".
Просто если делать допустим:
ФормаДокумента.Организаци� � = Справочник.Организации.Най тиПоНаименованию ("Ромашка");
или
Документы.ВыпускПродукции. СоздатьДокумент().Организа� �ия = Справочник.Организации.Най тиПоНаименованию ("Ромашка");
Значение то в форму встанет, но обработчик не вызывается. Потому что (на мой взгляд) Программа понимает это как присвоение, а не изменение.
Так как же изменить значение в строке?
-
14.08.2016, 02:51 #5
- Регистрация
- 10.07.2016
- Сообщений
- 12
- Сказал(а) спасибо
- 2
- Поблагодарили 0 раз(а) в 0 сообщениях
Re: Движения по регистрам в программно созданном документе (8.2 КА 1.1)
Вот такая конструкция позволила провалиться в стандартный обработчик "ПриИзменении"
Код:ФормаВыбораСправочникаОрг = Справочники.Организации.ПолучитьФормуВыбора("ФормаВыбора",ФормаВыпуска.ЭлементыФормы.Организация); ФормаВыбораСправочникаОрг.ЭлементыФормы.СправочникСписок.ИерархическийПросмотр = Ложь; ОткрытьФорму(ФормаВыбораСправочникаОрг,,ФормаВыпуска.ЭлементыФормы.Организация); Если ФормаВыбораСправочникаОрг.Открыта() Тогда ФормаВыбораСправочникаОрг.Активизировать(); КонецЕсли; ФормаВыбораСправочникаОрг.ТекущийЭлемент.ТекущаяСтрока = Справочники.Организации.НайтиПоКоду("000000005"); ВыборЭлемента = ФормаВыбораСправочникаОрг.ТекущийЭлемент.ТекущаяСтрока; ФормаВыбораСправочникаОрг.ОповеститьОВыборе(ВыборЭлемента);
Социальные закладки