Имя: Пароль:
1C
1С v8
1С Бухгалтерия 3.0 Как определить из какой формы открыта внешняя форма.
,
0 AcaGost
 
29.11.15
21:03
1С Бухгалтерия 3.0 Как определить из какой формы открыта внешняя форма. Из Списка или из Документа
1 AcaGost
 
29.11.15
21:04
Внешняя обработка
2 oslokot
 
29.11.15
21:05
Владелец?
3 AcaGost
 
29.11.15
21:07
(2) Свойство не доступно на сервере
Так же и на клиенте
4 oslokot
 
29.11.15
21:08
хм, вроде через параметры.владелец или как-то так
5 AcaGost
 
29.11.15
21:19
Мимо
6 oslokot
 
29.11.15
21:21
ну если в открытьформу владельца не передаешь, то конечно мимо
7 AcaGost
 
29.11.15
21:40
(6) А как передать?
При стандартном подключении?
8 oslokot
 
29.11.15
21:47
а, понятно.
Если это внешняя печатная форма, тогда смотри МассивОбъектов в процедуре печать() модуля
9 AcaGost
 
29.11.15
21:50
Это внешняя обработка заполнения счета из Эксель
10 oslokot
 
29.11.15
21:56
(9) тогда в модуле формы должна быть
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
11 oslokot
 
29.11.15
21:56
+ ОбъектыНазначенияМассив, это то что ищешь
12 AcaGost
 
29.11.15
22:08
(10) В Модуле какой формы?
Образец можно?
13 oslokot
 
29.11.15
22:16
в основной форме обработки
ты же подключаешь ее как обработку заполнения?
14 AcaGost
 
29.11.15
22:19
(13) Образец можно?
15 AcaGost
 
29.11.15
22:23
(13) Подключаю как обработку заполнения
Но она должна сработать не сразу, а после выбора файла
16 oslokot
 
29.11.15
22:23
нету сейчас 1сины под рукой.
гугли подключение внешних обработок, там все разжовано
17 AcaGost
 
29.11.15
22:25
(16) Завтра будет?
18 oslokot
 
29.11.15
22:28
еще бы, завтра на работу, мать ее...)
19 AcaGost
 
29.11.15
22:34
Жду   :-)))
20 AcaGost
 
30.11.15
10:42
(18) АУ!
Проснулся?
21 oslokot
 
30.11.15
10:51
показывай что там в модуле объекта обработки
22 oslokot
 
30.11.15
10:52
конкретно содержимое функции СведенияОВнешнейОбработке()
23 AcaGost
 
30.11.15
11:10
(22)
Не отправляет
Пишет

"ОШИБКА: Сработал фильтр на язык падонков (удафком) на слово ///. Пишите по-русски!"
24 AcaGost
 
30.11.15
11:11
Функция СведенияОВнешнейОбработке() Экспорт
    ПараметрыРегистрации = Новый Структура;
    МассивНазначений = Новый Массив;
    МассивНазначений.Добавить("Документ.СчетНаОплатуПокупателю");
    ПараметрыРегистрации.Вставить("Вид","ЗаполнениеОбъекта");
    ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
    ПараметрыРегистрации.Вставить("Версия", "1.0");
    ПараметрыРегистрации.Вставить("Наименование", "Заполнить Счет "+ПараметрыРегистрации.Версия);
    ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
    ПараметрыРегистрации.Вставить("Информация", "Заполнение документа СчетНаОплатуПокупателю из файла Excel");
    ТаблицаКоманд = Получить_Таблицу_Команд();
    ДобавитьКоманду(ТаблицаКоманд,
    "Заполнить Счет "+ПараметрыРегистрации.Версия,
    "Заполнить Счет "+ПараметрыРегистрации.Версия,
    "ОткрытиеФормы", Истина);
    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
    Возврат ПараметрыРегистрации;
КонецФункции
25 oslokot
 
30.11.15
11:20
Что-то с параметрами ДобавитьКоманду не совсем то.

Буду краток, даю рабочий пример ВО подключенной в режиме заполнения
Модуль обработки:

Функция СведенияОВнешнейОбработке() Экспорт

    ПараметрыРегистрации = Новый Структура;
    МассивНазначений = Новый Массив;
    МассивНазначений.Добавить("Документ.ОтражениеЗарплатыВУчете");
    ПараметрыРегистрации.Вставить("Вид", "ЗаполнениеОбъекта");  
    ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
    ПараметрыРегистрации.Вставить("Наименование", "Распределить по объектам");
    ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
    ПараметрыРегистрации.Вставить("Версия", "1.0");
    ПараметрыРегистрации.Вставить("Информация", "Распределить по объектам");              
    ТаблицаКоманд = ПолучитьТаблицу_Команд();
    ДобавитьКоманду(ТаблицаКоманд, "Распределить по объектам", "РаспределениеПоОбъектам", "ВызовКлиентскогоМетода", Истина);
    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);                              
    
    Возврат ПараметрыРегистрации;
    
КонецФункции

Функция ПолучитьТаблицу_Команд()
    Команды = Новый ТаблицаЗначений;
    Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
    Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
    Возврат Команды;
КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
    
    НоваяКоманда = ТаблицаКоманд.Добавить();
    НоваяКоманда.Представление = Представление;
    НоваяКоманда.Идентификатор = Идентификатор;
    НоваяКоманда.Использование = Использование;
    НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
    НоваяКоманда.Модификатор = Модификатор;
    
КонецПроцедуры
26 oslokot
 
30.11.15
11:22
Далее, в форме обработки:

&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
    // Здесь можно разместить твой диалог выбора файла    
КонецПроцедуры
27 oslokot
 
30.11.15
11:25
А, ну и самое главное в параметре "ОбъектыНазначенияМассив" все что ты ищешь.

Более гичего не надо далать, должно всё работать.
28 AcaGost
 
30.11.15
11:38
(27) Обработку можешь скинуть?
Чтобы "покопаться в ней"
Почта в личке
29 oslokot
 
30.11.15
11:53
лови, не проблема.

там кстати хитрость одна есть, поиск нужной формы целевого документа среди всех открытых окон и форм.
30 AcaGost
 
30.11.15
11:55
(29) Получил
Спасибо!
буду разбираться
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.