Свойства конфигурации - Модуль сеанса
Процедура УстановкаПараметровСеанса()
ПараметрыСеанса.ОбщиеЗначения = Новый ХранилищеЗначения(Новый Структура);
ПолныеПрава.ОпределитьПараметрыСеансаДляОбменаДанными();
ПолныеПрава.УстановитьПараметрыСеанса();
ПараметрыСеанса.Подразделение = ПараметрыСеанса.ТекущийПользователь.Подразделение;
КонецПроцедуры // УстановкаПараметровСеанса
2.Модуль Полные права
Функция ЕстьДоступныеПраваДляЗапускаКонфигурации() Экспорт
Возврат РольДоступна("ПолныеПрава") ИЛИ РольДоступна("Пользователь") ИЛИ РольДоступна("НовыйОператор") ИЛИ РольДоступна("ПолныеПраваДляОбмена");
КонецФункции
3. Работа С торговым оборудованием (Получить новый PLU)
// Функция возвращает значение PLU для новой записи регистра сведений
// "ТоварыНаККМ" в соответствии с текущим порядком назначения PLU.
//
// Параметры
// КассаККМ - <СправочникСсылка.КассыККМ>
// - Касса, с которой будет связана запись.
//
// Номенклатура - <СправочникСсылка.Номенклатура>
// - Номенклатура, для которой необходимо задать новый PLU.
//
// Возвращаемое значение:
// <Число> – Значение PLU.
//
Функция ПолучитьНовыйPLU(КассаККМ, Номенклатура,Порядок=Неопределено,Префиксы=Неопределено,ТекКод=Неопределено) Экспорт
Код = 0;
Если Порядок=Неопределено Тогда
Порядок = Константы.ПорядокПрисвоенияPLU.Получить();
КонецЕсли;
Если Порядок = Перечисления.ПорядокПрисвоенияPLU.ПоКодуНоменклатуры Тогда
//исходный
// Код = Число(Номенклатура.Код);
// изменения
Если Префиксы=Неопределено Тогда
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ПрефиксыТоваровККМ.Префикс,
| ПрефиксыТоваровККМ.Цифра
|ИЗ
| Справочник.ПрефиксыТоваровККМ КАК ПрефиксыТоваровККМ
|ГДЕ
| (НЕ ПрефиксыТоваровККМ.ПометкаУдаления)";
Префиксы = ЗАпрос.Выполнить().Выгрузить();
Префиксы.Колонки.Добавить("Количество");
Если Префиксы.Количество()=0 Тогда
Сообщить("Не заполнены соответствия Префиксов номенклатуры - Числу! Справочник.ПрефиксыТоваровККМ");
//Возврат;
КонецЕсли;
Для каждого стр из Префиксы Цикл
стр.Количество = СтрДлина(стр.Префикс);
КонецЦикла;
ТекКод = Номенклатура.Код;
КонецЕсли;
Для каждого стр из Префиксы Цикл
Если Лев(ТекКод,стр.Количество)=стр.Префикс Тогда
Код = ""+стр.Цифра+Прав(ТекКод,7-стрДлина(стр.Цифра));
Код = Число(Код);
КонецЕсли;
КонецЦикла;
Если Код = 0 Тогда
Сообщить("Не возможно преобразовать код номенклатуры - "+ТекКод+" - В число!!!");
КонецЕсли;
// Конец изменений
4.
Комментариев нет:
Отправить комментарий