vovksextra Posted November 30, 2007 at 06:22 PM Posted November 30, 2007 at 06:22 PM Перечитал тему по поводу связки билинга с 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/ за оказанную поддержку и моральную и техническую.
egor2fsys Posted November 30, 2007 at 09:25 PM Posted November 30, 2007 at 09:25 PM К сожалению не работает. Ошибка: Сервер сообщает об ошибке: Recv data answer error! Сервер стг - последний. Замечания по самой обработке для 1С: 1) А если логин больше 8 символов ? а если пароль больше 10 символов ? 2) вот здесь Стг.УстановитьПараметрыПодключения ..... лучше применять СокрЛП() для параметров или компонента сама уберет лидирующие и конечные пробелы ? 3) зачем выключена возможность сохранения значений в форме и панель инструментов ?
vovksextra Posted November 30, 2007 at 11:22 PM Author Posted November 30, 2007 at 11:22 PM 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 минут )) Насчет нового сервера - отпиши мне какой конфигуратор используешь я сравню изменения Судя по ошибке - у тебя прошли проверки на заголовок,логин,пароль и даже данные отправил, только вот получить не удалось - нужно смотреть - я поссмотрю в чем может быть проблема И опиши когда ошибка возникает при загрузке таблицы пользователей или при попытке деньги добавить
vovksextra Posted November 30, 2007 at 11:52 PM Author Posted November 30, 2007 at 11:52 PM Вдогонку вроде бы нашел свой баг. При получении данных из сокета неправильно определял когда закончить прием. Подправил - забери из шапки обновленную версию (1.0.0.2) - проверь спасибо
vovksextra Posted December 1, 2007 at 07:51 AM Author Posted December 1, 2007 at 07:51 AM Вдогонку обновил 1.0.0.3 - эта точно должна работать
egor2fsys Posted December 1, 2007 at 08:41 AM Posted December 1, 2007 at 08:41 AM Все равно таже ошибка Ошибка возникает при нажатии загрузить, т.е. вот здесь: Результат=Стг.ПолучитьТаблицуПользователей(); Сервер - последний от 12 октября, конфигуратор 1.88.9
vovksextra Posted December 1, 2007 at 09:06 AM Author Posted December 1, 2007 at 09:06 AM хм... Скажи полную версию сервера, я проверю. У мну все работает... проверь версию файла (свойства файла) - должно быть 1,0,0,3 и в какой платформе подключаешь? Если на 8-ке попробуй на 7-ке?
egor2fsys Posted December 1, 2007 at 09:34 AM Posted December 1, 2007 at 09:34 AM Версия файла 1.0.0.3. В платформе 7.7 проверяю (в 8 режим идентичности реализован для компонент написанных для 7, так что особой разницы нет). Сервер - еще раз повторяюсь - последний, от 10 октября сего года (http://local.com.ua/forum/index.php?showtopic=9757). Стандартный конфигуратор нормально работает.
vovksextra Posted December 1, 2007 at 10:23 AM Author Posted December 1, 2007 at 10:23 AM по-поводу внешних компонент на 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;
egor2fsys Posted December 1, 2007 at 10:25 AM Posted December 1, 2007 at 10:25 AM В дельфях не силен, силен только в 1С как и ты, поэтому сказать что-то не могу. Тем более у тебя работает все ок. Попробую с другого компа.
vovksextra Posted December 1, 2007 at 11:27 AM Author Posted December 1, 2007 at 11:27 AM Не там искал - баг нашелся чуток раньше Забери 1,0,0,4 и пробуй еще раз )) спасибо
egor2fsys Posted December 1, 2007 at 11:40 AM Posted December 1, 2007 at 11:40 AM Спасибо, теперь заработало. Почему сделана возможность пополнять только на 1 грн ? Компонента платная ?
vovksextra Posted December 1, 2007 at 12:01 PM Author Posted December 1, 2007 at 12:01 PM Еще не определились что с ней делать. Просто идея возникла спонтанно и компонента была написана за 3 дня и выложена как бетка. Но навсякий случай сделали ограничение. И еще если у тебя есть время сделаешь als файлик? strSetParamsOfConnection = 'SetParamsOfConnection,УстановитьПараметрыПодключения,ВстановитиПараметриПідключення'; strGetTableUsers = 'GetTableUsers,ПолучитьТаблицуПользователей,ОтриматиТаблицюКористувачів'; strGetUserCash = 'GetUserCash,ПолучитьОстатокПользователя,ОтриматиЗалишокКористувача'; strGetUserName = 'GetUserName,ПолучитьИмяПользователя,ОтриматиІмяКористувача'; strGetUserAddress = 'GetUserAdress,ПолучитьАдресПользователя,ОтриматиАдресуКористувача'; strGetUserTariff = 'GetUserTariff,ПолучитьТарифныйПланПользователя,ОтриматиТарифнийПланКористувача'; strGetUserIp = 'GetUserIp,ПолучитьИППользователя,ОтриматиИПКористувача'; strGetUserPhone = 'GetUserPhone,ПолучитьНомерТелефонаПользователя,,ОтриматиНомерТелефонуКористувача'; strAddUserCash = 'AddUserCash,ПополнитьСчетПользователя,ПоповнитиРахунокКористувача'; strErrorMessage = 'ErrorMessage,СтрокаОшибки,СтрокаПомилки'; думаю разберешься
egor2fsys Posted December 1, 2007 at 02:46 PM Posted December 1, 2007 at 02:46 PM Ок, постараюсь нарисовать алс.
ollegh Posted December 3, 2007 at 12:30 AM Posted December 3, 2007 at 12:30 AM з нетерпінням чекаю нормальної робочої обробки, дуже цікаво ))
vovksextra Posted December 3, 2007 at 06:57 AM Author Posted December 3, 2007 at 06:57 AM А чего ждать - в шапке все рабочее - проверяй )) выложил версию 1.0.0.5 - снято ограничение на пополнение счета Планируется выход полноценной компоненты. В серверной части обнаружен мелкий баг - это сдерживает разработку. madf - обещал разобраться с багом ))) Спасибо ему )))
ollegh Posted December 8, 2007 at 10:43 PM Posted December 8, 2007 at 10:43 PM Пишет неверний пароль (
egor2fsys Posted December 9, 2007 at 08:20 AM Posted December 9, 2007 at 08:20 AM В самой обработке для 1С ограничена длина логина и пароля. Исправить можно в конфигураторе.
ollegh Posted December 9, 2007 at 08:13 PM Posted December 9, 2007 at 08:13 PM если поставить логин 1 пароль 1 тогда работает )) , нету случайно готовой бази под 1с, штоб там добавлять как в старгейзере ))а не делать щот а потом добавлять вручну с обработки
egor2fsys Posted December 9, 2007 at 08:49 PM Posted December 9, 2007 at 08:49 PM Готовой базы нет. На неделе попытаюсь выложить чуть поправленную обработку для 7.7 и для 8.1.
vovksextra Posted December 10, 2007 at 11:21 AM Author Posted December 10, 2007 at 11:21 AM пока не спешите ничего делать пишу полную компоненту
vovksextra Posted December 10, 2007 at 04:00 PM Author Posted December 10, 2007 at 04:00 PM Выложил в "шапке" версию 2.0.0.1 читает все данные пользователя. тестим ))
egor2fsys Posted December 10, 2007 at 04:38 PM Posted December 10, 2007 at 04:38 PM А писать умеет все данные ?
vovksextra Posted December 10, 2007 at 04:41 PM Author Posted December 10, 2007 at 04:41 PM К концу недели научу писать все поля кроме нескольких (Login,PingTime,LastCash ........), кроме 6-ти
vovksextra Posted December 11, 2007 at 07:41 AM Author Posted December 11, 2007 at 07:41 AM Выложил в 2.0.0.2 читаем readmy.!!!,history.txt
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now