Далион Lite + Табачная продукция + Frontol 6 = Дружба


Как подружить далион Lite и табачную продукцию и выгрузить все это в Frontol 6.

1. Нужно сделать любое свойство с типом данных Булево ("Сигареты" у меня)

2. Устанавливаем свойство у товара

3. Производим выгрузку данных во frontol стандартным способом

4. Необходимо в параметрах настройки кассы узнать, куда были выгружены файлы

5. Запускаем обработку и прописываем Имя файла

6. Нажать "выполнить" в обработке

7. Просим кассира сделать повторную загрузку данных.

 

ВСЕ, на кассе теперь можно торговать Табачной промаркированной продукцией

(данный способ подходит тем, кто не хочет тратиться на дорогой переход с Далион Lite на УНО или ПРОФ)

Обработка тестировалась на версии Dalion Lite 1.2.22.1 но будет работать и на более низких релизах

Как всегда, прикладываю полный текст для тех, кто не имеет возможность скачать.

Функция РазложитьСтрокуВМассивПодстрок(Знач Стр, Разделитель = ",") Экспорт
МассивСтрок = Новый Массив();
Если Стр = Неопределено ИЛИ Стр = "" тогда Возврат МассивСтрок; КонецЕсли;
Если Разделитель = " " Тогда
Стр = СокрЛП(Стр);
Пока Истина Цикл
Поз = Найти(Стр,Разделитель);
Если Поз=0 Тогда
МассивСтрок.Добавить(Стр);
Возврат МассивСтрок;
КонецЕсли;
МассивСтрок.Добавить(Лев(Стр,Поз-1));
Стр = СокрЛ(Сред(Стр,Поз));
КонецЦикла;
Иначе
ДлинаРазделителя = СтрДлина(Разделитель);
Пока Истина Цикл
Поз = Найти(Стр,Разделитель);
Если Поз=0 Тогда
МассивСтрок.Добавить(Стр);
Возврат МассивСтрок;
КонецЕсли;
МассивСтрок.Добавить(Лев(Стр,Поз-1));
Стр = Сред(Стр,Поз+ДлинаРазделителя);
КонецЦикла;
КонецЕсли;
КонецФункции


Процедура КнопкаВыполнитьНажатие(Кнопка)
// Вставить содержимое обработчика.

запрос =Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
|    ЗначенияСвойствОбъектов.Объект,
|    ЗначенияСвойствОбъектов.Объект.Код как Код1
|ИЗ
|    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
|ГДЕ
|    ЗначенияСвойствОбъектов.Свойство = &Свойство
|    И ЗначенияСвойствОбъектов.Значение = ИСТИНА";
Запрос.УстановитьПараметр("Свойство",СвойствоСигареты);
МСигареты = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Код1");

если МСигареты.Количество() = 0 ТОгда
Возврат;
конецесли;

ТВход = Новый ТекстовыйДокумент;
ТВыход = Новый Текстовыйдокумент;

тВход.Прочитать(СокрЛП(Имяфайла));
Для А=1 По ТВход.КоличествоСтрок() Цикл
_Стр = тВход.ПолучитьСтроку(А);
если А=2 Тогда
ТВыход.ДобавитьСтроку("#");
ИначеЕсли А=1 ТОгда
ТВыход.ДобавитьСтроку(_Стр);
Иначе
МСтрок = РазложитьСтрокуВМассивПодстрок(_Стр,";");
если мСтрок.количество()>=55 ТОгда

_КодТовара = Число(мСтрок[0]);
если МСигареты.Найти(_КодТовара)= неопределено ТОгда
ТВыход.ДобавитьСтроку(_Стр);
Иначе
_СтрПол ="";
Для Б=1 По мСтрок.количество() Цикл
если Б=55 ТОгда
_СтрПол =_СтрПол+"4;";
иначе
_СтрПол =_СтрПол+мСтрок[Б-1]+";";
конецесли;
Конеццикла;
ТВыход.ДобавитьСтроку(_СтрПол);
Конецесли;
Иначе
ТВыход.ДобавитьСтроку(_Стр);
Конецесли;
Конецесли;

Конеццикла;

ТВход =неопределено;


тВыход.Записать(СокрЛП(Имяфайла),"windows-1251");

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

 

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *