Имя: Пароль:
1C
1С v8
Перенос длинных наименований товаров в чеке Штрих-М-01Ф
,
0 SeriyP
 
15.03.17
12:56
УТ10.3 + Драйвер ШтрихМ 4.13.0.552 + Штрих-М-01Ф
Проблема, очевидно, старая, но решения толкового не нашел:
Длина строки наименования товара в чеке ограничена 48 символами. Кто подскажет, как избежать обрезки и переносить наименование длиннее 48 символов на другие (нижние) строки? Где настроить/доработать?
1 SeriyP
 
15.03.17
12:59
+(0) Тему
Перенос строк в чеке ККМ
читал.
Не понял про "Для печати чека используй метод ПечатьСтроки, а чек закрывай общей суммой."
2 yzimin
 
15.03.17
13:07
(1) та же проблеме
У нас ШТРИХ-ОН-ЛАЙН строка режется 32 символами. В ОФД передаётся 63 или 64 символа. Конфигурация УТ 11.
Есть ощущение, что сама ККТ режет.
3 Сияющий Асинхраль
 
15.03.17
13:13
Ну у вас же 1С под рукой, она может что угодно со строками делать, например разделить одну строку на несколько подстрок. Например, так:

        // Если имя слишком длинное, почему бы его не разделить на несколько строк Тогда
        
        Если НовыйВариант = 1 Тогда
            СтрокаДляПечати = СписокТоваров.ТовНаим;
            ИмяСПереносами = "";
            Пока СтрДлина(СтрокаДляПечати)>0 Цикл
                ИмяСПереносами = ИмяСПереносами + Лев(СтрокаДляПечати,ДлинаНаименования);
                СтрокаДляПечати = СокрЛП(Сред(СтрокаДляПечати,ДлинаНаименования+1));
                Если ПустаяСтрока(СтрокаДляПечати) = 0 Тогда
                    ИмяСПереносами = ИмяСПереносами + РазделительСтрок;    
                КонецЕсли;
            КонецЦикла;
            Объект.Name = ИмяСПереносами;
        Иначе
            Объект.Name       = Лев(СписокТоваров.ТовНаим, ДлинаНаименования);
        КонецЕсли;

А кроме того, если внимательно почитаешь описание программирования под Штрих наверняка найдешь какой-то аналог Атолловской команды:

Объект.TextWrap = 2;
4 yzimin
 
15.03.17
13:15
(3) У нас 2 разные модели ККТ Штрих-М. Код используется один и тот же.
ШТРИХ-ОН-ЛАЙН - строки режет
ШТРИХ-МИНИ-ФР-К - корректно переносит строки
5 SeriyP
 
15.03.17
13:18
(3) Что-то подобное пробовал делать: Наименование длиннее 48 символов на строки разбивал с помощью Символы.ПС - не помогло. Что у Вас имеется в виду под "РазделительСтрок"?
6 Сияющий Асинхраль
 
15.03.17
13:19
Да, после

Объект.Name = ИмяСПереносами;

// Печатаем построчно имя

ВсегоСтрок = СтрКоличествоСтрок(ИмяСПереносами);
Для Сч = 1 По ВсегоСтрок Цикл
    ТекСтрока = СтрПолучитьСтроку(ИмяСПереносами,Сч);
    Объект.Caption = ТекСтрока; //СтрокаДляПечати; //Лев(СтрокаДляПечати,ДлинаНаименования);
    Объект.PrintString();
КонецЦикла;
7 Сияющий Асинхраль
 
15.03.17
13:20
(5) Это работающий код под семерку. РазделительСтрок в восьмерке Символы.ПС
8 SeriyP
 
15.03.17
13:21
(6) Что имеется в виду под "Объект"?
9 Сияющий Асинхраль
 
15.03.17
13:25
Еще раз, приведенный код - работающий код обработки обслуживания фискальника под 1С7.7. Есно под восьмерку будет по-другому чуток, но не кардинально. Объект в данном случае внешняя компонента, соответствующая драйверу фискальника
10 Сияющий Асинхраль
 
15.03.17
13:26
+(9) Основное в приведенном коде это как длинную строку разбить на подстроки (3) и как эти подстроки потом распечатать (6)
11 yzimin
 
15.03.17
13:27
(9) Этот код действует для Штрих-М или для Атол?
12 Сияющий Асинхраль
 
15.03.17
13:29
+(10) Ну а уж под восьмерку переделай сам.
(9) Если ты не заметил, этот код написан на 1С, в нем не было конкретной привязки к оборудованию
13 SeriyP
 
15.03.17
13:30
(9) (10) спасибо, прояснилось
14 Сияющий Асинхраль
 
15.03.17
13:34
Наверняка можно короче, если изучить руководство программиста под Штрих, как я уже говорил в конце (3) под Атолл есть команда TextWrap, ее аналог прямо таки наверняка есть и у Штриха (искать надо в руководстве программиста под Штрих)
15 yzimin
 
15.03.17
15:10
(13) отпишитесь, пожалуйста, если получится
16 SeriyP
 
15.03.17
15:22
(14) Нашел спецификации к драйверу Штриха
ftp://ftp.shtrih-m.ru/download/FR/Doc/DriverFR_%20specification_1C.pdf
яснее не стало
В модуле ПодключаемоеОборудованиеУниверсальныйДрайверКлиент есть функция ФискализацияЧека и в ней ссылка на функцию ОбъектДрайвера.СформироватьЧек, в которую в числе прочих передаются ДанныеЧека, переведенные в XML. За позицию товара отвечает раздел PrintFiscalString в котором никаких "Символы.ПС" нет.
Думаю, наверное, нужно вставить в xml какой-то перенос строки в формате xml, только вот не пойму какой и правильно ли это?
17 yzimin
 
15.03.17
15:38
(16) я когда разбирался, то данные в драйвер передаются для наших двух ККТ одинаковые. Но одном режет строки при печати, другой не режет. Может в какой таблице настроек через тестирование драйвера что-то указать надо?
18 yzimin
 
15.03.17
15:38
(17) Так же не исключаю, что это особенность конкретных моделей
19 SeriyP
 
16.03.17
09:26
Может кто пояснит фразу от сюда:
http://its.1c.ru/db/metod8dev#content:4829:hdoc:chapter270
про наименование в фискальной строки:
"Positions | FiscalString |    Name    | Да |    string |    Наименование товара |    Регистрирует фискальную строку с переданными реквизитами. При печати длинных фискальных строк необходимо делать перенос на следующую строку."
Какой-то знак переноса строки надо ставить в xml? например, "\n" ?
20 yzimin
 
16.03.17
11:25
(19) Символы.ПС пробовали?
21 yzimin
 
16.03.17
11:29
(20) Не в самой XML, а примерно как в (3)
22 SeriyP
 
16.03.17
11:58
(20) Символы.ПС в наименовании  есть, в xml в разделе Name виден перенос строки (знак абзаца). Штрих печатает только одну строку длинной 48 символов. Видимо, это происходит потому, что в драйвере в таблице 9 "Таблица формата чека" Ряд 1"Наименование в операции" фактически дает только одну строчку 48 символов для вывода наименования, поэтому попытки передать в драйвер многострочную строку бессмыслены. Как это побороть? Писать свою обработку драйвера и использовать там пресловутый PrintString? Но что тогда будет передаваться в ОФД?
23 yzimin
 
16.03.17
12:01
(22) А сейчас в ОФД сколько символов строка передаётся?
У нас на чеке 32 символа, в ОФД передаётся 64
24 SeriyP
 
16.03.17
12:04
(23) Все что есть - те и передаются без обрезок при чем с переносами
25 yzimin
 
16.03.17
12:12
(24) Мы в таблице 9 ряд 1 пробовали увеличивать количество символов до 64 - без результата
26 SeriyP
 
16.03.17
12:23
(25) Ну так в вашем случае символов в этот ряд поместится только 32, а в нашем - 48. Что делать - не понятно.
Ты говорил что "ШТРИХ-МИНИ-ФР-К - корректно переносит строки", что в настройках драйвера для него стоит?
27 yzimin
 
16.03.17
12:25
(26) А что именно показать? Может скрины таблицы 9 сделать? или что именно?
28 yzimin
 
16.03.17
12:29
(26) ШТРИХ-МИНИ-ФР-К - да, всё корректно переносит. Сейчас проверил драйвер используется этот же, что и ккт он-лайн.

Единственно эта ККТ у нас как ФР и до ккт онлайн мы её не апгрейживали
29 aka AMIGO
 
16.03.17
12:41
ККМ ШТРИХ-М-01Ф
Драйвер: DrvFR_4.13_538
Никаких специальных действий по настройке длины печатаемого наименования не делалось.
Наименование товара печатается в 2 строчки.

Фрагмент чека https://i.paste.pics/8f68420d2199bed648eca666c19ebf62.png

Резюме не ожидайте.. не знаю причину расхождений.
Возможно, разнятся экземпляры ККМ, или настройка у изготовителя.
30 SeriyP
 
16.03.17
12:41
(27) Да, 9 таблицу, если можешь, покажи.
31 SeriyP
 
16.03.17
12:46
(29) Настройки можешь показать? Полное состояние, выложи, пожалуйста, файл. Тест драйвера/01.Состояние/Полное состояние/Получить - Сохранить
32 yzimin
 
16.03.17
12:50
(30) http://s019.radikal.ru/i640/1703/95/85fd12caedb4.png
в строках стоит 63, изначально было 32.
33 aka AMIGO
 
16.03.17
12:54
(29) + 8.3, Розница, УФ


(31) Друже, к сожалению, это уже мне недоступно, все настройки остались на компе кассира.
Кроме того, все настройки выполнял сисадмин в компании с представителем продавца.
Моя часть началась и закончилась в пределах 1с - выполнил подключение через Помощника.
Там было одно поле - длина(ширина) ленты, указал максимум 48, и это - всё.
А, ну, да.. еще и качалку 7.7 -> 8.3 написал.
34 SeriyP
 
16.03.17
12:56
(33) эх, жаль...
35 SeriyP
 
16.03.17
12:56
(32) В таблице 1 ряд 25 что стоит?
36 yzimin
 
16.03.17
14:18
37 yzimin
 
16.03.17
14:44
таблицы (32) и (36) это для ШТРИХ-ОН-ЛАЙН

Для ШТРИХ-МИНИ-ФР-К
Таблица 1
http://s019.radikal.ru/i633/1703/aa/c3dcbecff516.png

Таблица 9
http://s019.radikal.ru/i601/1703/c0/cf1169b75e1f.png
38 SeriyP
 
16.03.17
14:57
У тебя ряд "Использование форматирования в чеке" = 0, т.е. табл. 9 не используется.
Сейчас звонил в тех. поддержку Штрихов по поводу разбиения длинных наименований. Как и следовало ожидать, сказали использовать метод ПечатьСтроки в "верхнем" ПО. И очевидно, что обработка 1С для этой цели не подходит - надо искать или писать что-то свое...
Как вариант: немного увеличить кол-во символов до 57 (для моего Штрих-М-01Ф) в чеке можно, указав в Таблице 8 "Настройка шрифтов" ряд 4 "1 строка операции" значение 5 - получается конечно мелко, но терпимо.
39 Pit0n_08
 
16.03.17
16:02
(9) У Вас код работает именно с Штрих-М-01Ф? Ранее в ТиС 7.7 было всего две обработки fr_comm.ert и fr_elves.ert. Какая у Вас работает?
40 yzimin
 
16.03.17
16:02
(38) Это что за метод такой?
В описании https://its.1c.ru/db/metod8dev#content:4829:hdoc:chapter270 я его не нашёл

Да и у меня вообще формируется XML
            Если ТекущаяПозиция.Свойство("ФискальнаяСтрока") Тогда
                    ЗаписьXML.ЗаписатьНачалоЭлемента("FiscalString");
                    ЗаписьXML.ЗаписатьАтрибут("Name"      , XMLСтрока(ТекущаяПозиция.Наименование));
                    ЗаписьXML.ЗаписатьАтрибут("Quantity"  , XMLСтрока(ТекущаяПозиция.Количество));
                    ЗаписьXML.ЗаписатьАтрибут("Price"     , XMLСтрока(ТекущаяПозиция.Цена));
                    ЗаписьXML.ЗаписатьАтрибут("Amount"    , XMLСтрока(ТекущаяПозиция.Сумма));
                    ЗаписьXML.ЗаписатьАтрибут("Tax"       , XMLСтрока(ТекущаяПозиция.СтавкаНДС));
                    ЗаписьXML.ЗаписатьКонецЭлемента();
41 Pit0n_08
 
16.03.17
16:09
Нормально открывается только таблица 1, на остальных теряется связь. Что за фокус?
42 SeriyP
 
16.03.17
17:08
(40) Правильно: у меня также формируется.
Метод "Печать строки" относится к работе с драйвером ФР. как с ним работать - я не знаю. Может гуру подскажут?
43 SeriyP
 
17.03.17
10:59
(42) Никто не подскажет? :-(
44 yzimin
 
22.03.17
10:49
Подниму тему. Может кто ещё с этим столкнулся? Или может у кого есть возможность показать настройки аппаратов?
45 Torquader
 
23.03.17
00:57
Штрих советовал на своём форуме передавать строку для ОФД с двумя первыми символами // - тогда такая строка только уходит в ОФД, но не печатается, а сами строки на бумаге печатать через печать строки.
46 yzimin
 
23.03.17
09:49
(45) В драйвер передаётся XML согласно стандарту https://its.1c.ru/db/metod8dev#content:4829:hdoc:chapter270
а именно структура CheckPackage
т.е. мы не влияем напрямую на метод ПечатьСтоки

К тоже при такой реализации через XML у кого-то переносятся строки, у кого-то нет.
Вот тут человек с розницей 2.2, там таже подсистема подключаемого оборудования, что и в УТ 11.3 1С Розница 2.2 + Штрих-ON-LINE (на практике) Подозрение именно на настройки аппарата.
47 Pit0n_08
 
23.03.17
10:18
А вообще, для чего ОФД и налоговой наименования?
48 e_shestakov
 
27.03.17
11:45
Кто-нибудь решил проблему?
У меня наименование разбивается на две строки по 32 символа, но не бьется на три. Таким образом, в наименовании услуги, в котором 67 символов, мы теряем последние 3.
В XML наименование передается полностью.
49 Aleksey
 
27.03.17
11:50
(47) Можно только гадать..
Например для отслеживания всей цепочки товар от прохождения через границу (растаможка-ГТД), далее по цепочки через декларации по НДС к реализации конечному покупателю.

Или например для документальной проверки. Есть кто и что продал. Раньше можно было под ЕНВД списывать любой товар, а теперь все продажи фиксируются

А может бють это лобби операторов ФД, которые уже сейчас заявляют что будут торговать этими данными (регион, объем продаж, объем выручки) с детализацией по адресам и товарам
50 lenochka-semicova
 
27.03.17
13:56
(48) Потому что формат фискальных данных - 64 символа на наименование.
с Версии 1.05 увеличивается до 128 символов, но текущие прошивки и/или драйвера ККТ еще не все его поддерживают. Штрих, например, заявил, что в какой-то там версии уже поддержали, но про наименование забыли.
51 dezss
 
27.03.17
14:07
(47) так все идет к единому реестру номенклатуры. Для этого и наименования, ИМХО.
52 yzimin
 
27.03.17
16:07
(48) Скиньте, пожалуйста, полное состояние ККМ.
53 yzimin
 
27.03.17
16:07
(48) Тест драйвера/01.Состояние/Полное состояние/Получить - Сохранить
54 shag008
 
27.03.17
16:41
(51) +100500. Всё идет к всеобщему Егаис. Чуть позже сделают классификатор для номенклатуры и заставят передавать в данных код товара. Сейчас из этих наименований они ничего толком не почерпнут
55 yzimin
 
17.04.17
15:09
кто-нибудь решил проблему?
56 yzimin
 
30.04.17
21:36
Победили проблему.
Заключили договор с цто, которые поставили последнюю прошивку. Затем обязательно обновить драйвер ФР 4.13.562 и выше. После чего наименования стали переносится на 3 строки.
Никаких настроек в 1с не делали, все типовое. Перед этим 2 месяца представители штрих-м упирались, что проблема в 1с
57 solntsasvet
 
02.05.17
12:08
Доброго дня.
Уточните, пожалуйста, текущую последнюю версию прошивки Штрих-М-01Ф, которая решает проблему с переносом.
58 SeriyP
 
02.05.17
17:45
(56) Да, нельзя ли уточнить?
59 yzimin
 
02.05.17
19:46
(57) (58) Без понятия, делали в ЦТО. У нас ШТРИХ-ОН-ЛАЙН, в М-01Ф думаю всё так же.
60 Mihenius
 
02.05.17
20:17
На семейство фр Штрих-М прошивки проверять тут:

https://exam.shtrih-m-partners.ru/base/
61 Mihenius
 
02.05.17
20:25
На спец. форумах могут быть версии посвежее.

Например на мой фр РР-01Ф уже 7! листов изменений мелким шрифтом )

Аналогично на сам драйвер Штрих-М

ПС: Мы все сейчас подопытные кролики )
ПС2: + на форумах куча ругательств - "фр завис и магазин стоит", техподдержка в ответ прошейтесь свежей версией
62 SeriyP
 
03.05.17
09:59
(60) Про этот сайт знаем...
(61) Сейчас еще "веселее" ситуация образовалась: нет фискальных накопителей. Наши ЦТОшники то ли сговорились, то ли правда, говорят: ФН нет, записывайтесь в очередь, может быть к октябрю дождетесь... Как с 1 июля работать - никого не волнует.
63 Redkiy
 
03.05.17
10:09
(62) все так и есть
Но если у тебя есть договоров с ЦТО и оплачена новая ККМ авансом - можно работать на старой с июля (пока не привезут). У меня такая инфа...
64 SeriyP
 
03.05.17
10:28
(63) Слышал я тоже похожую байку. Руководство только вот не верит в неё...
65 LienXo
 
03.05.17
10:56
+(56) то же тестировали на последних прошивках/драйверах от Штриха на Ритейл 01.
максимальная длина строки наименования - 64 символа включая пробелы
переносит по пробелам
максимальная высота - 3 строки при условии что в середине будет слово длина которого + 2 пробела + предыдущее / последующее слово больше 42 символов.
На узких лентах наверное также но с уменьшением количества символов в строке
66 SeriyP
 
05.05.17
10:05