Перейти до

Рекомендованные сообщения

Опубликовано:

Перечитал тему по поводу связки билинга с 1С и не придумал ничего лучшего чем написать компоненту под 1С

 

выкладываю пробную версию компоненты и внешнюю обработку (1С77) с примером использования.

 

 

 

Документацию и файлик с расширением als выложу когда сделаю ))

 

версия 1.0.0.5

 

Берем здесь

 

версия 2.0.1.6 (с исходниками)

 

Берем здесь

 

Для желающих оказать материальную поддержку в WMZ: Z339491627945

 

Для разбора XML структуры были использованы классы (На мой взгляд самые лучшие) реализованные

в модуле

 

GsvXml.pas - размер всего 62к (релизация DOM и SAX парсера)

 

Автор Гурин Сергей

 

Сайт автора http://gurin.tomsknet.ru/delphixml.htm

 

В общем обсуждаем здесь

 

PS

 

Отдельное спасибо коллективу сети http://komservice.net/ за оказанную поддержку и моральную и техническую.

  • Відповіді 56
  • Створено
  • Остання відповідь

Top Posters In This Topic

Опубліковано:

К сожалению не работает.

Ошибка: Сервер сообщает об ошибке: Recv data answer error!

Сервер стг - последний.

 

Замечания по самой обработке для 1С:

 

1) А если логин больше 8 символов ? а если пароль больше 10 символов ?

2) вот здесь Стг.УстановитьПараметрыПодключения ..... лучше применять СокрЛП() для параметров или компонента сама уберет лидирующие и конечные пробелы ?

3) зачем выключена возможность сохранения значений в форме и панель инструментов ?

Опубліковано:

stg-2.402.9.7 + 7.70.025 - проверялось - работает

 

за основу были взяты исходники конфигуратора 1.88.9

 

 

 

1. Проверку на длину строк не делал - незачем - бага всеравно не будет - в сокет передается только то что нужно.Вырезка из кода:

var
 loginZ: array[0..ADM_LOGIN_LEN - 1] of char;
 ............
 ............
begin
 .........
 .........
 fillchar(loginZ, ADM_LOGIN_LEN, #0);
 strncpy(loginZ, login, ADM_LOGIN_LEN);

 

2. Я использую Trim внутри

3. По-поводу сохранений - включи - я переделывал из другой обработки.))

Это всего лишь наброска сделанная за 5 минут ))

 

 

Насчет нового сервера - отпиши мне какой конфигуратор используешь я сравню изменения

 

Судя по ошибке - у тебя прошли проверки на заголовок,логин,пароль и даже данные отправил, только вот получить не удалось - нужно смотреть - я поссмотрю в чем может быть проблема

 

И опиши когда ошибка возникает при загрузке таблицы пользователей или при попытке деньги добавить

Опубліковано:

Вдогонку

 

вроде бы нашел свой баг.

 

При получении данных из сокета неправильно определял когда закончить прием.

 

Подправил - забери из шапки обновленную версию (1.0.0.2) - проверь

 

спасибо

Опубліковано:

Все равно таже ошибка :(

 

Ошибка возникает при нажатии загрузить, т.е. вот здесь: Результат=Стг.ПолучитьТаблицуПользователей();

 

Сервер - последний от 12 октября, конфигуратор 1.88.9

Опубліковано:

хм...

 

Скажи полную версию сервера, я проверю.

 

У мну все работает...

 

проверь версию файла (свойства файла) - должно быть 1,0,0,3

 

и в какой платформе подключаешь? Если на 8-ке попробуй на 7-ке?

Опубліковано:

Версия файла 1.0.0.3. В платформе 7.7 проверяю (в 8 режим идентичности реализован для компонент написанных для 7, так что особой разницы нет).

 

Сервер - еще раз повторяюсь - последний, от 10 октября сего года

(http://local.com.ua/forum/index.php?showtopic=9757).

 

Стандартный конфигуратор нормально работает.

Опубліковано:

по-поводу внешних компонент на 7ку и 8ку - я сам знаю )) В следующий раз подправлять не нужно )) 1С - основная моя работа - все остальное хобби ))

 

Проблема где-то здесь

 

то-есть код не видит признак окончания строки и еще раз пытается получить данные из сокета, которыых уже нет ((( По-этому и выдается такое сообщение как у тебя (RECV_DATA_ANSWER_ERROR)

 

где глюк не вижу- может тебе что-то на ум прийдет.

 

У меня все работает .х-з куда рыть дальше

 


function TNetTransact.RxDataAnswer: Integer;
var
 n: Integer;
 ret: Integer;
 bufferS: TCryptBuff;
 buffer: TCryptBuff;
 j: Integer;
 Len: Integer;
 Flag: Boolean;
begin
 n := 0;

 FStream.Clear;

 EnDecryptInit(password, strlen(password));

 Flag := True;

 while Flag do
 begin

   ret := winsock.recv(outerSocket, bufferS[n], 1, 0);

   if ret <= 0 then
   begin
     winsock.closesocket(outerSocket);
     strcpy(errorMsg, RECV_DATA_ANSWER_ERROR);
     result := st_recv_fail;
     exit;
   end;

   inc(n);

   if n = 8 then
   begin

     n := 0;
     len := 8;

     Decrypt(@buffer, bufferS);
     for j := 0 to 7 do
       if buffer[j] = #0 then
       begin
         len := j;
         flag := False;
       end;

     if Len <> 0 then
       FStream.Write(buffer, len);

   end;

 end;

 FStream.Position := 0;

 result := st_ok;

end;

Опубліковано:

В дельфях не силен, силен только в 1С как и ты, поэтому сказать что-то не могу. Тем более у тебя работает все ок. Попробую с другого компа.

Опубліковано:

Еще не определились что с ней делать. Просто идея возникла спонтанно и компонента была написана за 3 дня и выложена как бетка. Но навсякий случай сделали ограничение.

 

И еще если у тебя есть время сделаешь als файлик?

 

 

 

strSetParamsOfConnection =
   'SetParamsOfConnection,УстановитьПараметрыПодключения,ВстановитиПараметриПідключення';
 strGetTableUsers =
   'GetTableUsers,ПолучитьТаблицуПользователей,ОтриматиТаблицюКористувачів';
 strGetUserCash =
   'GetUserCash,ПолучитьОстатокПользователя,ОтриматиЗалишокКористувача';
 strGetUserName = 'GetUserName,ПолучитьИмяПользователя,ОтриматиІмяКористувача';
 strGetUserAddress =
   'GetUserAdress,ПолучитьАдресПользователя,ОтриматиАдресуКористувача';
 strGetUserTariff =
   'GetUserTariff,ПолучитьТарифныйПланПользователя,ОтриматиТарифнийПланКористувача';
 strGetUserIp = 'GetUserIp,ПолучитьИППользователя,ОтриматиИПКористувача';
 strGetUserPhone =
   'GetUserPhone,ПолучитьНомерТелефонаПользователя,,ОтриматиНомерТелефонуКористувача';

 strAddUserCash =
   'AddUserCash,ПополнитьСчетПользователя,ПоповнитиРахунокКористувача';

 strErrorMessage = 'ErrorMessage,СтрокаОшибки,СтрокаПомилки';

 

думаю разберешься

Опубліковано:

А чего ждать - в шапке все рабочее - проверяй ))

 

выложил версию 1.0.0.5 - снято ограничение на пополнение счета

 

 

Планируется выход полноценной компоненты.

 

В серверной части обнаружен мелкий баг - это сдерживает разработку.

 

madf - обещал разобраться с багом ))) Спасибо ему )))

Опубліковано:

если поставить логин 1 пароль 1 тогда работает )) , нету случайно готовой бази под 1с, штоб там добавлять как в старгейзере ))а не делать щот а потом добавлять вручну с обработки

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    • Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...