Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Ошибка при печати Z-отчета за период по датам , Веб-интерфейс, Мария-301 МТМ          
vbi Подменю пользователя
сообщение 13.10.11, 9:54
Сообщение #1

Оратор
Иконка группы
Группа: Местный
Сообщений: 378
Из: Украина, Луцк
Спасибо сказали: 73 раз
Рейтинг: 65.3

Есть в этом фискальном регистраторе такие функции Z-отчет за период по датам и Z-отчет за период по номеру. Вот в обработке драйверастрочки, которые осуществляют печать отчетов:
Драйвер.PeriodicalFiscalReportDate(НачалоПериода, КонецПериода); // По дате
Драйвер.PeriodicalFiscalReport(НачальныйНомер, КонечныйНомер); // По номеру


В первый в качестве параметров передаются даты, во второй номера чеков. Оба оператора в тонком клиенте работают нормально, а в веб-клиенте Драйвер.PeriodicalFiscalReportDate(НачалоПериода, КонецПериода); - тот что по дате выдает ошибку:
Цитата
Невідома помилка: Несоответствие типа


Дело в том, что изначально в драйвере в оператор по датам передавались в качестве дат строки:

    НП = Формат(НачалоПериода, "ДФ=ггггММдд");
    КП = Формат(КонецПериода, "ДФ=ггггММдд");
    
    Ответ = ПеременнаяОбъект.Драйвер.PeriodicalFiscalReportDate(НП, КП);// дата в формате ГГГГММДД


но в таком случае отчет не печатался вообще нигде, выдавал ошибки что неправильные параметры. Я решил этот код заменить на
Ответ = ПеременнаяОбъект.Драйвер.PeriodicalFiscalReportDate(НачалоПериода, КонецПериода);
- и в тонком клиенте заработало норм, а вот в веб-клиенте - сабж.

НачалоПериода и КонецПериода имеют 1Ссовский тип Дата с временем. Хотя если передавать обычные числа, то чек тоже печатается, может даты надо как-то преобразовать в числа в какаой-то формат. Но в какой? Да и АПИ я по этих функциях так и не нашел, даже на офф сайте. Если б найти хоть АПИ...
Может кто сталкивался, имел дело или знает что-то...

Да, веб-клиент - IE


Signature
Впроваджую, супроводжую

logist Подменю пользователя
сообщение 13.10.11, 10:07
Сообщение #2

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Посмотрите здесь [необходимо зарегистрироваться для просмотра ссылки] протокол связи по Вашему аппарату, возможно найдете какие-то ответы.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Vofka Подменю пользователя
сообщение 13.10.11, 10:12
Сообщение #3

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13988
Из: Киев
Спасибо сказали: 4562 раз
Рейтинг: 3690.8

Врядли в протоколе это есть.

vbi, попробуйте методом тыка разные форматы дат:
ДДММГГГ
ГГММДД
и т.п.

DartRomanius Подменю пользователя
сообщение 13.10.11, 10:26
Сообщение #4

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

1. Я бы посоветовал пока экперементировать с X-отчетом.
2. ВЕБ-клиент работает через AJAX, возможно проблема с передачей данных платформой когда происходит конвертация "морды" приложения под ВЕБ.

ЗЫ: ИМХО

В догонку:

Если я правильно понял используется FIRP или IREP
Согласно документации формат даты для этих комманд - "ггггммдд" причем в символьном виде (ASCII??).


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

vbi Подменю пользователя
сообщение 13.10.11, 11:08
Сообщение #5

Оратор
Иконка группы
Группа: Местный
Сообщений: 378
Из: Украина, Луцк
Спасибо сказали: 73 раз
Рейтинг: 65.3

Цитата(logist @ 13.10.11, 11:07) *
Посмотрите здесь [необходимо зарегистрироваться для просмотра ссылки] протокол связи по Вашему аппарату, возможно найдете какие-то ответы.

Смотрел, там эти протоколы какие-то непонятные, там совсем не те операторы которые сдесь используются. Хотя смотрел я не все, посмотрю все наверно.


Цитата(Vofka @ 13.10.11, 11:12) *
Врядли в протоколе это есть.

vbi, попробуйте методом тыка разные форматы дат:
ДДММГГГ
ГГММДД
и т.п.

Пробовал, правда не все варианты, а сейчас ККМ забрали теперь не могу пробовать.


Цитата(DartRomanius @ 13.10.11, 11:17) *
1. Я бы посоветовал пока экперементировать с X-отчетом.
2. ВЕБ-клиент работает через AJAX, возможно проблема с передачей данных платформой когда происходит конвертация "морды" приложения под ВЕБ.

ЗЫ: ИМХО

В X-отчет и обычный Z-отчет никаких параметров не передается, они работают на ура

Цитата
В догонку:

Если я правильно понял используется FIRP или IREP
Согласно документации формат даты для этих комманд - "ггггммдд" причем в символьном виде (ASCII??).


Изначально в драйвере так и было написано:

    НП = Формат(НачалоПериода, "ДФ=ггггММдд");
    КП = Формат(КонецПериода, "ДФ=ггггММдд");
    
    Ответ = ПеременнаяОбъект.Драйвер.PeriodicalFiscalReportDate(НП, КП);// дата в формате ГГГГММДД

, но была другая ошибка в неправильности параметров и выскакивала она при тонком клиенте (да и при толстом тоже)...
Цитата
(ASCII??)

Думаете проблема в кодировке? Я в 1С не сталкивался с кодировками...

Может проблема в драйвере. Я использую драйвер от Арт Софт, не от Резонанс.


Signature
Впроваджую, супроводжую

DartRomanius Подменю пользователя
сообщение 13.10.11, 11:15
Сообщение #6

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

Какая софтина используется для связи?
OLE Manager Plus - ?

Какая версия?

И опять же догадка:
[необходимо зарегистрироваться для просмотра ссылки]


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

Спасибо сказали: vbi,

vbi Подменю пользователя
сообщение 13.10.11, 12:49
Сообщение #7

Оратор
Иконка группы
Группа: Местный
Сообщений: 378
Из: Украина, Луцк
Спасибо сказали: 73 раз
Рейтинг: 65.3

Цитата(DartRomanius @ 13.10.11, 12:15) *
Какая софтина используется для связи?
OLE Manager Plus - ?

Какая версия?

ArtSoft Maria 301MTM OLE. Версии не написано, инструкция версии 5.7. В инструкции есть описание методов, хотя не всех, которые используются в программе в стандартном драйвере. Наверно драйвер немного не тот.
Цитата
И опять же догадка:
[необходимо зарегистрироваться для просмотра ссылки]

Там общие указания по установке и настройке


Signature
Впроваджую, супроводжую

DartRomanius Подменю пользователя
сообщение 13.10.11, 12:58
Сообщение #8

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

Цитата(vbi @ 13.10.11, 13:49) *
ArtSoft Maria 301MTM OLE. Версии не написано, инструкция версии 5.7. В инструкции есть описание методов, хотя не всех, которые используются в программе в стандартном драйвере. Наверно драйвер немного не тот.

Там общие указания по установке и настройке


Опять из области диагностики, попытка получить стандартный Х-отчет из веб-интерфейса проходит?


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

vbi Подменю пользователя
сообщение 13.10.11, 14:53
Сообщение #9

Оратор
Иконка группы
Группа: Местный
Сообщений: 378
Из: Украина, Луцк
Спасибо сказали: 73 раз
Рейтинг: 65.3

Цитата
Опять из области диагностики, попытка получить стандартный Х-отчет из веб-интерфейса проходит?

Да

Все нормально без каких-либо ошибок, вылазит Х-отчет, заполнен операциями за текущую смену.

так же само и обычный ЗЕТ-отчет


Signature
Впроваджую, супроводжую

DartRomanius Подменю пользователя
сообщение 13.10.11, 15:45
Сообщение #10

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

Цитата(vbi @ 13.10.11, 15:53) *
Да

Все нормально без каких-либо ошибок, вылазит Х-отчет, заполнен операциями за текущую смену.

так же само и обычный ЗЕТ-отчет


Попробуйте явно преобразовать даты к строкам вида "ггггммдд".
с лидирующими нулями и прочим, или к числам такого-же формата.

ЗЫ: У меня варианты кончились.


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

vbi Подменю пользователя
сообщение 13.10.11, 16:14
Сообщение #11

Оратор
Иконка группы
Группа: Местный
Сообщений: 378
Из: Украина, Луцк
Спасибо сказали: 73 раз
Рейтинг: 65.3

Числа типа "ггггммдд" - выдает ошибку (слишком большое число), строку тоже ошибку выдает и в тонком клиенте. Счас больше не проверю. ККМ забрали. Вот фискализируют, тогда будем на реальных клиентах пробовать biggrin.gif


Signature
Впроваджую, супроводжую

Demas Подменю пользователя
сообщение 13.10.11, 21:17
Сообщение #12

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

У меня вот работает на толстом:

    // ************************
    // Подключим ЭККА
    Попытка
        M301 = Новый COMОбъект("M301Manager.Application");
        Если M301.Init(1, "Кассир", "1111111111", 0, "КД ЭККА")>0 Then     //  M301.Init(COM, "                    
            ККРВключен=1;
            //Инф=СокрЛП(M301.GetPrinterConfig());
            //Артикулы=ЗначениеИзФайла(КаталогПрограммы()+"Artics.sys");
        Иначе  
            // Попробуем отключить а затем включить
            M301.Done();
            Если M301.Init(1, "Кассир", "1111111111", 0, "КД ЭККА")>0 Тогда     //  M301.Init(COM, "  
            Иначе
                ККРВключен=0;
            КонецЕсли;
        КонецЕсли;    
    Исключение
        ККРВключен=0;
    КонецПопытки;
    
    Если ККРВключен=0 Тогда
        Предупреждение("Кассовый аппрат не подключен. Печать чеков не возможна.");
        Возврат;
    КонецЕсли;
    
    Если НЕ ВвестиДату(ДатаН,"Z-отчет с даты",ЧастиДаты.Дата) Тогда
        Возврат;
    КонецЕсли;
    
    Если НЕ ВвестиДату(ДатаК,"По дату",ЧастиДаты.Дата) Тогда
        Возврат;
    КонецЕсли;
    
    Если M301.PeriodicalFiscalReportDate(ДатаН,ДатаК)<>1 Тогда
        Возврат;
    КонецЕсли;
Причина редактирования: Правила будем читать??!

vbi Подменю пользователя
сообщение 14.10.11, 11:50
Сообщение #13

Оратор
Иконка группы
Группа: Местный
Сообщений: 378
Из: Украина, Луцк
Спасибо сказали: 73 раз
Рейтинг: 65.3

Цитата
    Если M301.PeriodicalFiscalReportDate(ДатаН,ДатаК)<>1 Тогда
        Возврат;
    КонецЕсли;

У меня на толсто тоже работает если я передаю в качестве параметров даты. Не работает на веб (на тонком работает).


Signature
Впроваджую, супроводжую

crazyboy Подменю пользователя
сообщение 17.11.11, 16:45
Сообщение #14

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(vbi @ 13.10.11, 9:54) *
Есть в этом фискальном регистраторе такие функции Z-отчет за период по датам и Z-отчет за период по номеру. Вот в обработке драйверастрочки, которые осуществляют печать отчетов:
Драйвер.PeriodicalFiscalReportDate(НачалоПериода, КонецПериода); // По дате
Драйвер.PeriodicalFiscalReport(НачальныйНомер, КонечныйНомер); // По номеру


В первый в качестве параметров передаются даты, во второй номера чеков. Оба оператора в тонком клиенте работают нормально, а в веб-клиенте Драйвер.PeriodicalFiscalReportDate(НачалоПериода, КонецПериода); - тот что по дате выдает ошибку:


Дело в том, что изначально в драйвере в оператор по датам передавались в качестве дат строки:

    НП = Формат(НачалоПериода, "ДФ=ггггММдд");
    КП = Формат(КонецПериода, "ДФ=ггггММдд");
    
    Ответ = ПеременнаяОбъект.Драйвер.PeriodicalFiscalReportDate(НП, КП);// дата в формате ГГГГММДД


но в таком случае отчет не печатался вообще нигде, выдавал ошибки что неправильные параметры. Я решил этот код заменить на
Ответ = ПеременнаяОбъект.Драйвер.PeriodicalFiscalReportDate(НачалоПериода, КонецПериода);
- и в тонком клиенте заработало норм, а вот в веб-клиенте - сабж.

НачалоПериода и КонецПериода имеют 1Ссовский тип Дата с временем. Хотя если передавать обычные числа, то чек тоже печатается, может даты надо как-то преобразовать в числа в какаой-то формат. Но в какой? Да и АПИ я по этих функциях так и не нашел, даже на офф сайте. Если б найти хоть АПИ...
Может кто сталкивался, имел дело или знает что-то...

Да, веб-клиент - IE


Указывайте пожалуйста название драйвера. На данный момент их минимум 3
АртСофт ОЛЕ Сервер
АртСофт ОЛЕ Менеджер+
ОЛЕ Менеджер+ (от Резонанс)

Функция PeriodicalFiscalReport принимает тип DATE. Это тип СОМ объектов, детальнее о нем в MSDN
[id(0x00000033), helpstring("method PeriodicalFiscalReportDate. Prints periodical fiscal report"), local] LONG PeriodicalFiscalReportDate([in] DATE DateFrom, [in] DATE DateTo);

vbi Подменю пользователя
сообщение 18.11.11, 9:37
Сообщение #15

Оратор
Иконка группы
Группа: Местный
Сообщений: 378
Из: Украина, Луцк
Спасибо сказали: 73 раз
Рейтинг: 65.3

Драйвер "АртСофт ОЛЕ Сервер".
Цитата
Функция PeriodicalFiscalReport принимает тип DATE. Это тип СОМ объектов, детальнее о нем в MSDN
[id(0x00000033), helpstring("method PeriodicalFiscalReportDate. Prints periodical fiscal report"), local] LONG PeriodicalFiscalReportDate([in] DATE DateFrom, [in] DATE DateTo);

Ну ладно, а как представить этот тип в 1С?


Signature
Впроваджую, супроводжую

alex040269 Подменю пользователя
сообщение 18.11.11, 11:55
Сообщение #16

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

Что-то мне подсказывает, что тип дата - это дата+время - число с плавающей точкой. Целое значение - номер дня с 01.01.0001, а дробная - это часть суток, т.е. 1ч = 1/24


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

Спасибо сказали: vbi,

vbi Подменю пользователя
сообщение 18.11.11, 13:44
Сообщение #17

Оратор
Иконка группы
Группа: Местный
Сообщений: 378
Из: Украина, Луцк
Спасибо сказали: 73 раз
Рейтинг: 65.3

Спасибо, буду иметь ввиду. Сейчас проверить немогу. Нет кассового аппарата.


Signature
Впроваджую, супроводжую

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 01.11.24, 2:36
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!