Имя: Пароль:
1C
1С v8
Кассовый Икс 483лт
0 Serg23KmUa
 
03.12.13
17:57
Здравствуйте.
Конфа 8.1 Управление торговлей для Украины, 2.2.6.4.
Обновили нам внутренности кассового, чтобы подключить к нему модем.
Из 1с через кассовый внешней обработкой хочу напечатать месячный отчет по продажам. За период до обновления кассового данные на чеке есть, а после  обновления как будто и не было документов, все пусто.
Обновил драйвера кассового, установил новую внешнюю компоненту, программыный идентификатор, 1с написала что кассовый установлен.
Пробую внешней обработкой подключиться к кассовому, мне пишет что "произошла исключительная ситуация(ICSFP.ICS_EP_06) invalid file name". При чем такая ошибка происходит при любом действии, установить связь с кассовым или разорвать связь.
Подскажите, как решить
1 Serg23KmUa
 
03.12.13
17:59
Ошибка полностью выглядит так: Ошибка при вызове контекста (FPInit):произошла исключительная ситуация(ICSFP.ICS_EP_06) invalid file name
2 Wobland
 
03.12.13
18:03
ага, ошибку вижу
3 palpetrovich
 
03.12.13
18:04
наверное все-таки не сюда обращаться надо - в сервисный центр
4 Serg23KmUa
 
03.12.13
18:15
Там в процедуре "Перед открытием" этой обработки создается СОМОбъект. Выглядит так: "ЭККР=Новый COMОбъект("ICSFP.ICS_EP_06");"
Вот строка на которую ругается "Если не ЭККР.FPInit(ЗначениеНомерПорта,ЗначениеСкорость,3,3) Тогда"

При чем если я хочу установить связь, то ругается на "FPInit", а если пробую разорвать связь или закрыть обработку то ругается на "FPClose".
5 Wobland
 
03.12.13
18:21
а что, ком-объект уже получился?
6 Serg23KmUa
 
03.12.13
18:25
(5) ну получается так, что ругается на любую строку где есть ЭККР. Будь то ЭККР.FPInit или ЭККР.Close. И везде invalid file name
7 Nikitas
 
03.12.13
18:27
если вам обновили прошивку рро, очевидно, нужно обновить и софт, для работы с кассой. на сайте производителя должно быть
8 Wobland
 
03.12.13
18:28
(6) намёк не понял, да? что говорит описание ошибки попытки создания нового объекта?
9 Serg23KmUa
 
03.12.13
18:30
(7) софт обновил, новые дрова и компоненты встали нормально, кассовый подключил.
10 Serg23KmUa
 
03.12.13
18:32
(8) Так объект же создался? Или я что то не так понял? Ругается на процедуру "Процедура ОткрытьПортНажатие(Элемент)"
а именно на строку "Если не ЭККР.FPInit(ЗначениеНомерПорта,ЗначениеСкорость,3,3) Тогда                
     Сообщить ("Не удается установить связь",СтатусСообщения.Важное);"
11 Wobland
 
03.12.13
18:38
попытка
новый ком
исключение
сообщить описание ошибки

было?
12 Serg23KmUa
 
03.12.13
18:42
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
//    
    ЭККР=Новый COMОбъект("ICSFP.ICS_EP_06");

    ОчиститьСообщения();
    ЭлементыФормы.СимафорЗел.Картинка = Новый Картинка("C:\Program Files\1Cv82\Icons\5.ico");
//    
    ЭлементыФормы.СимафорКр.Картинка = Новый Картинка("C:\Program Files\1Cv82\Icons\3.ico");
//    
    ЭлементыФормы.Фото.Картинка = Новый Картинка("C:\Program Files\1Cv82\Icons\photo.bmp");
//    
    А = Новый Картинка("C:\Program Files\1Cv82\Icons\7.ico");
    ЭлементыФормы.ExitPicture1.Картинка = А;
    ЭлементыФормы.ExitPicture2.Картинка = А;
    ЭлементыФормы.ExitPicture3.Картинка = А;
    ЭлементыФормы.ExitPicture4.Картинка = А;
    ЭлементыФормы.ExitPicture5.Картинка = А;
    ЭлементыФормы.ExitPicture6.Картинка = А;
    ЭлементыФормы.ExitPicture7.Картинка = А;
//    
    Лого = Новый Картинка("C:\Program Files\1Cv82\Icons\logo.bmp");
    ЭлементыФормы.MarketLogo1.Картинка = Лого;
    
    ЭлементыФормы.СимафорЗел.Видимость=Ложь;  
//    
    НачДата = ТекущаяДата();
    НачВремя = ТекущаяДата();
    НачДата1 = ТекущаяДата();
    КонДата1 = ТекущаяДата();
    
    // Установка списка значений для поля выбора
    
    Польз = Новый СписокЗначений();
    
    Польз.Добавить(0,"Кассир №1");
    Польз.Добавить(1,"Кассир №2");
    Польз.Добавить(2,"Кассир №3");
    Польз.Добавить(3,"Кассир №4");
    Польз.Добавить(4,"Кассир №5");
    Польз.Добавить(5,"Кассир №6");
    Польз.Добавить(6,"Кассир №7");
    Польз.Добавить(7,"Кассир №8");
    Польз.Добавить(8,"Программирование");
    Польз.Добавить(9,"Отчеты");
    ЭлементыФормы.Пользователь.СписокВыбора = Польз;
    
    // Установка значения по умолчанию
    ЭлементыФормы.Пользователь.Значение = Польз[0].Значение;
    ЗначениеПользователь = Польз[0].Значение;
    ПредставлениеПользователь = Польз[0].Представление;
        
    //////////////////////////////////////////////////////////////
    
    // Установка списка значений для поля выбора
    
    НК = Новый СписокЗначений();
    
    НК.Добавить(0,"Кассир №1");
    НК.Добавить(1,"Кассир №2");
    НК.Добавить(2,"Кассир №3");
    НК.Добавить(3,"Кассир №4");
    НК.Добавить(4,"Кассир №5");
    НК.Добавить(5,"Кассир №6");
    НК.Добавить(6,"Кассир №7");
    НК.Добавить(7,"Кассир №8");
    ЭлементыФормы.НомерКассира.СписокВыбора = НК;
    
    // Установка значения по умолчанию
    ЭлементыФормы.НомерКассира.Значение = НК[0].Значение;    
    ЗначениеНомерКассира = НК[0].Значение;
    ПредставлениеНомерКассира = НК[0].Представление;
    
    //////////////////////////////////////////////////////////////
    
    // Установка списка значений для поля выбора
    
    НГ = Новый СписокЗначений();
    
    НГ.Добавить(0,"А");
    НГ.Добавить(1,"Б");
    НГ.Добавить(2,"В");
    НГ.Добавить(3,"Г");
    НГ.Добавить(4,"Д");
    НГ.Добавить(5,"Е");
    ЭлементыФормы.НалогГруппа.СписокВыбора = НГ;
    
    // Установка значения по умолчанию
    ЭлементыФормы.НалогГруппа.Значение = НГ[0].Значение;    
    ЗначениеНалогГруппа = НГ[0].Значение;
    ПредставлениеНалогГруппа = НГ[0].Представление;
    
    //////////////////////////////////////////////////////////////
    
    // Установка списка значений для поля выбора
    
    СГ = Новый СписокЗначений();
    
    СГ.Добавить(0,"А");
    СГ.Добавить(1,"Б");
    СГ.Добавить(2,"В");
    СГ.Добавить(3,"Г");
    СГ.Добавить(4,"Д");
    СГ.Добавить(5,"Е");
    ЭлементыФормы.СписокГрупп.СписокВыбора = СГ;
    
    // Установка значения по умолчанию
    ЭлементыФормы.СписокГрупп.Значение = СГ[0].Значение;    
    ЗначениеСписокГрупп = СГ[0].Значение;
    ПредставлениеСписокГрупп = СГ[0].Представление;
    
    //////////////////////////////////////////////////////////////
    
    // Установка списка значений для поля выбора
    
    ФО = Новый СписокЗначений();

    ФО.Добавить(0,"Карточка");
    ФО.Добавить(1,"Кредит");
    ФО.Добавить(2,"Чек");
    ФО.Добавить(3,"Наличные");
    ЭлементыФормы.ФормаОплаты.СписокВыбора = ФО;
    
    // Установка значения по умолчанию
    ЭлементыФормы.ФормаОплаты.Значение = ФО[3].Значение;    
    ЗначениеФормаОплаты = ФО[3].Значение;
    ПредставлениеФормаОплаты = ФО[3].Представление;
    
    //////////////////////////////////////////////////////////////
    
    // Установка списка значений для поля выбора
    
    ТО = Новый СписокЗначений();

    ТО.Добавить(0,"абс. скидка на последний товар");
    ТО.Добавить(1,"абс. наценка на последний товар");
    ТО.Добавить(2,"% скидка на последний товар");
    ТО.Добавить(3,"% наценка на последний товар");
    ТО.Добавить(4,"абс. скидка на весь чек");
    ТО.Добавить(5,"абс. наценка на весь чек");
    ТО.Добавить(6,"% скидка на весь чек");
    ТО.Добавить(7,"% наценка на весь чек");
    ЭлементыФормы.ТипОперации.СписокВыбора = ТО;
    
    // Установка значения по умолчанию
    ЭлементыФормы.ТипОперации.Значение = ТО[0].Значение;
    ЗначениеТипОперации = ТО[0].Значение;
    ПредставлениеТипОперации = ТО[0].Представление;    
    
    //////////////////////////////////////////////////////////////
    
    // Установка списка значений для поля выбора
    
    НП = Новый СписокЗначений();

    НП.Добавить("1","COM1");
    НП.Добавить("2","COM2");
    НП.Добавить("3","COM3");
    НП.Добавить("4","COM4");
    НП.Добавить("5","COM5");
    НП.Добавить("6","COM6");
    НП.Добавить("7","COM7");
    НП.Добавить("8","COM8");
    ЭлементыФормы.НомерПорта.СписокВыбора = НП;
    
    // Установка значения по умолчанию
    ЭлементыФормы.НомерПорта.Значение = НП[0].Значение;    
    ЗначениеНомерПорта = НП[0].Значение;
    ПредставлениеНомерПорта = НП[0].Представление;
        
    //////////////////////////////////////////////////////////////
    
    // Установка списка значений для поля выбора
    
    СК = Новый СписокЗначений();

    СК.Добавить(9600,"9600 б/с");
    СК.Добавить(19200,"19200 б/с");
    СК.Добавить(38400,"38400 б/с");
    ЭлементыФормы.Скорость.СписокВыбора = СК;
    
    // Установка значения по умолчанию
    ЭлементыФормы.Скорость.Значение = СК[0].Значение;
    ЗначениеСкорость = СК[0].Значение;
    ИндексСкорость = 0;
    ПредставлениеСкорость = СК[0].Представление;
    
    //////////////////////////////////////////////////////////////    
    
    // Установка списка значений для поля выбора
    
    ЗПЗ = Новый СписокЗначений();
    
    ЗПЗ.Добавить(0,"0");
    ЗПЗ.Добавить(1,"1");
    ЗПЗ.Добавить(2,"2");
    ЗПЗ.Добавить(3,"3");
    ЭлементыФормы.ЗнаковПослеЗапятой.СписокВыбора = ЗПЗ;
    
    // Установка значения по умолчанию
    ЭлементыФормы.ЗнаковПослеЗапятой.Значение = ЗПЗ[0].Значение;
    ЗначениеЗнаковПослеЗапятой = ЗПЗ[0].Значение;
    ПредставлениеЗнаковПослеЗапятой = ЗПЗ[0].Представление;
    
    
    //////////////////////////////////////////////////////////////    
    
    // Установка списка языков сообщений драйвера
    
    СписокЯзыков = Новый СписокЗначений();
    
    СписокЯзыков.Добавить(0,"АНГЛ.");
    СписокЯзыков.Добавить(1,"РУС.");
    СписокЯзыков.Добавить(2,"УКР.");
    ЭлементыФормы.ЯзыкСообщений.СписокВыбора = СписокЯзыков;
    
    
    // Установка значения по умолчанию
    ЭлементыФормы.ЯзыкСообщений.Значение = СписокЯзыков[1].Значение;
    ЗначениеЯзыкСообщений = СписокЯзыков[1].Значение;
    ПредставлениеЯзыкСообщений = СписокЯзыков[1].Представление;
    
    
    //////////////////////////////////////////////////////////////    
    
    // Установка списка кодовых страниц сообщений драйвера
    
    КС = Новый СписокЗначений();
    
    КС.Добавить(0,"WIN1251");
    КС.Добавить(1,"CP866");
    ЭлементыФормы.КодоваяСтраница.СписокВыбора = КС;
    
    // Установка значения по умолчанию
    ЭлементыФормы.КодоваяСтраница.Значение = КС[0].Значение;
    ЗначениеКодовойСтраницы = КС[0].Значение;
    ПредставлениеКодовойСтраницы = КС[0].Представление;
    
    Логирование = 1;
//    
КонецПроцедуры
13 Wobland
 
03.12.13
18:47
внимание вопрос: новый ЭККР создался хорошо? мне лениво эту портянку читать
14 Serg23KmUa
 
03.12.13
18:49
(13) Видимо хорошо. Я был бы признателен за подсказку, а не за дополнительную загадку.
15 Wobland
 
03.12.13
18:51
я даж не знаю, что бывает после неудачного создания ком-объекта, ибо ни разу не пробовал без попытки..
16 Wobland
 
03.12.13
18:52
+(15) и если там бывает всякая пакость типа неопределены, то всё объяснимо
17 Serg23KmUa
 
03.12.13
19:05
Добавил вот так:

Попытка

  ЭККР=Новый COMОбъект("ICSFP.ICS_EP_06");
    
исключение
  Сообщить(ОписаниеОшибки());    
Возврат;
КонецПопытки;
Без изменений
18 Wobland
 
03.12.13
19:07
(17) от теперь смотри на всякие методы объекта. для нас она - чёрный ящик
19 Wobland
 
03.12.13
19:07
(18) она - компонента
20 Nikitas
 
03.12.13
19:10
у com объекта что создается, есть различные методы, как правило, производитель касс прилагает подробны мануал. если версия внутреннего ПО кассы не соответствует версии ПО, что используется для управления кассой - некоторые методы будут работать криво, или не будут работать вовсе. нужно тестить
21 Serg23KmUa
 
03.12.13
19:13
(19) понимаешь, есть похожая обработка, только для старой версии драйвера. Там тот же ЭККР.FPInit. Она работает, связь устанавливает, чеки печатает. Только там ком обзывается "IKC_E260T.ICS_EP_02".
22 Wobland
 
03.12.13
19:16
(21) >установил новую внешнюю компоненту
вот такая она - новая внешняя компонента. более мыслей не имею
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn