Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.94/196: Рейтинг темы: голосов - 196, средняя оценка - 4.94
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
1

Внешняя обработка (ЗаполнениеОбъекта)

12.07.2013, 22:52. Показов 37784. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
1С 8.2 Управляемые формы

Не могу понять как перехватить ссылку с документа, чтобы обработка обрабатывала выбранный документ.
Пусть, например, форма обработки имеет один реквизит, тип которого Документ.РеализацияТоваров (Не суть как).
Я подключаю обработку к какой-то конфигурации (на рисунке это УТ11), появляется кнопка Заполнить, при нажатии на которую предлагается набор разных команд, описанных в обработке.

Так вот, я хочу хотя бы просто вывести сообщение о ссылке на документ. Точнее так,
нажал на кнопку заполнить, выбрал команду Открыть форму и в событии "ПриОткрытии" сработало оповещение о ссылке на текущий документ.
(т.е. если выделен второй документ как на рисунке, то сообщается ссылка на него, если первый, то ссылка на первый)

=================
Старался поставить вопрос так, чтобы понятно было что мне нужно и надеюсь поставил так, что сможете ответить где эта собака зарыта.
Миниатюры
Внешняя обработка (ЗаполнениеОбъекта)  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.07.2013, 22:52
Ответы с готовыми решениями:

Внешняя Обработка
добрый день! Очень нужна помощь.В 1с8.2 есть справочник контрагенты.Необходимо в наименовании...

Внешняя обработка
Здравствуйте, конфигурация УТ 10.3, создал внешнюю обработку для отправки вложений по почте. Как...

Внешняя обработка
1С Предприятие 8.2 Как из внешней обработки создать элемент в корень какого-нибудь справочника? (В...

Внешняя обработка
Добрый день! создал внешнюю обработку, вопрос в том как добавить на печатную форму юрадрес клиента,...

20
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
13.07.2013, 00:36  [ТС] 2
КодСведенийОбОбработке (может нужно)


1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Функция СведенияОВнешнейОбработке() Экспорт
 
    Структура = Новый Структура;
    Структура.Вставить("Вид",             "ЗаполнениеОбъекта"); //Перечисления.ВидыДополнительныхОтчетовИОбработок.
    Структура.Вставить("Наименование",    "Шаблон внешней обработки");
    Структура.Вставить("Версия",          "1.01");
    Структура.Вставить("БезопасныйРежим", Истина);
    Структура.Вставить("Информация",      "");
 
    Команды = Новый ТаблицаЗначений;
    Команды.Колонки.Добавить("Идентификатор");
    Команды.Колонки.Добавить("Представление");
    Команды.Колонки.Добавить("Модификатор");
    Команды.Колонки.Добавить("ПоказыватьОповещение");
    Команды.Колонки.Добавить("Использование");
 
    НоваяСтрока = Команды.Добавить();
    НоваяСтрока.Идентификатор = "ОткрытьФорму";
    НоваяСтрока.Представление = "Открыть форму";
    НоваяСтрока.Модификатор   = "";
    НоваяСтрока.ПоказыватьОповещение = Ложь;
    НоваяСтрока.Использование = "ОткрытиеФормы";
 
   
    Структура.Вставить("Команды", Команды);
 
    Назначение = Новый Массив; 
    Назначение.Добавить("Документ.РеализацияТоваровУслуг");
 
    Структура.Вставить("Назначение", Назначение);
    
   Возврат Структура;
 
КонецФункции
1
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
14.07.2013, 18:08 3
Цитата Сообщение от daslex Посмотреть сообщение
Старался поставить вопрос так, чтобы понятно было что мне нужно
На мой взгляд, загнал в тупик. Кнопка штатная? Обработка регистрируется? Кто кого оповещает?
1
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
14.07.2013, 18:47  [ТС] 4
Да. Загнал в тупик.
Не оповещение., а сообщение. Это так получилось не терминами 1С "сообщение" назвать, извиняюсь.

Я не знаю что именно обозначает понятие: "Кнопка штатная"

Есть конфигурация УТ11
В самой конфигурации кнопки с названием: "Заполнение" не создается
Создается внешняя обработка, внутри которой происходят какие-то там описанные мной действия. Не имеет значения какие они, эти действия.
Чтобы описанные мной действия выполнились, я должен как-то вытащить ссылку из динамического списка формы. В конкретном случае, на рисунке, это список документов реализации товаров.

Далее я подключаю внешнюю обработку. Указываею ей вид как "ЗаполнениеОбъекта". Ставлю галочки там использовать для формы объекта и использовать для формы списка.

При запуске УТ11 и открытии списка документов реализации товаров, вверху появляется кнопка Заполнить(то, что на рисунке нарисовано). Когда я ее нажимаю открывается окно с доступными там командами. (В моем случае там одна команда - это "Открыть форму")
Когда я жму на эту команду и жму выполнить, то я хочу узнать Ссылку на текущий выделенный документ, который выделен в форме списка документов.

вот так, надеюсь более понятно.
================================
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
14.07.2013, 19:27 5
Цитата Сообщение от daslex Посмотреть сообщение
я хочу узнать Ссылку на текущий выделенный документ, который выделен в форме списка документов.
Цитата Сообщение от daslex Посмотреть сообщение
вытащить ссылку из динамического списка формы
Это проблема?!
Далее в стиле юмористов. Я просто процитирую, желающие могут прокомментировать:
Цитата Сообщение от daslex Посмотреть сообщение
Когда я жму на эту команду и жму выполнить
Цитата Сообщение от daslex Посмотреть сообщение
вверху появляется кнопка Заполнить
Аве!
Давайте озвучим таки проблему, а Галадриэль и Гэндальф пусть пока кочумают.
Справка:
Цитата Сообщение от daslex Посмотреть сообщение
Я не знаю что именно обозначает понятие: "Кнопка штатная"
Есть штатные кнопки Печать и Заполнить, которые являются автоматическими подменю для зарегистрированных внешних обработок и отчетов
0
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
14.07.2013, 22:26  [ТС] 6
Для меня да - это проблема. Было бы не проблемой, я бы не задавал вопрос.
Если это не проблема, то зачем писать как Евреи???

Прикрепил обработку. как вложение.

Нет у меня там команд печати и команды заполнить. Других обработок, чтобы были с такими кнопками тоже нет. А поиск интернета работает вообще супер круто: "Как зарегестрировать внешнюю обработку "
Читай файл справки. Читал, считаю что так неудобно сделали справку как только можно было. Не нашел. Это самое толковое, что поиск выдал.
Вложения
Тип файла: rar ВнешняяОбработка1.rar (3.9 Кб, 272 просмотров)
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
14.07.2013, 23:05 7
У Вас обработка не работает? Или Вы не можете данные, связанные со строкой таб.поля передать в форму обработки, которую здесь же сами и открываете?

Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от daslex Посмотреть сообщение
зачем писать как Евреи???
...и какать как Арабы

1
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
14.07.2013, 23:56  [ТС] 8
Я не могу узнать ссылку текущей строки динамического списка из формы списка документов реализации товаров.
=
Цитата Сообщение от duk337 Посмотреть сообщение
Или Вы не можете данные, связанные со строкой таб.поля передать в форму обработки
Обработка работает. Ссылку из строки вытащить не получается.

Добавлено через 13 минут
Не чтобы через Ctrl+O или через файл-Открыть была возможность выбора документа, а чтобы при нажатии на кнопку Заполнить-ОткрытьФорму-Выполнить, Ссылка на текущий документ сразу записывалась или в переменную или в реквизит формы. В общем, чтобы ссылка на текущий документ была в модуле формы обработки.
Вот выделен документ второй, в модуль формы обработки должна попасть ссылка на этот второй документ, если же выделен первый, соответственно ссылка на первый.
Сразу же при открытии формы обработки, Ссылка должна быть известна.
0
Шизофреник
360 / 362 / 83
Регистрация: 25.06.2013
Сообщений: 1,141
15.07.2013, 08:57 9
В модуле формы:
1C
1
2
3
4
5
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт 
    Если ИдентификаторКоманды = "ОткрытьФорму" Тогда
        Сообщить(ОбъектыНазначенияМассив[0])
    КонецЕсли;
КонецПроцедуры
1
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
15.07.2013, 09:05  [ТС] 10
wladimir_ui, не срабатывает у меня так
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
15.07.2013, 09:12 11
1. Получить ссылку из текущей строки.
2. запомнить её в текущей форме
3. Выбрать правильно момент запоминания, например, при активизации, но вероятно и из подменю кнопки.
1C
1
2
3
4
5
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
Ссыль = Элементы.Список.ТекущаяСтрока(или ТекущиеДанные).Ссылка;
РеквФормы=Ссыль;
КонецПроцедуры
4. Передать в форму обработки
Аналог (подбор товара)
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
&НаКлиенте
Процедура ОткрытьПодбор(Команда)
    
    Отказ = Ложь;
    Если Не ЗначениеЗаполнено(Объект.Соглашение)
        ИЛИ Не ЗначениеЗаполнено(Объект.Валюта) Тогда
        ОчиститьСообщения();
        СообщитьОбОшибкахОткрытияПодбора(Отказ);
    КонецЕсли;
    Если Отказ Тогда
        Возврат;
    КонецЕсли;
    
    ПараметрЗаголовок = НСтр("ru = 'Подбор товаров в %Документ%'");
    Если ЗначениеЗаполнено(Объект.Ссылка) Тогда
        ПараметрЗаголовок = СтрЗаменить(ПараметрЗаголовок, "%Документ%", Объект.Ссылка);
    Иначе
        ПараметрЗаголовок = СтрЗаменить(ПараметрЗаголовок, "%Документ%", "реализацию товаров и услуг");
    КонецЕсли;
    
    ПараметрыФормы = Новый Структура;
    ПараметрыФормы.Вставить("Соглашение",      Объект.Соглашение);
    ПараметрыФормы.Вставить("ЦенаВключаетНДС", Объект.ЦенаВключаетНДС);
    ПараметрыФормы.Вставить("Склад",           Объект.Склад);
    ПараметрыФормы.Вставить("Валюта",          Объект.Валюта);
    ПараметрыФормы.Вставить("Заголовок",       ПараметрЗаголовок);
    ПараметрыФормы.Вставить("Дата",            Объект.Дата);
    ПараметрыФормы.Вставить("РежимПодбораИспользоватьСкладыВТабличнойЧасти", Истина);
    ПараметрыФормы.Вставить("РежимПодбораИсключитьГруппыДоступныеВЗаказах",  Истина);
    ПараметрыФормы.Вставить("РежимПодбораБезУслуг",                          Объект.ХозяйственнаяОперация = ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ПередачаНаКомиссию"));
    
    ОткрытьФорму("Обработка.ПодборТоваровВДокументПродажи.Форма", ПараметрыФормы, ЭтаФорма, УникальныйИдентификатор);
    
КонецПроцедуры // ОткрытьПодбор()
1
Шизофреник
360 / 362 / 83
Регистрация: 25.06.2013
Сообщений: 1,141
15.07.2013, 09:24 12
Цитата Сообщение от daslex Посмотреть сообщение
wladimir_ui, не срабатывает у меня так
Возможно, что у вас "СведенияОВнешнейОбработке" криво заполненна.
Во вложении...
Вложения
Тип файла: rar Проматерить.rar (3.6 Кб, 190 просмотров)
1
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
15.07.2013, 11:50  [ТС] 13
wladimir_ui, когда я пытаюсь поменять "проматерить" и все что с
ним связано на другие названия, то при подключении обработки возникает ошибка : Обнаружено дублирование ключевых значений в колонке Ссылка.

Почему возникает такая проблема?
0
Шизофреник
360 / 362 / 83
Регистрация: 25.06.2013
Сообщений: 1,141
15.07.2013, 11:58 14
так она работает у вас?

Если вы подключили "проматерить", а потом пытаетесь переименовав обработку снова ее подключить - ругаться будет.
Удалите первую внешнюю "проматерить" (хотя бы пометьте на удаление).
1
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
15.07.2013, 14:37  [ТС] 15
Цитата Сообщение от wladimir_ui Посмотреть сообщение
так она работает у вас?
Ваша да.

Цитата Сообщение от wladimir_ui Посмотреть сообщение
Возможно, что у вас "СведенияОВнешнейОбработке" криво заполненна.
да, у меня криво.
=================
Я перед тем как добавлять, как раз удалял подключенную.
Проверил вашу - она сработала. Отметил, удалил.
Поменял некоторые слова, связанные с проматерить, попытка подключить приводит к ошибке, о которой я сказал.

У меня подключена еще одна обработка, которая имеет вид Печатная форма, но никаких записей из нее в эту вот вторую я не дублирую.

Добавлено через 1 час 21 минуту
Вопрос закрыт. Всем спасибо. Неопытность + Неудобства1С = такие дурацкие косяки.
0
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
24.10.2013, 20:14  [ТС] 16
Некропостю свою же тему. 1С Предприятие 8.3 Документооборот Корп 1.3

Модуль объекта
Кликните здесь для просмотра всего текста

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


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

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

ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции



Модуль формы
Кликните здесь для просмотра всего текста

Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт

Сообщить(123456) ;

КонецПроцедуры

Не по теме:

Отсюда и взял, собственно. (совсем не помню как делал).

Подключаю её. (скрин на рисунке)
Записываю.

Смотрю на форму Справочник.ВнутренниеДокументы (скрин на рисунке) и не вижу кнопки заполнить.

=====================
что именно я упустил?
=====================
Миниатюры
Внешняя обработка (ЗаполнениеОбъекта)   Внешняя обработка (ЗаполнениеОбъекта)  
0
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
26.10.2013, 19:12  [ТС] 17
Все кто знает молчат.
Вопрос в силе.
0
857 / 656 / 111
Регистрация: 01.11.2012
Сообщений: 2,411
26.10.2013, 19:29 18
Ну команду добавили, а кнопку?
1
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
26.10.2013, 20:08  [ТС] 19
Какую кнопку? не понял.
0
857 / 656 / 111
Регистрация: 01.11.2012
Сообщений: 2,411
26.10.2013, 20:24 20
Цитата Сообщение от daslex Посмотреть сообщение
и не вижу кнопки заполнить.
Вот эту
0
26.10.2013, 20:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.10.2013, 20:24
Помогаю со студенческими работами здесь

1с 8.2 Не открывается внешняя обработка
Доброго времени всем! Такая беда, запускаю 1С Предприятие 8.2 УТ 11 запускаю созданную обработку, а...

1с: Документооборот 8.2 + Внешняя Обработка
Доброго времени суток, господа и дамы. На днях попалась задачка - создать для ДО обработку, на...

Внешняя обработка загрузки из excel
Начал изучать 1с. Не получается сделать внешнюю обработку загрузки файла excel на форму. Создал...

Внешняя обработка, формирующая документ
Подскажите пожалуйста как написать Внешнюю обработку, формирующую документ Перемещение ТМЗ. в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru