<< Нажмите для отображения Оглавления >>

Навигация:  Интеграция с 1С 8 (УТ 10) > Сервис >

Настройка доп. реквизитов на КПК

Диалог Дополнительные реквизиты на КПК позволяет добавлять к документам новые реквизиты.

 

Начиная с версии 5.1 в Моби-С появилась возможность выгружать на мобильное устройство, любое количество дополнительных реквизитов для документов Продажа, Заказ, Покупка, ПКО, Анкеты, Наличие и цены и Новый клиент. Реквизиты можно добавить в как в шапку так и табличную часть документа. Добавленные реквизиты появляются на вкладке Прочее документа и при вводе количества товара.

 

Что такое дополнительные реквизиты и как их можно использовать?

 

Для того чтобы полностью использовать все возможности дополнительных реквизитов необходимо обладать знаниями в программировании на языке 1С.

 

124

 

Параметр

Назначение

Код реквизита

Уникальный код дополнительного реквизита.

Тип данных

Тип создаваемого реквизита: Выбор из списка, Строка, Число, Флажок, Дата/время.

Привязать на КПК к

Выбор документа и место отображения (шапка или табличная часть) дополнительного реквизита.

Обязателен к заполнения

Если реквизит обязателен к заполнению то документ на КПК будет не возможно сохранить до тех пор пока не будет введено значение.

Наименование на КПК

Отображаемое на мобильном устройстве наименование реквизита.

Поле привязки

Это поле актуально только если вы используете реквизит с типом данных Выбор из списка. Настройка позволяет заполнять список в зависимости от выбранного значения в обьекте привязке. Для шапки документа в качестве привязки можно выбрать, клиента или договор. Для табличной части, товар или единица измерения.

Для документа в 1с

В настройках агента для каждого типа документа на КПК можно выбрать какой будет создаваться документ в 1С. В этой настройке выбирается для какого документа 1С будет обрабатываться значение дополнительного реквизита. Если в настройках агента не используется выбранный документ 1С то дополнительный реквизит не будет выгружен в КПК.

 

Для реквизита Выбор из списка необходимо задать список значений во вкладке Обработка выборки данных для КПК

 

Пример 1

 

Создаем список значений на вкладке Прочее документа Продажа. Заполняем адресами из контактной информации клиента. При выгрузке выбранное значение подставляется в реквизит Адрес доставки документа Реализация товаров и услуг.

125

 

Обработка выборки данных для КПК

 

// Текст исполняемого кода в "ФормаОсновная" (P)ВыгрузитьЗначенияДопРеквизитов

// ТЗ - ТаблицаЗначений("КодРеквизита, КодЗначения, КодПривязки, Представление")

// МассивКонтрагентов        - Доступные в настройках Агента контрагенты

// Организации                        - Доступные в настройках Агента организации

 

Запрос = Новый Запрос;

 Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ

 |        КонтактнаяИнформация.Объект.Код КАК КонтрагентКод,

 |        КонтактнаяИнформация.Представление КАК Адрес,

 |        КонтактнаяИнформация.Вид КАК Вид

 |ИЗ

 |        РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация

 |ГДЕ

 |        КонтактнаяИнформация.Объект В(&спКонтрагентов)

 |        И КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)";

 

Запрос.УстановитьПараметр("спКонтрагентов", МассивКонтрагентов);

Выборка = Запрос.Выполнить().Выбрать();

 

Пока Выборка.Следующий() Цикл

 НовСтр = ТЗ.Добавить();

 НовСтр.КодРеквизита = Стр.КодРеквизита;

 НовСтр.КодПривязки = СокрЛП(Выборка.КонтрагентКод);

 НовСтр.КодЗначения = УникИдентификатор(Выборка.Вид) + СокрЛП(Выборка.КонтрагентКод);

 НовСтр.Представление = УбратьСпецСимволы(Выборка.Адрес);

КонецЦикла;

 

Обработка при создании документа

 

// Обработка при создании документа

Значение = Лев (Значение, 32);

стрGUID = ВернутьПробелыGUID(Значение); //вернем на место символы "-" (минус)

Попытка

 GUID = новый УникальныйИдентификатор(стрGUID); //получили уникальный код объекта

Исключение

 //Продолжить;

КонецПопытки;                

Вид = Справочники.ВидыКонтактнойИнформации.ПолучитьСсылку(GUID);

Запрос = Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ

 |        КонтактнаяИнформация.Представление КАК Адрес

 |ИЗ

 |        РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация

 |ГДЕ

 |        КонтактнаяИнформация.Объект.Код = &КонтрагентКод

 |        И КонтактнаяИнформация.Вид = &Вид

 |        И КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)";

 

Запрос.УстановитьПараметр("КонтрагентКод", Док.Контрагент.Код);

Запрос.УстановитьПараметр("Вид", Вид);

 

Выборка = Запрос.Выполнить().Выбрать();

Если Выборка.Следующий() Тогда

 Док.Комментарий = Док.Комментарий + " " + Выборка.Адрес;

КонецЕсли;

 

Пример 2

 

Создаем список значений на вкладке Прочее документа Продажа с именем Грузоотправитель. Заполняем 5ю первыми клиентами из справочника Клиенты. При выгрузке выбранное значение подставляется в реквизит Грузополучатель или Грузоотправитель документа Реализация товаров и услуг.

 

126

 

Обработка выборки данных для КПК

 

// Текст исполняемого кода в "ФормаОсновная" (P)ВыгрузитьЗначенияДопРеквизитов

// ТЗ - ТаблицаЗначений("КодРеквизита, КодЗначения, КодПривязки, Представление")

// МассивКонтрагентов        - Доступные в настройках Агента контрагенты

// Организации                        - Доступные в настройках Агента организации

 

Запрос = Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ

 | Контрагенты.Ссылка,

 | Контрагенты.Наименование

 |ИЗ

 | Справочник.Контрагенты КАК Контрагенты

 |ГДЕ

 | Контрагенты.ПометкаУдаления = ЛОЖЬ

 | И Контрагенты.ЭтоГруппа = ЛОЖЬ";        

Выборка = Запрос.Выполнить().Выбрать();

 

Для к =1 По 5  Цикл

 Выборка.Следующий();

 НовСтр = ТЗ.Добавить();

 НовСтр.КодРеквизита = Стр.КодРеквизита;

 НовСтр.КодПривязки = ""; //СокрЛП(Выборка.КонтрагентКод); 

 НовСтр.КодЗначения = УникИдентификатор(Выборка.Ссылка);

 НовСтр.Представление = УбратьСпецСимволы(Выборка.Наименование);

КонецЦикла;

 

Обработка при создании документа

 

стрGUID = ВернутьПробелыGUID(Значение); //вернем на место символы "-" (минус)

Попытка

 GUID = новый УникальныйИдентификатор(стрGUID); //получили уникальный код объекта

Исключение

КонецПопытки;                

//заполнить грузополучателя

Док.Грузополучатель =  Справочники.Контрагенты.ПолучитьСсылку(GUID);

//заполнить грузоотправителя

Док.Грузоотправитель=  Справочники.Контрагенты.ПолучитьСсылку(GUID);