Официальные сведения о поведении ОС Windows следующие:
Подсистема WOW64 не поддерживает следующие программы:
программы, скомпилированные для 16-разрядных операционных систем;
программы режима ядра, скомпилированные для 32-разрядных операционных систем.
16-разрядные программы
Версии Windows для архитектуры x64 не поддерживают 16-разрядные программы и 16-разрядные компоненты программ.
Программа SMIndex скомпилирована для 16-ти разрядной MS-DOS, чтобы использовать Paradox Engine для индексации db файлов. При использовании 32 разрядной IDAPI32 для индексации файлов db, программа УКМ2 неверно распознает индексы и не может нормально функционировать.
Ответ:
Выводы следующие:
Текущий вариант протокола обмена с кассами - "УКМ2 Супермаг", не может функционировать в среде 64 битных ОС. Для решения проблемы необходимо:
- либо отказаться от использования 64 битных ОС в пользу 32 битных,
- либо использовать промежуточный компьютер для индексации файлов,
- либо использовать протокол обмена "УКМ2 станд. TXT".
Не рассылаются некоторые кассовые документы, созданные после обновления Супермага.
Сообщение об ошибке: ----- Ошибка приема -----
Пакет: 090730103327_115557_0.SVP
Тип объекта: Продажи по кассе
Идентификатор объекта: 06ПКМ20090729@2017
-- Уровень вложения 0 --
Сообщение: Объект <CS, 06ПКМ20090729@2017> не прошёл проверку на корректность данных в ключевых полях и не может быть принят
Исключение: Sm.Core.BaseException
Источник: Sm.Post.DbLoader
Метод
: Void CheckIntegr
ity(Sm.Post.PostObject)
-- Уровень вложения 1 --
Сообщение: Объект <CS, 06ПКМ20090729@2017> в таблице SMSPEC содержит в поле DOCID значение
<?>
вместо ожидаемого <06ПКМ20090729@2017>
Исключение: Sm.Core.BaseException
Источник: Sm.Post.DbLoader
Метод
: Void CheckIntegr
ity(System.Data.DataTable)
Ответ:
Если БД сервера функционирует под управлением ПО Oracle 8.1.6, то для исправления ситуации необходимо выполнить деинсталляцию ПО Oracle client версий 9 или 10. И установить ПО Oracle client версии 8.1.7.
Ошибка связана с несовместимостью программных продуктов старых и новых версий.
Возможно, компания Oracle выпустила патч, но пока его найти не удалось.
Понимаю что это FAQ, но эту ошибку и причины отловили мы, поэтому не могу стерпеть и должен сделать поправки по тексту написанного в С+
Цитата:
Не рассылаются некоторые кассовые документы
, и не только, также наблюдалось на актах переоценки
Ошибка проявляется в следующей связке: БД работает под управлением Oracle 8.1.6, почтовый модуль запущен на компьютере с основным ORACLE_HOME версии 9.2.0.1 (инсталяция с оф. диска клиентской части).
Ни о какой 10-ой версии клиента не может быть речи, т.к. 10-ый клиент не поддерживает подключения к серверам под управление Oracle 8. Об этом я уже писал в теме про InstantClient.
Решение в принципе указано одно из верных, но оно может ввести в заблуждение по поводу необходимости устанавливать версию 8.1.7, поясню: если почтовый модуль запускается на том же компьютере на котором крутиться база 8.1.6, то никакого клиента дополнительного устанавливать не надо, проверено лично мной.
Если же почтовый модуль крутится на отдельном от сервера компьютере и хочется использовать 9-го клиента, то можно ставить ОО4О (Oracle Objects for OLE)
Вопрос: Не создается кассовый документ. Ругается: "Документ содержит товары с нулевым количеством" Ответ:
Причина в количестве пробитого товара - оно превышает точность для единицы измерения этого товара. Попробуем его найти...
1. Отбираем Z-отчет, по которому не созданы кассовые документы:
SELECT * FROM Supermag.SMCashZ WHERE doccreated=0
Выписываем LocId, DeskNum и ZNum, которые попадут в результат запроса.
-- в моем случае это: LocId=7, DeskNum=3, ZNum=320
2. Отбираем позиции из чеков этой смены с количеством меньше единицы:
SELECT * FROM Supermag.SMCashCheckItems WHERE locid=7 AND desknum=3 AND znum=320 AND quantity<1*
2а. Проверяем, не пробит ли штучный товар дробным количеством:
SELECT * FROM Supermag.SMCashCheckItems WHERE locid=7 AND desknum=3 AND znum=320 AND quantity<1 AND article IN (SELECT article FROM Supermag.SMCard WHERE mesabbrev='шт') ORDER BY article*
+-------------------------------------------------------------------------------------------------------------------------^
|
+--- здесь можно подставить (SELECT article FROM Supermag.SMCard WHERE idmeasurement=1), указав ID искомой единицы измерения
2б. По аналогии со штучным товаром, проверяем точность весового товара:
SELECT * FROM Supermag.SMCashCheckItems WHERE locid=7 AND desknum=3 AND znum=320 AND quantity<0.001 AND article IN (SELECT article FROM Supermag.SMCard WHERE mesabbrev='кг') ORDER BY article*
-- мне попался весовой товар количеством 0,00017 при точности 0,001
3. Руками округляем количество в найденной позиции до необходимой точности нашей единицы измерения:
UPDATE Supermag.SMCashCheckItems SET quantity=0.001 WHERE locid=7 AND desknum=3 AND znum=320 AND quantity<0.001*
После этих нехитрых манипуляций кассовый документ должен создаться без проблем.
*не забываем подставлять свои значения LocId, DeskNum и ZNum
Вопрос: Переустанавливал сервер и теперь у меня база автоматом не запускается. Захожу в Enterprise manager, запускается без ошибок. Как сделать, чтобы автоматом запускалась? Ответ: Для начала забудьте об Enterprise manager, как о повседневном инструменте администрирования. Потом, как и для разбора любой другой ошибки, на сервере зайдите в
Цитата:
sqlplus /nolog
подключитесь и перезапустите базу
Цитата:
connect / as sysdba
shutdown immediate
startup
в процессе увидите все ошибки... Заодно и alert.log неплохо посмотреть.
Вопрос: Как изменить тип карточки товара? Накосячил, вбил везде тару вместо товара. Ответ: Соответствующая тема тут. Аналогичным образом меняется и единица измерения товара.
Вопрос: В полученной от кассы таблице CASHSAIL обнаружена ссылка на неизвестный Z-отчет № 929, касса 1 Ответ: Соответствующая тема тут. Чаще пользуйтесь поиском.
Вопрос: А где взять тестовую или демонстрационную версию Супермага? Попробовать. Ответ: Демонстрационной версии не существует. Ее нет ни у кого из участников форума. Можно попросить менеджера "Сервис Плюс", чтобы в качестве ознакомления установили Супермаг, но это делается при намерении приобрести программу и не физическим лицом. Клиентам выдается лицензия на дополнительную базу для тестов и обучения.
Для тех, кто желает видеть в счете-фактуре физические адреса грузополучателя и грузоотправителя, в версии 1.025.1 был добавлен скрытый системный параметр "ClientFacturaFAddress". Если значение этого параметра = "1", в стандартной печатной форме счета-фактуры будут напечатаны физические адреса грузополучателя и грузоотправителя, а при отсутствии этих адресов - юридические адреса.
Установка параметра осуществляется скриптом:
begin
insert into SSSysInfo(ParamName,ParamValue) values ('ClientFacturaFAddress','1'); exception when DUP_VAL_ON_INDEX then
update SSSysInfo set ParamValue='1' where ParamName='ClientFacturaFAddress';
end;
/
commit;
снять
begin
insert into SSSysInfo(ParamName,ParamValue) values ('ClientFacturaFAddress','1'); exception when DUP_VAL_ON_INDEX then
update SSSysInfo set ParamValue='0' where ParamName='ClientFacturaFAddress';
end;
/