Имя: Пароль:
1C
1С v8
Загрузка отчетов о продажах из Фронтол 4 в 1с УТ
0 ugorchina
 
02.05.18
14:58
Добрый день! возможно Каму то пригодится

Обратился клиент со следующей проблемой 1с отказывалась загружать отчет из фронтола и выдавала ошибку

Регистрация продаж без учета кода товара не допускается

происходит так когда во фронтоле отпускают товары (услуги) по свободной цене то есть без указания самого товара

1. Вариант решения данной проблемы это попросту запретить на фронтоле использование данной функции

2. решение данного вопроса следующее

создаем новый товар я его назвал так (Продажи по свободной цене)
Создаем документ ввода начальных остатков где выбираем наш товар и задаем ему остаток скажем 10 000 000 :-)

после идем в регистр КодыТоваровПодключаемогоОборудованияOffline

ищем там наш товар по наименованию после запоминаем его код

затем идем в конфигуратор открываем модуль

ПодключаемоеОборудованиеАтолККМOfflineКлиент

ищем там Функция ЗагрузитьОтчет(ОбъектДрайвера, Параметры, ПараметрыПодключения, ВыходныеПараметры) экспорт в данной функеции ищем

Если ТипТранзакции =  1 Тогда
                    // Регистрация без учета кода товара.
                    ВыходныеПараметры.Добавить(999);
                    ВыходныеПараметры.Добавить(НСтр("ru='Регистрация продаж без учета кода товара не допускается'"));
                    Результат = Ложь;
                    Прервать;
(У вас может быть подругому)

и в место этого вставляем следующий код

Если ТипТранзакции =  1 Тогда
                    // Регистрация без учета кода товара.
                    //ВыходныеПараметры.Добавить(999);
                    //ВыходныеПараметры.Добавить(НСтр("ru='Регистрация продаж без учета кода товара не допускается'"));
                    //Результат = Ложь;
                    //Прервать;
                    
                    // Регистрация с учетом кода товара 112076 Продажи по своб.
                    
                    КодСтр        = 112076;//Здесь Ваш код из регистра
                    ЦенаСтр       = СтрПолучитьСтроку(ТекущаяСтрока, 10);
                    КоличествоСтр = СтрПолучитьСтроку(ТекущаяСтрока, 11);
                    СуммаСтр      = СтрПолучитьСтроку(ТекущаяСтрока, 16);
                    Артикул       = СтрПолучитьСтроку(ТекущаяСтрока, 18);
                    Попытка
                        ПолеОшибки = Нстр("ru='Код товара (8)'");
                        Код        = Число(КодСтр);
                        ПолеОшибки = Нстр("ru='Цена товара (10)'");
                        Цена       = Число(ЦенаСтр);
                        ПолеОшибки = Нстр("ru='Количество товара (11)'");
                        Количество = Число(КоличествоСтр);
                        ПолеОшибки = Нстр("ru='Сумма продажи (16)'");
                        Сумма      = Число(СуммаСтр);
                    Исключение
                        ВыходныеПараметры.Добавить(999);
                        ВыходныеПараметры.Добавить(НСтр("ru='Неверный формат файла. Невозможно преобразовать к числу поле:'") + Символы.НПП + ПолеОшибки);
                        Результат = Ложь;
                        Прервать;
                    КонецПопытки;
                    Врем                = Новый Структура("Код, Цена, Количество, Сумма, Артикул, НомерДокумента, НомерСмены");
                    Врем.Код            = Код;
                    Врем.Цена           = Цена;
                    Врем.Количество     = Количество;
                    Врем.Сумма          = Сумма;
                    Врем.Артикул        = Артикул;
                    Врем.НомерДокумента = НомерДокумента;
                    Врем.НомерСмены     = НомерСмены;
                    
                    // дополнение ки гж
                    Врем.Вставить("ки_ДатаОтчета", ки_ДатаОтчета);
                    // дополнениеконец
                    
                    Позиции.Добавить(Врем);

                    
                    //Предупреждение("Номер тр - "+НомерТранзакции+" Тип тр 1-(регистрация без кода, 11(Регистрация с кодом) - "+ТипТранзакции+" КодСтр - "+СтрПолучитьСтроку(ТекущаяСтрока,  8)+" Цена - "+СтрПолучитьСтроку(ТекущаяСтрока, 10)+" КолВоСТр - "+СтрПолучитьСтроку(ТекущаяСтрока, 11)+" Сумм - "+СтрПолучитьСтроку(ТекущаяСтрока, 16)+" Артикул - "+СтрПолучитьСтроку(ТекущаяСтрока, 18));
1 ugorchina
 
02.05.18
14:59
после данных действий в документе у Вас могут появляться строчки с данным товаром и отчеты будут грузится!
2 ugorchina
 
02.05.18
15:01
может быть будут другие методы решения данной проблемы?
3 ugorchina
 
02.05.18
15:03
Можно еще завести константу и выбирать данный код именно в ней а здесь  КодСтр        = 112076//Здесь Ваш код из регистра

значение из Вашей константы
4 ugorchina
 
02.05.18
16:15
ну что нет предложений?
(2)
5 yzimin
 
02.05.18
17:49
Почему бы вместо товара не использовать услугу, чтобы не заморачиваться с остатками?
6 big
 
02.05.18
20:11
Какое то раздолбайство. Что продают на автоматизированной (!!!) кассе по свободной цене? Надо в кассе завести эти сущности и уже конкретно их продавать. Зачем городить автоматизированный хаос с придумыванием ввода остатков в несколько тысяч штук несуществующего товара?? )))
7 ugorchina
 
02.05.18
20:49
(6) а почему несколько ты шт? когда только одна?
8 ugorchina
 
02.05.18
20:50
у них куча услуг по мимо товара им так проще ) ну а вообще изночальноо все именно так и работало я имею в виду не прорбивали по свободной цене и вдруг начали )
9 ugorchina
 
03.05.18
04:31
(6) и все таки я за свободную цену! вернее за такого рода продажи

а почему бы и нет не нужно думать как пробить ту или инную услугу

если предприятию не важно какая именно услуга а именно важна только верная цена зачем тогда городить огород?

в чем то Вы правы! хочется что бы все было правильно и красиво но в чем то и не правы!

(6) обьясните Ваше мнение пожалуйста.
10 big
 
03.05.18
11:14
(9) Если есть некий конкретный перечень услуг, то надо именно их и продавать по свободной цене. То есть надо указывать во фронтоле конкретную услугу и по какой-то нужной вам цене. Всё это автоматический будет загружаться в 1С именно как услуга. То есть в отчете ккм эти позиции будут проводиться без контроля остатка. Собссно - это же очевидное решение. Причем - один раз сделал и забыл ))

(7)  По несколько тыс. штук - это был ответ на идею "...Создаем документ ввода начальных остатков где выбираем наш товар и задаем ему остаток скажем 10 000 000..."   ))


з.ы. Для удобства кучу услуг можно "вынести" на бирки с внутренними штрихкодами, тогда их можно будет сканировать. Можно завести подобие журнала с распечатанным перечнем услуг и штриходом на них, можно запрограммировать горячие клавиши во фронтоле (весьма удобно, кстати)
11 ugorchina
 
03.05.18
12:24
(10) есть и журна все это уже давно есть и предлогалось клиенту НО он захотел именно так я предложил он не отказался заплатил я сделал )

да и вообще я выложил эту тему что бы кто то по существу рассказал да клиент захотел именно так а значит я спрашиваю и менно в таком направлении кто то может что то другое предложить?
12 big
 
03.05.18
14:06
(11) Далеко не всегда хотелки клиента рациональны и правильны. Как говорится - любой каприз за ваши деньги ))
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший