Просмотр раздела "Работа с ПО CashTAN на уровне OLE"
Страница 1 из 1
Вопрос ID#95
Работает ли OLE-сервер под Win NT4, Windows 2000.
Ответ
Работает. NT4 - c SP6.
Ключевые слова - "OLE операционная работа система"    Поиск по этим ключевым словам >>>
Вопрос ID#107
Я установил CashTAN v2.0 от 1.04.2001.
При попытке чтения протокола из 1С я получаю ошибку:
// кол-во протоколов определилось и например надо распечатать 30-й
ПД=CashTAN.ProtocolFolders(1).Protocol(30).ProtocolData;
ПД.MoveFirst();
Пока ПД.EOF()=0 цикл
Сообщить(""+ПД.DataCheckNumber); // здесь ошибка CashTANP9: Нет данных
ПД.MoveNext();
КонецЦикла;

Что я делаю не так?
Ответ
Дело в том, что каждая операция содержит свой набор полей. Например, использование DataCheckNumber корректно для операций ctopCash, ctopCheck и ctopOther. Использование DataCheckNumber для других операций вызывает ошибку. Однако, Fields("CheckNumber").Value ошибку не вызывает, а просто возвращает пустое значение.

Отсюда вариантов два:
1. Проверять код операции перед использованием свойств Data<имяполя>
2. Использовать коллекцию Fields

Примечание: для увеличения скорости доступа к данным рекомендуется выносить за пределы цикла как можно больше обращений к свойствам, а именно:

ПД=CashTAN.ProtocolFolders(1).Protocol(30).ProtocolData;
ПДOpCode=ПД.Fields("OpCode")
ПДCheckNumber=ПД.Fields("CheckNumber")
ПД.MoveFirst();
Пока ПД.EOF()=0 цикл
Сообщить(""+ПДOpCode.Value+ПДCheckNumber.Value); // Будет работать в 2 раза быстрее, чем
Сообщить(""+ПД.Fields("OpCode").Value+ПД.Fields("CheckNumber").Value);
ПД.MoveNext();
КонецЦикла;
Ключевые слова - "ошибка поля протокол чтение"    Поиск по этим ключевым словам >>>
Вопрос ID#108
В данных протокола, поле DataTime,насколько я понял, содержит и дату и время.
В 1С при ПДTime=ПД.Fields("Time") по всем чекам получаю одно и тоже
Сообщить(""+ПДTime.Value)-»30.12.99
Сообщить(""+Число(ПДTime.Value))-»2415019
Подскажите пожалуйста, как правильно выбрать дату и время чека.

С уважением,
Копытин Константин Владимирович.
Ведущий инженер-программист
ОАО "Сумынефтепродукт"
Ответ
Только отправил Вам письмо, по поводу проблемы чтения из 1С времени чека, но решил еще проверить один вариант - и он прошел.
Все достаточно просто, и я был неправ говоря, что информации мало в файле описания. Просто не сразу доходит.

Использование
Сообщить(ПД.Fields("Time").AsString) дает прекрасный результат.

С уважением,
Копытин Константин Владимирович.
Ведущий инженер-программист
ОАО "Сумынефтепродукт"
Ключевые слова - "1С время протокол чек чтение"    Поиск по этим ключевым словам >>>
Вопрос ID#109
А где взять DCOM98 ?
Ответ
У Microsoft'а :
http://www.microsoft.com/com/dcom/dcom98/dcom1_3.asp
Ключевые слова - "DCOM Microsoft"    Поиск по этим ключевым словам >>>

Выберите раздел для просмотра
  1. Подключение
  2. Работа с ПО CashTAN на уровне DBF
  3. Работа с ПО CashTAN на уровне OLE
  4. Работа с обслуживающим программным обеспечением
  5. CashTAN FP
  6. Разное
или произведите поиск по ключевым словам
ключевые слова  
или укажите ID вопроса для просмотра
ID  

© ТФПК Лтд. Все права защищены.
0.018037 seconds