27 дек. 2012 г.
Теперь еще и JSON
Для обмена данными веб-сервера Гедымин с PhoneGap нам понадобится JSON. То ли допилить YAML парсер/райтер до версии 1.2 (а JSON -- это подмножество YAML 1.2), то ли воспользоваться одним из общедоступных свободных парсеров JSON. А еще можно тяжеловесный XML использовать и объекты MSXML для работы с ним. В общем, непонятно пока какой из этих хренов окажется слаще редьки.
25 дек. 2012 г.
Семинар-презентация 26 декабря
Состоится в 17:00 у нас в офисе. Тема: "Автоматическое обновление файлов платформы. Гедымин portable. Изменения в инстоляции программы. Первый запуск и настройка".
Картинка для привлечения внимания:
Labels:
школа
22 дек. 2012 г.
21 дек. 2012 г.
Автообновление и Windows 8
Windows 8 не дает перезаписывать файлы в папке Program Files (x86). Причем делает это хитро. В процессе записи никаких сообщений об ошибках не возникает, а все файлы, совершенно прозрачно для приложения, помещаются во временную папку \Users\user_name\AppData\Local\VirtualStore\Program Files (x86)\Golden Software\Gedemin 2.5\Local. Соответственно, при каждом очередном запуске Гедымин определяет, что версии файлов не изменились, и пытается снова и снова обновлять их.
Пока, единственное решение при использовании инстолятора -- не устанавливать Гедымин в папку в Program Files (x86).
Путь к элементу дерева через EXECUTE BLOCK
Раньше уже обсуждалось использование рекурсивного CTE для получения пути к элементу древовидной иерархии. То же самое можно сделать и без CTE с использованием конструкции EXECUTE BLOCK:
EXECUTE BLOCK (ID INTEGER = :ID) RETURNS(Path VARCHAR(8192)) AS BEGIN Path = ''; WHILE (:ID IS DISTINCT FROM NULL) DO BEGIN SELECT name || '\' || :Path, parent FROM gd_contact WHERE id = :ID INTO :Path, :ID; END Path = SUBSTRING(:Path FROM 1 FOR CHARACTER_LENGTH(:Path) - 1); SUSPEND; END
20 дек. 2012 г.
Два часа до конца света
Если у майя не получится можем придти на помощь. С нашим автоматическим обновлением выполняемого модуля устроить конец света на отдельно взятом предприятии проще простого ))
Labels:
юмор
17 дек. 2012 г.
НИВА-Заготовка
Продолжается развитие комплекса программ на базе платформы Гедымин специалистами ГИВЦ Минсельхозпрода. Вашему вниманию новый программный продукт НИВА-Заготовка со следующей функциональностью:
-
учет договоров на поставку зернового сырья
учет поступления зернового сырья автомобильным и железнодорожным
учет лабораторных анализов на поступившее зерно
обеспечена возможность выполнения расчетов приемных квитанций и автоматическое формирование проводок
учет транспорта и расходов на перевозку
учет авансов и кредитов на поставку зерна
возможность формировать платежные поручения для расчетов с поставщиками зернового сырья и банковской выписки по проведенным платежам
разноска оплат по поставщикам сырья
возможность формирование книги покупок
16 дек. 2012 г.
Обновлены дистрибутивы на сайте
Все инстоляции на сайте пересобраны с новейшим экзешником. Теперь инстолятор не создает никаких записей в системном реестре вообще.
Labels:
сайт
14 дек. 2012 г.
RC экзешника с автоообновлением
Все (даже те, кто поставил себе первую бету) начинаем с того, что от сюда берем новейший боекомплект. Распаковываем и заменяем существующие файлы.
Присутствующие в каталоге программы и его подкаталогах файлы с расширением .BAK можно удалить.
Автообновление (если оно не отключено) работает следующим образом:
-
После старта программы с сайта gsbelarus.com получаем адрес сервера обновления (сейчас это gs.selfip.biz).
Подключаемся к серверу обновления, сообщаем ему свою версию экзешника, получаем ответ: надо нам обновляться или нет.
Если обновляться надо, то выкачиваем новые файлы, присваиваем им расширение .NEW, располагаем их рядом с существующими.
Взаимодействие с веб серверами осуществляется в нити с низким приоритетом.
Предупреждаем пользователя о необходимости перезапуска и стартуем фоновый процесс gedemin_upd.exe.
gedemin_upd.exe ждет окончания работы gedemin.exe, после чего по списку из временного файла gedemin_upd.ini обновляет файлы платформы (для особо важных файлов существующая версия сохраняется с расширением .BAK).
Если файл не удается обновить, то он просто пропускается. Беды большой нет -- обновится следующий раз.
Список выполненных операций и/или ошибок записывается в лог операционной системы.
Обновление до бета-версии
По-умолчанию, обновление происходит до текущей стабильной версии. Если вы хотите получать ежедневный бета-билд платформы (и знаете что делаете!), то заходим в файл gedemin.ini и в секции Web Client прописываем:
[Web Client]
...
Token = Beta
...
Для получения версии с отладочной информацией стоит прописать:
[Web Client]
...
Token = Debug
...
Labels:
документация,
интернет,
полезное,
тестирование
11 дек. 2012 г.
YAML vs XML
В плане лаконичности и читабельности YAML чудо, а не формат. Ниже одна и та же информация в XML:
<?xml version="1.0" encoding="utf-8"?> <GS:GEDEMIN_FILES VERSION="1.0" xmlns:GS="http://gsbelarus.com/gedemin_files"> <GS:DIRECTORY> <GS:NAME>INTL</GS:NAME> <GS:PATH></GS:PATH> <GS:EXISTS>true</GS:EXISTS> <GS:FLAGS>AlwaysOverwrite</GS:FLAGS> </GS:DIRECTORY> <GS:DIRECTORY> <GS:NAME>UDF</GS:NAME> <GS:PATH></GS:PATH> <GS:EXISTS>true</GS:EXISTS> <GS:FLAGS>AlwaysOverwrite</GS:FLAGS> </GS:DIRECTORY> <GS:DIRECTORY> <GS:NAME>HELP</GS:NAME> <GS:PATH></GS:PATH> <GS:EXISTS>true</GS:EXISTS> <GS:FLAGS>AlwaysOverwrite</GS:FLAGS> </GS:DIRECTORY> <GS:FILE> <GS:NAME>gudf.dll</GS:NAME> <GS:PATH>UDF</GS:PATH> <GS:EXISTS>true</GS:EXISTS> <GS:FLAGS>AlwaysOverwrite</GS:FLAGS> <GS:SIZE>101888</GS:SIZE> <GS:DATE>2012-11-19T18:05:06</GS:DATE> <GS:VERSION>2.5.0.0</GS:VERSION> </GS:FILE> <GS:FILE> <GS:NAME>fbintl.conf</GS:NAME> <GS:PATH>INTL</GS:PATH> <GS:EXISTS>true</GS:EXISTS> <GS:FLAGS>AlwaysOverwrite</GS:FLAGS> <GS:SIZE>6758</GS:SIZE> <GS:DATE>2010-07-22T14:51:12</GS:DATE> </GS:FILE> <GS:FILE> <GS:NAME>fbintl.dll</GS:NAME> <GS:PATH>INTL</GS:PATH> <GS:EXISTS>true</GS:EXISTS> <GS:FLAGS>AlwaysOverwrite</GS:FLAGS> <GS:SIZE>909312</GS:SIZE> <GS:DATE>2011-03-23T07:47:08</GS:DATE> <GS:VERSION>2.5.1.26242</GS:VERSION> </GS:FILE> <GS:FILE> <GS:NAME>fr24rus.chm</GS:NAME> <GS:PATH>HELP</GS:PATH> <GS:EXISTS>true</GS:EXISTS> <GS:FLAGS>AlwaysOverwrite</GS:FLAGS> <GS:SIZE>792209</GS:SIZE> <GS:DATE>2002-09-14T14:44:22</GS:DATE> </GS:FILE> <GS:FILE> <GS:NAME>vbs55.chm</GS:NAME> <GS:PATH>HELP</GS:PATH> <GS:EXISTS>true</GS:EXISTS> <GS:FLAGS>AlwaysOverwrite</GS:FLAGS> <GS:SIZE>492103</GS:SIZE> <GS:DATE>2000-06-21T15:51:00</GS:DATE> </GS:FILE> <GS:FILE> <GS:NAME>gedemin.exe</GS:NAME> <GS:PATH></GS:PATH> <GS:EXISTS>true</GS:EXISTS> <GS:FLAGS>AlwaysOverwrite</GS:FLAGS> <GS:SIZE>19511296</GS:SIZE> <GS:DATE>2012-12-11T14:01:06</GS:DATE> <GS:VERSION>2.5.17.7594</GS:VERSION> </GS:FILE> <GS:FILE> <GS:NAME>fbembed.dll</GS:NAME> <GS:PATH></GS:PATH> <GS:EXISTS>true</GS:EXISTS> <GS:FLAGS>AlwaysOverwrite</GS:FLAGS> <GS:SIZE>3772416</GS:SIZE> <GS:DATE>2011-03-23T07:47:02</GS:DATE> <GS:VERSION>2.5.1.26242</GS:VERSION> </GS:FILE> <GS:FILE> <GS:NAME>firebird.msg</GS:NAME> <GS:PATH></GS:PATH> <GS:EXISTS>true</GS:EXISTS> <GS:FLAGS>AlwaysOverwrite</GS:FLAGS> <GS:SIZE>148556</GS:SIZE> <GS:DATE>2011-03-23T07:43:38</GS:DATE> </GS:FILE> <GS:FILE> <GS:NAME>ib_util.dll</GS:NAME> <GS:PATH></GS:PATH> <GS:EXISTS>true</GS:EXISTS> <GS:FLAGS>AlwaysOverwrite</GS:FLAGS> <GS:SIZE>7680</GS:SIZE> <GS:DATE>2011-03-23T07:46:02</GS:DATE> <GS:VERSION>2.5.1.26242</GS:VERSION> </GS:FILE> <GS:FILE> <GS:NAME>icudt30.dll</GS:NAME> <GS:PATH></GS:PATH> <GS:EXISTS>true</GS:EXISTS> <GS:FLAGS>AlwaysOverwrite</GS:FLAGS> <GS:SIZE>1568768</GS:SIZE> <GS:DATE>2010-07-23T09:03:42</GS:DATE> <GS:VERSION>3.0.0.0</GS:VERSION> </GS:FILE> <GS:FILE> <GS:NAME>icuin30.dll</GS:NAME> <GS:PATH></GS:PATH> <GS:EXISTS>true</GS:EXISTS> <GS:FLAGS>AlwaysOverwrite</GS:FLAGS> <GS:SIZE>417792</GS:SIZE> <GS:DATE>2010-07-22T15:38:46</GS:DATE> <GS:VERSION>3.0.0.0</GS:VERSION> </GS:FILE> <GS:FILE> <GS:NAME>icuuc30.dll</GS:NAME> <GS:PATH></GS:PATH> <GS:EXISTS>true</GS:EXISTS> <GS:FLAGS>AlwaysOverwrite</GS:FLAGS> <GS:SIZE>675840</GS:SIZE> <GS:DATE>2010-07-22T15:38:36</GS:DATE> <GS:VERSION>3.0.0.0</GS:VERSION> </GS:FILE> <GS:FILE> <GS:NAME>midas.dll</GS:NAME> <GS:PATH></GS:PATH> <GS:EXISTS>true</GS:EXISTS> <GS:FLAGS>AlwaysOverwrite</GS:FLAGS> <GS:SIZE>444928</GS:SIZE> <GS:DATE>2010-11-04T00:55:00</GS:DATE> <GS:VERSION>15.0.3953.35171</GS:VERSION> </GS:FILE> <GS:FILE> <GS:NAME>midas.sxs.manifest</GS:NAME> <GS:PATH></GS:PATH> <GS:EXISTS>true</GS:EXISTS> <GS:FLAGS>AlwaysOverwrite</GS:FLAGS> <GS:SIZE>1002</GS:SIZE> <GS:DATE>2010-11-21T19:06:48</GS:DATE> </GS:FILE> <GS:FILE> <GS:NAME>msvcp80.dll</GS:NAME> <GS:PATH></GS:PATH> <GS:EXISTS>true</GS:EXISTS> <GS:FLAGS>AlwaysOverwrite</GS:FLAGS> <GS:SIZE>554832</GS:SIZE> <GS:DATE>2009-07-12T08:55:22</GS:DATE> <GS:VERSION>8.0.50727.4053</GS:VERSION> </GS:FILE> <GS:FILE> <GS:NAME>msvcr80.dll</GS:NAME> <GS:PATH></GS:PATH> <GS:EXISTS>true</GS:EXISTS> <GS:FLAGS>AlwaysOverwrite</GS:FLAGS> <GS:SIZE>632656</GS:SIZE> <GS:DATE>2009-07-12T08:55:50</GS:DATE> <GS:VERSION>8.0.50727.4053</GS:VERSION> </GS:FILE> <GS:FILE> <GS:NAME>Microsoft.VC80.CRT.manifest</GS:NAME> <GS:PATH></GS:PATH> <GS:EXISTS>true</GS:EXISTS> <GS:FLAGS>AlwaysOverwrite</GS:FLAGS> <GS:SIZE>1870</GS:SIZE> <GS:DATE>2009-07-12T02:10:18</GS:DATE> </GS:FILE> </GS:GEDEMIN_FILES>и в YAML:
Version: 1 Items: - Type : Directory Name : INTL Exists : True Flags : AlwaysOverwrite - Type : Directory Name : UDF Exists : True Flags : AlwaysOverwrite - Type : Directory Name : HELP Exists : True Flags : AlwaysOverwrite - Type : File Name : gudf.dll Path : UDF Exists : True Flags : AlwaysOverwrite Size : 101888 Date : 2012-11-19 18:05:06Z Version: 2.5.0.0 - Type : File Name : fbintl.conf Path : INTL Exists : True Flags : AlwaysOverwrite Size : 6758 Date : 2010-07-22 14:51:12Z - Type : File Name : fbintl.dll Path : INTL Exists : True Flags : AlwaysOverwrite Size : 909312 Date : 2011-03-23 07:47:08Z Version: 2.5.1.26242 - Type : File Name : fr24rus.chm Path : HELP Exists : True Flags : AlwaysOverwrite Size : 792209 Date : 2002-09-14 14:44:22Z - Type : File Name : vbs55.chm Path : HELP Exists : True Flags : AlwaysOverwrite Size : 492103 Date : 2000-06-21 15:51:00Z - Type : File Name : gedemin.exe Exists : True Flags : AlwaysOverwrite Size : 19511296 Date : 2012-12-11 14:01:06Z Version: 2.5.17.7594 - Type : File Name : fbembed.dll Exists : True Flags : AlwaysOverwrite Size : 3772416 Date : 2011-03-23 07:47:02Z Version: 2.5.1.26242 - Type : File Name : firebird.msg Exists : True Flags : AlwaysOverwrite Size : 148556 Date : 2011-03-23 07:43:38Z - Type : File Name : ib_util.dll Exists : True Flags : AlwaysOverwrite Size : 7680 Date : 2011-03-23 07:46:02Z Version: 2.5.1.26242 - Type : File Name : icudt30.dll Exists : True Flags : AlwaysOverwrite Size : 1568768 Date : 2010-07-23 09:03:42Z Version: 3.0.0.0 - Type : File Name : icuin30.dll Exists : True Flags : AlwaysOverwrite Size : 417792 Date : 2010-07-22 15:38:46Z Version: 3.0.0.0 - Type : File Name : icuuc30.dll Exists : True Flags : AlwaysOverwrite Size : 675840 Date : 2010-07-22 15:38:36Z Version: 3.0.0.0 - Type : File Name : midas.dll Exists : True Flags : AlwaysOverwrite Size : 444928 Date : 2010-11-04 00:55:00Z Version: 15.0.3953.35171 - Type : File Name : midas.sxs.manifest Exists : True Flags : AlwaysOverwrite Size : 1002 Date : 2010-11-21 19:06:48Z - Type : File Name : msvcp80.dll Exists : True Flags : AlwaysOverwrite Size : 554832 Date : 2009-07-12 08:55:22Z Version: 8.0.50727.4053 - Type : File Name : msvcr80.dll Exists : True Flags : AlwaysOverwrite Size : 632656 Date : 2009-07-12 08:55:50Z Version: 8.0.50727.4053 - Type : File Name : Microsoft.VC80.CRT.manifest Exists : True Flags : AlwaysOverwrite Size : 1870 Date : 2009-07-12 02:10:18Z
Labels:
программирование,
цікава,
XML
6 дек. 2012 г.
Не корысти ради
Плюсаните наш проект и звездочку поставьте http://code.google.com/p/gedemin/
Labels:
цікава
Подписаться на:
Сообщения (Atom)