Подгрузка данных

Обсуждаем разработку программного обеспечения

Сообщение SerzhS » 15 май 2007, 17:18

Здраствуйте, у нас есть большая БД на 1С, хотелось бы перенести ее в СРОЭксперт, но вручную это делать очень долго, можно ли посредством sql запросов добавить данные некоторых колонок в программу?
SerzhS
 
Сообщений: 4
Зарегистрирован: 15 май 2007, 17:14

Сообщение vva » 15 май 2007, 20:57

могут быть разные варианты
мы можем предоставить схему данных с комментариями и помочь в трансформации (сами напишите скрипты)
а можно наоборот посмотреть какие у вас данные, и написать экспорт

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

и вообще в начале внедрения мы присылаем анкету где есть вопрос какая автоматизация используется в СРО, чтобы как то интегрироваться или по максимуму экспортировать данные
что то не помню чтобы кто-то нам ответил про 1С

ответили бы - мы бы раньше озадачились
Аватар пользователя
vva
Администратор
 
Сообщений: 2914
Зарегистрирован: 06 фев 2007, 13:33

Сообщение vva » 16 май 2007, 05:17

ухожу в отпуск
буду 26-го мая
Аватар пользователя
vva
Администратор
 
Сообщений: 2914
Зарегистрирован: 06 фев 2007, 13:33

Сообщение SerzhS » 17 май 2007, 15:43

Неплохо было бы если вы дали схемы данных с комментариями на serzhiks@mail.ru, и пояснения как фирмируются id (возникли проблемы с вставкой данных), скрипты напишем. А зарегистрирована программа на "НП Сопау Кубань". Ее я и представляю. В анкете по моему мы указывали насчет 1С, хотя точно не помню, тогда могло и не быть такой необходимости.
SerzhS
 
Сообщений: 4
Зарегистрирован: 15 май 2007, 17:14

Сообщение vva » 28 май 2007, 16:14

Ну вообще то наши клиенты в СРО Кубань не могут почему то идентифицировать вас, так что если можно всё таки отпишите конкретно что вы есть.

Хотя из схемы данных мы секрета не делаем.
Её можно всё равно посмотреть средствами MS SQL

Итак представляю текущую схему данных (версия программы - 1.5, версия схемы данных - 12)

файл expert.dm1 можно открыть в программе редактирования ER-диаграм Embarcadero ER/Studio (http://www.embarcadero.com), если у вас такая программа есть. Мы при генерации схемы данных пользуемся ей.
Все диаграммы также даны ниже в виде gif-картинок.
Конечная схема данных лежит в SROExpert.sql.
Кроме того вот короткие описания по русски основных таблиц:

Код: выделить все

1. данные спроектированы частично "прозапас",
   т.е. в схеме присутствуют поля пока никак не отражённые в интерфейсе
2. схема данных взята из внутренней рабочей версии, т.е. некоторых полей ещё нет
   в версии вышедшей в релиз
3. схема данных вполне возможно будет меняться, однако текущая схема уже даёт
   неплохое представление о модели данных
4. данных много так что наверно проще описывать обмен данными на уровне таблиц
   а не полей.

описания основных таблиц (описаны только 8 из почти семи десятков таблиц
так что если есть необходимость в более подробном описании или вопросы, пишите):

EconomicMember - любой субъект экономической деятельности..
поля:
    IndustryId                       отрасль
    OKFS                             ОКФС
    OKOPF                            ОКОПФ
    Type                             тип
    INN                              ИНН
    Note                             примечания
    OKPO                             ОКПО
    OKVED                            ОКВЕД
    RegistrationDate                 дата регистрации
    TaxRegistrationDate              дата регистрации в налоговом органе
    RegistrationOrganization         зарегестрировавшая организация
    RegistrationSertificateNumber    номер свидетельства о регистрации
    RegistrationSertificateSeries    серия свидетельства о регистрации
    Activity                         Основной вид деятельности (расшифровка ОКВЕД)
    NumberOfEmployee                 количество работников
    AverageWage                      средняя зарплата
    IsLegalPerson                    юр лицо?
    IsAlive                          живое? не ликвидировано?
    IsManager                        АУ?
    IsAccredited                     аккредитовано?
    IsFilial                         представительство СРО?
    IsExecutor                       сотрудник СРО?
    IsBank                           банк?
    IsContragent                     показывается по умолчанию в закладке контрагентов?


LegalPerson - юридические лица, суды и т.п (все не физ. лица)
каждой строке в этой таблице соответствует строка в EconomicMember
(т.е. общие поля берутся оттуда, т.е. все юр лица имеют те же поля что и в EconomicMember)
поля:
    Name                      Название
    ShortName                 Краткое название
    KPP                       КПП
    OGRN                      ОГРН
    FixedCapital              Размер уставного капитала
    GovShareInFixedCapital    Размер уставного капитала которым владеет государство

NaturalPerson - физ лица, ПБЮЛ, ИЧП
каждой строке в этой таблице соответствует строка в EconomicMember
(т.е. общие поля берутся оттуда, т.е. все физ лица имеют те же поля что и в EconomicMember)
    FirstName          Имя
    MiddleName         Отчество
    LastName           Фамилия
    OGRNIP             ОГРН
    PassportSeries     Серия паспорта
    PassportNumber     Номар паспорта
    PassportDate       Дата выдачи паспорта
    PassportGiven      Кем выдан паспорт
    NameNotes          Примечания о смене фамилии и имени
    BirthPlace         Место рождения
    BirthDate          Дата рождения
    Nationality        Гражданство
    Languages          Языки которыми владеет
    AcademicDegrees    Академические степени
    Certificates       Выданные сертификаты

SROMember - Контрагенты с которыми СРО имеет особые постоянные отношения
(АУ, представительства, аккредитованные организации)
в частности им в рамках системы СРО-Эксперт можно выставлять счета и отслеживать оплату
каждой строке в этой таблице соответствует строка в EconomicMember и либо в NaturalPerson
либо в LegalPerson
(т.е. общие поля берутся оттуда)
поля:
    Type                тип отношений (АУ,Аккредитованная организация,представительство)
    EditedNumber        номер
    Note                примечания
    StoppingReason      причины исключения (если исключён)
    StoppingDate        дата исключения (если исключён)
    StoppingDJDate      дата регистрации исключения в МинЮсте
    SumToPay            сумма долга перед СРО
    OverdueSumToPay     просроченная сумма долга перед СРО (по которой по идее должны бежать пени)
    DateOn              дата регистрации отношений с СРО (вступления, аккредитации и т.п.)
    DateDJAnswer        дата регистрации отношений с СРО в МинЮсте (вступления, аккредитации и т.п.)
    State               состояние отношений с СРО (приостановлено, продлено, исключено и т.п.)

Manager - АУ - член СРО
каждой строке в этой таблице соответствует строка в SROMember
(т.е. общие поля берутся оттуда, т.е. все АУ имеют те же поля что и в SROMember)
поля:
    FilialId                         представительство к которому приписан АУ
    RegisterNumber                   регистрационный номер
    RegistrationCertificateDate      дата свидетельства
    RegistrationCertificateNumber    номер свидетельства
    StateSecretAccessLevel           уровень доступа к гос тайне
    IsStrategicalManager             может работать со стратегическими предприятиями
    TExamDate                        дата сдачи теоретического экзамена
    TExamVUZ                         ВУЗ в котором были сданы теоретические экзамены
    TExamDiplomNumber                номер диплома о сдаче теоретических экзаменов
    TExamDiplomSeries                серия диплома о сдаче теоретических экзаменов
    InsuranceOrganization            страховая организация
    InsuranceDate                    дата страховки
    InsuranceDateTill                дата завершения страховки
    InsuranceNumber                  номер страховки
    InsuranceSum                     сумма страховки
    ExtraProceduresCount             сколько выполнено процедур незарегестрированных в СРО-Эксперт
    PsychologistResume               рекомендации психолога
    DateOfStart                      дата начала работы в качестве АУ
    IsNotConvictionTill              дата истечения справки об отсутствии судимости
    ChiefDuration                    количество лет отработанных на руководящих должностях
    NotNominative                    отмечен в системе как неназначаемый


Process - любая задача в системе которая имеет начало (её кто то инициирует)
и обязательно должна завершиться (или закрыться.. в общем пока не закроется
она считается под контролем). В общем после какого-то инициирующего события обязательно должна
быть какая то реакция!
(
в данный момент таких задач - 8:
- Запрос на предоставление кандидатур
  - Запрос АУ на согласие выставлять свою кандидатуру (в данный момент на практике
    никем не используется)
- Процедура банкротства
  - Отчёт по процедуре банкротства ()
  - Жалоба на действия АУ в рамках процедуры
  - Проверка деятельности АУ в рамках процедуры
- Дисциплинарное дело АУ по результатам выявленных провинностей
- Заседание (любое общее, совета, комиссии и т.п.)
)
поля:
    InitialDocumentId        ссылка на инициирующий документ
    FinalDocumentId          ссылка на завершающий документ
    ExecutorId               ссылка на курирующего процесс сотрудника СРО
    Number                   автопроставляемый номер (предлагаемый системой)
    EditedNumber             внутренний номер
    Note                     примечания
    Type                     тип (запрос, процедура и т.п.)
    FinishDeadlineDate       контрольная дата завершения
    InitialDocumentNumber    номер инициирующего документа
    FinalDocumentNumber      номер завершающего документа
    InitialDocumentDate      дата инициирующего документа
    FinalDocumentDate        дата завершающего документа
    State                    состояние выполнения задачи


BancruptcyProcess - процесс связанный с процедурой банкротства (запрос или процедура).
каждой строке в этой таблице соответствует строка в Process
(т.е. общие поля берутся оттуда, т.е. все допустим запросы имеют те же поля что и в Process)
поля:
    ApplicantId            Ссылка на контрагента завявителя (таблица EconomicMember)
    DebtorId               Ссылка на должника (таблица EconomicMember)
    PreviousProcessId      Ссылка на предыдущий процесс
                            (например ссылка из процедуры на запрос или из продлённой
                             процедуры на начальную процедуру)
    CourtId                Ссылка на арбитражный суд (таблица LegalPerson)
    ProcedureType          Тип процедуры
    Fee                    Вознаграждение АУ
    DealNumber             Номер дела в суде
    DealStartDate          Дата заведения дела
    ApplicationDate        Дата подачи заявления в суд
    DesignationDate        Дата назначения АУ
    DebtorType             Тип должника
    OrganizationType       Тип организации - должника

Request - запрос из суда списка кандидатур АУ на процедуру банкротства
каждой строке в этой таблице соответствует строка в BancruptcyProcess
(т.е. общие поля берутся оттуда, т.е. все запросы имеют те же поля что и в BancruptcyProcess)
поля:
    ExtraRequirements    дополниительные требования к АУ (просто текстовое описание в свободной форме)
    DecisionNumber       номер решения суда о запросе списка кандидатов
    DecisionDate         дата решения суда о запросе списка кандидатов


ManagerProcedure - процедура арбитражного управления
каждой строке в этой таблице соответствует строка в BancruptcyProcess
(т.е. общие поля берутся оттуда, т.е. все процедуры имеют те же поля что и в BancruptcyProcess)
поля:
    ManagerId                         ссылка на АУ (таблица Manager)
    ExtraFinishReason                 причины внепланового завершения процедуры
    ReportsMode                       режим подачи отчётов (в данный момент не используется)
    DateStart                         дата начала процедуры
    DateFinish                        дата завершения процедуры
    InsuranceOrganization             страховая организация дополнительно застраховавшая АУ на процедуру
    InsuranceDate                     дата дополнительной страховки
    InsuranceDateTill                 дата завершения дополнительной страховки
    InsuranceNumber                   номер дополнительной страховки
    InsuranceSum                      сумма дополнительной страховки
    PublicationDate                   дата публикации о начале процедуры
    PublicationPlace                  название печатного органа в котором была публикация
    PublicationReleaseNumber          номер газеты (журнала) с публикацией
    PublicationAdvertisementNumber    номер объявления
    ReportDeadline                    контрольная дата следующего отчёта по процедуре
    Rating                            рэйтинг процедуры (должника) по активам
    DateDebtorInfoReceived            дата получения бухгалтерской и иной информации
    DebtsDate                         дата составления карты предприятия (с основными параметрами)
    MainIndexDate1                    дата начиная с которого составлена карта предприятия
    MainIndexDate2                    дата по которую составлена карта предприятия


Если будут ещё вопросы, обязательно пишите.
Вложения
db_scheme_forum.zip
(1.3 MiB) Скачиваний: 375
Аватар пользователя
vva
Администратор
 
Сообщений: 2914
Зарегистрирован: 06 фев 2007, 13:33

Сообщение vva » 28 май 2007, 16:17

Вот часть схемы данных касающаяся Контрагентов:
Вложения
economicmembers.gif
economicmembers.gif (57.05 KiB) Просмотров: 13566
Аватар пользователя
vva
Администратор
 
Сообщений: 2914
Зарегистрирован: 06 фев 2007, 13:33

Сообщение vva » 28 май 2007, 16:28

Что касается идентификаторов то это идентификаторы типа Guid
которые генерируются всегда новые для новых записей при помощи функции TransactSQL:

Код: выделить все
NewID()


или функции .NET

Код: выделить все
System.Guid.NewGuid()


или это может выглядеть по другому на других языках (скажите какой вы думаете использовать)

кроме того, есть специальные утилиты для генерации этих значений

Спрашивайте, если что то непонятно
Аватар пользователя
vva
Администратор
 
Сообщений: 2914
Зарегистрирован: 06 фев 2007, 13:33

Сообщение Guest » 31 май 2007, 13:46

Пробовали вносить по другому (программой самонажатий клавиш), но выходит криво (после нескольких дней юзания решили), спасибо за выкладки, попробую - чуть позже отпишусь.
Guest
 
Сообщений: 9210
Зарегистрирован: 12 янв 2006, 16:48

Сообщение Guest » 31 май 2007, 13:48

А вносить идея такой схемой: 1С выгружает в txt файл, в определенное время по расписанию запускается cmd файл, который работает с osql.exe, и с txt файла подкружается все в sql-ку, то есть получается непосредственно через sql внесение.
Guest
 
Сообщений: 9210
Зарегистрирован: 12 янв 2006, 16:48

Сообщение vva » 31 май 2007, 14:15

чего то я не очень понял фразу "по расписанию"..?
мы думали об экспорте, а вы видимо хотите именно регулярную синхронизацию?
это же более сложная задача..
обратная то синхронизация будет?
свяжитесь лучше всё таки с нами почтой, возможно вам нужно будет помогать более близко
проще аськой
Аватар пользователя
vva
Администратор
 
Сообщений: 2914
Зарегистрирован: 06 фев 2007, 13:33

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0