Диалог Дополнительные реквизиты на КПК позволяет добавлять к документам новые реквизиты. В Моби-С для всех документов можно добавлять дополнительные реквизиты различного типа. Реквизит можно добавить к документу в целом (размещается на вкладке Прочее) либо для товара (размещается в карточке товара). Для того чтобы полностью использовать все возможности дополнительных реквизитов необходимо обладать знаниями в программировании на языке 1С.
Для добавления нового реквизита нажмите на на верхней панели инструментов кнопку Добавить. В список реквизитов добавиться новая строка.
Поле Описание - введите информативное название реквизита. Это значение нигде не используется и носит информационный характер.
Флажок Исп - на КПК выгружаются только реквизиты с установленным флажком Исп.
Доступно агентам - позволяет задать список торговых агентов для которых доступен текущий реквизит.
Код реквизита - уникальный код дополнительного реквизита. Должен быть уникальным для всех реквизитов.
Наименование на КПК - название реквизита, отображается на КПК слева от самого реквизита. Наименование должно быть коротким и понятным.
Обязателен к заполнению - если реквизит обязателен к заполнению, то документ на КПК будет не возможно сохранить до тех пор пока не будет введено значение.
Привязать на КПК к - место (вкладка Прочее или карточка товара) и документ где будет выведен реквизит.
Для документа в 1с - список формируется в зависимости от значения выбранного в поле Привязать на КПК к, список доступных документов 1С. Если в настройках агента не используется выбранный документ 1С то дополнительный реквизит не будет выгружен в КПК.
Поле привязки - Это поле актуально только если вы используете реквизит с типом данных Выбор из списка. Настройка позволяет заполнять список в зависимости от выбранного значения в объекте привязке. Для шапки документа в качестве привязки можно выбрать, клиента или договор, для табличной части, товар или единица измерения.
Тип реквизита - Тип создаваемого реквизита: Выбор из списка, Строка, Число, Флажок, Дата/время, Штрих-код.
Для реквизита Выбор из списка необходимо задать список значений во вкладке Обработка выборки данных для КПК
Вкладка Обработка выборки данных для КПК - код на языке 1С формирующий данные для заполнения реквизита Список значений.
Вкладка Обработка при создании документа - код на языке 1С который будет срабатывать при создании документа и обрабатывать выгруженные с КПК значение реквизита.
Скачать файл с примерами дополнительных реквизитов
Загрузить примеры можно нажав кнопку Добавить из файла и выбрав скачанный файл.
Для документа Продажа добавляем на вкладку Прочее дополнительный реквизит Список значений и заполняем его адресами из контактной информации клиента. При выгрузке документа выбранное значение подставляется в реквизит Адрес доставки документа Реализация товаров и услуг.
// Текст исполняемого кода в "ФормаОсновная" (P)ВыгрузитьЗначенияДопРеквизитов
// ТЗ - ТаблицаЗначений("КодРеквизита, КодЗначения, КодПривязки, Представление")
// МассивКонтрагентов - Доступные в настройках Агента контрагенты
// Организации - Доступные в настройках Агента организации
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| КонтактнаяИнформация.Объект.Код КАК КонтрагентКод,
| КонтактнаяИнформация.Представление КАК Адрес,
| КонтактнаяИнформация.Вид КАК Вид
|ИЗ
| РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|ГДЕ
| КонтактнаяИнформация.Объект В(&спКонтрагентов)
| И КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)";
Запрос.УстановитьПараметр("спКонтрагентов", МассивКонтрагентов);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
НовСтр = ТЗ.Добавить();
НовСтр.КодРеквизита = Стр.КодРеквизита;
НовСтр.КодПривязки = СокрЛП(Выборка.КонтрагентКод);
НовСтр.КодЗначения = УникИдентификатор(Выборка.Вид) + СокрЛП(Выборка.КонтрагентКод);
НовСтр.Представление = УбратьСпецСимволы(Выборка.Адрес);
КонецЦикла;
// Обработка при создании документа
Значение = Лев (Значение, 32);
стрGUID = ВернутьПробелыGUID(Значение); //вернем на место символы "-" (минус)
Попытка
GUID = новый УникальныйИдентификатор(стрGUID); //получили уникальный код объекта
Исключение
//Продолжить;
КонецПопытки;
Вид = Справочники.ВидыКонтактнойИнформации.ПолучитьСсылку(GUID);
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| КонтактнаяИнформация.Представление КАК Адрес
|ИЗ
| РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|ГДЕ
| КонтактнаяИнформация.Объект.Код = &КонтрагентКод
| И КонтактнаяИнформация.Вид = &Вид
| И КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)";
Запрос.УстановитьПараметр("КонтрагентКод", Док.Контрагент.Код);
Запрос.УстановитьПараметр("Вид", Вид);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Док.Комментарий = Док.Комментарий + " " + Выборка.Адрес;
КонецЕсли;
Создаем список значений на вкладке Прочее документа Продажа с именем Грузоотправитель. Заполняем 5ю первыми клиентами из справочника Клиенты. При выгрузке выбранное значение подставляется в реквизит Грузополучатель или Грузоотправитель документа Реализация товаров и услуг.
// Текст исполняемого кода в "ФормаОсновная" (P)ВыгрузитьЗначенияДопРеквизитов
// ТЗ - ТаблицаЗначений("КодРеквизита, КодЗначения, КодПривязки, Представление")
// МассивКонтрагентов - Доступные в настройках Агента контрагенты
// Организации - Доступные в настройках Агента организации
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Контрагенты.Ссылка,
| Контрагенты.Наименование
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
|ГДЕ
| Контрагенты.ПометкаУдаления = ЛОЖЬ
| И Контрагенты.ЭтоГруппа = ЛОЖЬ";
Выборка = Запрос.Выполнить().Выбрать();
Для к =1 По 5 Цикл
Выборка.Следующий();
НовСтр = ТЗ.Добавить();
НовСтр.КодРеквизита = Стр.КодРеквизита;
НовСтр.КодПривязки = ""; //СокрЛП(Выборка.КонтрагентКод);
НовСтр.КодЗначения = УникИдентификатор(Выборка.Ссылка);
НовСтр.Представление = УбратьСпецСимволы(Выборка.Наименование);
КонецЦикла;
стрGUID = ВернутьПробелыGUID(Значение); //вернем на место символы "-" (минус)
Попытка
GUID = новый УникальныйИдентификатор(стрGUID); //получили уникальный код объекта
Исключение
КонецПопытки;
//заполнить грузополучателя
Док.Грузополучатель = Справочники.Контрагенты.ПолучитьСсылку(GUID);
//заполнить грузоотправителя
Док.Грузоотправитель= Справочники.Контрагенты.ПолучитьСсылку(GUID);
При обработке выгруженного с КПК значения доступны следующие переменные:
Значение - выгруженное с КПК значение доп реквизита, в зависимости от типа дополнительного реквизита:
Агент - агент выгружающий документ (версия обработки 5.5.30 и выше)
Док - ДокументОбъект - Если дополнительный реквизит привязан к документу или к табличной части документа
СтрДок - Строка табличной части Товары документа к которому привязан дополнительный реквизит
НовыйКлиент - СправочникОбъект.Контрагенты если доп реквизит привязан к новому клиенту.
При формировании списка выбора дополнительных реквизитов можно использовать следующие объекты содержащие выгруженные агенту данные:
МассивКонтрагентов - массив ссылок на справочник Контрагенты выгруженных на КПК, привязка выполняется по реквизиту контрагента Код
Организации - массив ссылок на справочник Организации выгруженных на КПК
МассивДоговоров - массив ссылок на справочник ДоговорыКонтрагентов выгруженных на КПК, привязка выполняется по УникИдентификатор(Договор)
МассивНоменклатуры - массив ссылок на справочник Номенклатура выгруженных
МассивЦен - массив ссылок на справочник ТипыЦенНоменклатуры выгруженных на КПК
тзВыгруженныеЕдиницы - полная информация о выгружаемых на КПК единицах (5.5.41 и новее)
Имя | ТипЗначения |
---|---|
"Единица" | Справочник ссылка: Единицы |
"Номенклатура" | Справочник ссылка: Номенклатура |
тзНоменклатураВся - полная информация о выгружаемых на КПК товарах, структура таблицы
Имя | ТипЗначения |
---|---|
"Код" | Строка |
"Артикул" | Строка |
"Номенклатура" | Справочник ссылка: Номенклатура |
"Характеристика" | Справочник ссылка: Характеристики номенклатуры |
"БезХарактеристик" | Булево |
"Серия" | Справочник ссылка: Серии номенклатуры |
"БезСерий" | Булево |
"ГТД" | Строка |
"ТНВЭД" | Строка |
"Страна" | Строка |
"КодСтраны" | Строка |
"Весовой" | Строка |
"СтавкаНДС" | Строка |
"ВестиУчетПоСериям" | Булево |
"ВестиУчетПоХарактеристикам" | Булево |
"Группа" | Справочник ссылка: Номенклатура |
"НоменклатурнаяГруппа" | Справочник ссылка: Номенклатурные группы |
"МенятьЦены" | Число |
"Цвет" | Строка |
"НаименованиеПолное" | Строка |
"НоменклатураНаим" | Строка |
"ХарактеристикаНаим" | Строка |
"СерияНаим" | Строка |
"ДополнительноеОписаниеНоменклатуры" | Строка |
"УникИд" | Строка, код товара на КПК |