Перейти до

1c:stargazer


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

Перечитал тему по поводу связки билинга с 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 користувачів

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


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