gifts2017

Добавление дополнительных отчетов и обработок в тонком клиенте.

Опубликовал Евгений К (John_d) в раздел Программирование - Работа с интерфейсом

Для того чтобы добавить дополнительную обработку или отчет в тонкий клиент нужно в модули  отчета или обработки прописать  одну процедуру и две функции.

Для того чтобы добавить дополнительную обработку или отчет в тонкий клиент нужно в модули  отчета или обработки прописать  одну процедуру и две функции:

Функция СведенияОВнешнейОбработке() Экспорт
    ПараметрыРегистрации = Новый Структура;
    ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка");

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

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

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

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

Дальше добавляем обработку в дополнительные отчеты и обработки на примере Розницы:

Указываем раздел командного интерфейса.

Указываем список пользователей у которых обработка будет открываться.

Готово

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Артём Рогов (ben_art) 30.09.14 16:55
А где другие возможные виды (заполнение , создание связанных, внеш отчет и т.д
где описание зачем нужен безопасный режим?
почему нет процедур вызова этих обработок/отчётов ?

2. Артём Рогов (ben_art) 30.09.14 16:58
и при чём тут тонкий клиент это называется библиотека стандартных подсистем (БСП)
3. Алексей Ермилов (Alex_E) 01.10.14 10:14
Для того чтобы добавить дополнительную обработку или отчет в тонкий клиент нужно в модули отчета или обработки прописать одну процедуру и две функции.
- ложное утверждение, необходима только процедура, таблицу команд можно создать в ней
4. Константин Юрин (kostyaomsk) 01.10.14 10:38
Хотя бы пример кода показан, а право на ошибку есть у каждого.
5. Александр Полтава (Патриот) 01.10.14 10:40
6. Серж (Levity) 01.10.14 11:13
Мда, ни о чем, хотя когда разбирался с механизмом и этому был бы рад.
John_d; serpent; +2 Ответить 1
7. Константин Соболевский (Константин С.) 01.10.14 11:52
8. Евгений К (John_d) 01.10.14 12:12
(6) Levity, Тема для тех кто хочет быстро добавить обработку в дополнительные. А не читать кучу мануалов и длинных статей.
Spacer; baracuda; Rom_0976; +3 Ответить
9. Вячеслав Григорьев (Vyatcheslav) 01.10.14 13:16
Бред. Средствами БСП же можно намного изящнее:

для дополнительных обработок:
// Возвращает сведения о внешней обработке.
Функция СведенияОВнешнейОбработке() Экспорт
	
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
	
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
	ПараметрыРегистрации.Версия = "1.0";
	
	НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
	НоваяКоманда.Представление = "Выгрузка платежек в заявки";
	НоваяКоманда.Идентификатор = "ВыгрузкаПлатежекВЗаявки";
	НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
	НоваяКоманда.ПоказыватьОповещение = Ложь;
	
	Возврат ПараметрыРегистрации;
	
КонецФункции

...Показать Скрыть


для доп. отчетов:
Функция СведенияОВнешнейОбработке() Экспорт
	
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
	
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет();
	ПараметрыРегистрации.Версия = "1.0";
	
	НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
	НоваяКоманда.Представление = "Ведомость амортизации ОС с комплектующими";
	НоваяКоманда.Идентификатор = "ВедомостьАмортизацииОСсКомплектующими";
	НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
	НоваяКоманда.ПоказыватьОповещение = Ложь;
	
	Возврат ПараметрыРегистрации;
	
КонецФункции
...Показать Скрыть


для доп. печатных форм:
Функция СведенияОВнешнейОбработке() Экспорт
	
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
	
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
	ПараметрыРегистрации.Версия = "1.0";
	ПараметрыРегистрации.Назначение.Добавить("Документ.ПеремещениеОС");
	
	НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
	НоваяКоманда.Представление = "ОС-2 с остаточной";
	НоваяКоманда.Идентификатор = "ОС2";
	НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
	НоваяКоманда.ПоказыватьОповещение = Истина;
	НоваяКоманда.Модификатор = "ПечатьMXL";
	
	Возврат ПараметрыРегистрации;
	
КонецФункции

...Показать Скрыть


ostashov; teriban; xpohuk; b-real; prog1chab; maldinitaly; ak0710; Rasten; Natalka_rus; peace1984; shalimski; simgo83; albatros12; leriko; METAL; Rom_0976; borodatii; PLAstic; cheburashka; ichhh; Rokky78; Yashazz; John_d; +23 Ответить
10. Вячеслав Григорьев (Vyatcheslav) 01.10.14 13:22
для доп. печатных форм, где пользователь в форме сначала будет передавать некие доп. параметры:


Функция СведенияОВнешнейОбработке() Экспорт
	
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
	
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
	ПараметрыРегистрации.Версия = "1.0";
	ПараметрыРегистрации.Назначение.Добавить("Документ.РеализацияТоваровУслуг");
	
	НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
	НоваяКоманда.Идентификатор = "ТОРГ12СПодписями";
	НоваяКоманда.Представление = "ТОРГ12 (с подписями)";
	НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
	НоваяКоманда.ПоказыватьОповещение = Истина;
	НоваяКоманда.Модификатор = "ПечатьMXL";
	
	Возврат ПараметрыРегистрации;
	
КонецФункции

...Показать Скрыть


заполнение объекта:
Функция СведенияОВнешнейОбработке() Экспорт
	
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
	
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиЗаполнениеОбъекта();
	ПараметрыРегистрации.Версия = "1.0";
	ПараметрыРегистрации.Назначение.Добавить("Документ.ИнвентаризацияТоваровНаСкладе");
	
	НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
	НоваяКоманда.Представление = "Заполнить по счету 10";
	НоваяКоманда.Идентификатор = "ДозаполнитьИнвентаризацию10";
	НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
	НоваяКоманда.ПоказыватьОповещение = Ложь;
	
	НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
	НоваяКоманда.Представление = "Заполнить по счету 08.04";
	НоваяКоманда.Идентификатор = "ДозаполнитьИнвентаризацию0804";
	НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
	НоваяКоманда.ПоказыватьОповещение = Ложь;
	
	НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
	НоваяКоманда.Представление = "Заполнить по счету МЦ.02";
	НоваяКоманда.Идентификатор = "ДозаполнитьИнвентаризациюМЦ02";
	НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
	НоваяКоманда.ПоказыватьОповещение = Ложь;

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

	
	Возврат ПараметрыРегистрации;
	
КонецФункции

...Показать Скрыть
11. Илья Коротков (molodoi1sneg) 01.10.14 14:21
Товарищи вы издеваетесь? Пришла рассылка - дай думаю почитаю умных людей.
Один статью сделал как движения в регистр писать с помощью запроса, тут статья поверхностная.

ЗЫ. Я не писатель, скорее читатель.
12. Яков Коган (Yashazz) 01.10.14 14:45
Были тут на эту тему настоящие статьи, гораздо более проработанные и универсальные к тому же. А здесь безобразие, по большому счёту - указаны "Все конфигурации 1С", хотя есть нюансы (с) и на скринах показана далеко не самая популярная и общеупотребительная. Согласен с выше высказанными претензиями.
13. Константин Юрин (kostyaomsk) 01.10.14 18:21
(7) Константин С., а паролик к ИТС не у всех есть. Его еще бывает вводить лень :) Лучше по отдельным мелким статьям читать. Они и в поисковиках выходят на первый план. И тут еще толпа с комментариями. Если что и ошибку найдут.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа