Имя: Пароль:
1C
1С v8
Оповещение во внешней заполнялке 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
Спасибо