![]() |
|
Оповещение во внешней заполнялке 1с | ☑ | ||
---|---|---|---|---|
0
Симпатяга
03.06.19
✎
10:31
|
Есть внешняя обработка для Бух 3.0. БСП
Делаю заполнялку для документа. с вводом доп.параметров пользователем. В основной форме написал вызов другой формы. ОткрытьФорму("ВнешняяОбработка.ЗаполнитьПоЗаявке.Форма.ФормаНастроек"); Во второй форме &НаКлиенте Процедура Перенести(Команда) НазваниеСобытия = "ПеренестиНоменклатуру"; ИмяСобытия = НазваниеСобытия; ПараметрВызова = Объект.ДатаНачала; ФормаИсточник = "ВнешняяОбработка.ЗаполнитьПоЗаявке.Форма.Форма"; Оповестить(ИмяСобытия,ПараметрВызова, ФормаИсточник); Закрыть(); КонецПроцедуры И на основной описал Обработку оповещения &НаКлиенте Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) Если ИмяСобытия = "ПеренестиНоменклатуру" Тогда Сообщить("111"); КонецЕсли; КонецПроцедуры Но оповещение не работает. Не заходит в процедуру. Что я делаю не так. Прошу сильне не пинать. Переобучаюсь с основных форм( |
|||
1
Симпатяга
03.06.19
✎
10:32
|
Есть предположение, что оповещение не отрабатывает, потому что по факту - основная форма не открывается.
Она нужна для механизмов БСП "ВызовКлиентскогоМетода" |
|||
2
Симпатяга
03.06.19
✎
10:47
|
хэлп
|
|||
3
ам794123
03.06.19
✎
10:52
|
(0) я делаю так :
Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(); ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиЗаполнениеОбъекта(); ... НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовКлиентскогоМетода(); Возврат ПараметрыРегистрации; КонецФункции В форме обработки: &НаКлиенте Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт ОткрытьФорму("ВнешняяОбработка.МояОбработка.Форма", ,ВладелецФормы); КонецПроцедуры Пользователь вводит необходимые параметры и нажимает кнопку "Заполнить" |
|||
4
Симпатяга
03.06.19
✎
10:55
|
(3) а можете показать код на форме параметров по кнопке "заполнить"
|
|||
5
ам794123
03.06.19
✎
11:00
|
(4) &НаКлиенте
Процедура ЗаполнитьЦеныДокумента(Команда) ОшибокНет = Истина; ПрочитатьТаблицуЦенИзЭкселя(); Если ЗначениеЗаполнено(ТаблицаЦен) Тогда ФормаДокумента = ВладелецФормы.ЭтаФорма; Для Каждого Элемент Из ФормаДокумента.Объект.Товары Цикл Артикул = ПолучитьАртикулНоменклатуры(Элемент.Номенклатура); Если ЗначениеЗаполнено(Артикул) Тогда НайденныеСтроки = ТаблицаЦен.НайтиСтроки(Новый Структура("Артикул", Артикул)); Если НайденныеСтроки.Количество() = 0 Тогда ОшибокНет = Ложь; Сообщить("В строке " + Элемент.НомерСтроки + " не найден артикул " + Артикул); Иначе Элемент.Цена = НайденныеСтроки[0].Цена; ЦенаПриИзменении(Элемент, ФормаДокумента); КонецЕсли; Иначе ОшибокНет = Ложь; Сообщить("В строке " + Элемент.НомерСтроки + " у номенклатуры " + Элемент.Номенклатура + " не заполнен артикул"); КонецЕсли; КонецЦикла; КонецЕсли; Если ОшибокНет Тогда ЭтаФорма.Закрыть(); КонецЕсли; КонецПроцедуры |
|||
6
Симпатяга
03.06.19
✎
11:44
|
Спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |