21 мар. 2014 г.

Архивирование удаленного SVN репозитория

На случай ядерной войны (как бы грустно не звучало, но это теперь не шутка) решили подстраховаться и локально заархивировать наш проект с code.google.com. Действия не сложные, может кому пригодятся:
  1. Понадобятся утилиты командной строки SVN. На официальном сайте доступны несколько пакетов для Windows, в которых нам было лень разбираться, поэтому мы просто переустановили TortoiseSVN, указав в процессе галку Устанавливать утилиты командной строки.
  2. Запускаем режим командной строки и идем в папку C:\Program Files\TortoiseSVN\bin
  3. Создаем локальный репозиторий:
    svnadmin create c:\temp\gedemin_svn
  4. Теперь надо в папке c:\temp\gedemin_svn\hooks создать пустой файл pre-revprop-change.bat. Это похоже на вуду, но так надо.
  5. Указываем откуда мы будем синхронизировать данные:
    svnsync init file:///c:/temp/gedemin_svn https://gedemin.googlecode.com/svn/trunk/. Обратите внимание на слэши в обратную сторону (юникс стайл) и их количество.
  6. И запускаем процесс:
    svnsync sync file:///c:/temp/gedemin_svn
  7. Ждем...
  8. По окончании, для проверки, можно создать чистую папку и с помощью TortoiseSVN чек-аутнуть туда проект из нашего локального репозитория. Для этого указываем источник file:///c:/temp/gedemin_svn.
  9. Последующие запуски команды svnsync sync file:///c:/temp/gedemin_svn через день, неделю, месяц, будут загружать только изменения, скомиченные на сервер с момента последней синхронизации.

Неограниченное наследование бизнес-классов

Задачу можно разбить на следующие шаги:
  1. Разобраться с таблицей gd_documenttype. Есть ли в ней ограничения на вложения одного типа в другой? Убрать.
  2. Разобраться с бизнес объектом TgdcDocumentType и его экранными формами. Есть ли там, код, который препятствует вложению типов документов? Есть ли там экранные элементы, которые позволяют просматривать\выбирать родительский тип? Работает ли перетаскивание в дереве?
  3. Разобраться с деревом классов в Проводнике из Редактора скрипт-объектов. Оно должно отображать, загружать, сохранять методы классов в случае неограниченной вложенности.
  4. Разобраться с механизмом вызова наследованных методов в Гедымине. Расставить точки останова. Изучить как и в какой последовательности вызывается и взаимодействует между собой код VBScript и Delphi. Реализовать вызов наследованного кода в случае неограниченной вложенности бизнес-классов.
  5. Разобраться с механизмом загрузки экранных форм. Доработать его для поддержки вложенности бизнес-классов.
  6. Разобраться с механизмом привязки ТХО и ТП к конкретному классу. Определить необходимость вызова наследованного кода и (если надо) реализовать его.
Поле DISABLED должно быть не булевским, а целочисленным со следующими значениями:
  • 0 -- запись полностью отключена. Нигде не показывается, нигде не выбирается. Это вариант, когда запись надо полностью убрать, но удалить из БД нельзя из-за ссылочной целостности.
  • 1 -- запись доступна везде.
  • 2 -- запись недоступна для выбора при создании\изменении объекта, но везде отображается и доступна для выбора в параметрах отчетов и фильтров.
  • 3 -- запись отображается, но не доступна нигде для выбора.

15 мар. 2014 г.

В Беларуси разрешено использовать электронные товарно-транспортные накладные

Скоро в Гедымине:

В Беларуси разрешено использовать электронные товарно-транспортные накладные. Это предусмотрено постановлением Совета Министров Беларуси №202 от 7 марта 2014 года "О создании товарно-транспортных и товарных накладных в виде электронных документов", который опубликован на Национальном правовом интернет-портале Беларуси, сообщает БЕЛТА.

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

В постановлении отмечено, что передача и получение электронных накладных осуществляются EDI-провайдерами, резидентами Беларуси, получившими в установленном законодательством порядке аттестат оператора электронного документооборота. Информация об EDI-провайдерах, получивших в установленном законодательством порядке аттестат оператора электронного документооборота, размещается в глобальной компьютерной сети Интернет на официальном сайте научно-инженерного республиканского унитарного предприятия "Межотраслевой научно-практический центр систем идентификации и электронных деловых операций" НАН Беларуси, указано в документе.

Кроме того, в постановлении определены обязанности EDI-провайдеров. Они должны обеспечить: соблюдение законодательства в сфере обращения электронных документов, возможность круглосуточного и бесперебойного осуществления получения, передачи электронных накладных, наличие программно-аппаратных средств, расположенных на территории Беларуси и реализующих электронный документооборот в утвержденных форматах и порядке, защиту и хранение информации об электронных накладных, круглосуточное предоставление налоговым органам информации об электронных накладных, а также иных электронных документах и сообщениях, необходимых для обеспечения создания электронных накладных, посредством удаленного доступа к информационной системе (системам) электронного документооборота.

8 мар. 2014 г.

Україно, ми з тобою!