Переключение на Главную Страницу Страницы: [1] 2 3  ОтправитьПечать
Очень популярная тема (более 25 ответов) Архитектура 1С подобной платформы автоматизации (число прочтений - 19880 )
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Архитектура 1С подобной платформы автоматизации
14. Января 2008 :: 11:00
Печать  
Навеяно:http://www.1cpp.ru/forum/YaBB.pl?num=1199981576
Как бы кто реализовал подобную систему?
так или иначе некоторые из нас делают задачи не только на 1С, интересно кто как делает?

например, кто как организовывает хранение документов?
Когда-то мне нравилась идея 1С: 1sjourn, но потом разонравилась.
все, что 1С хранит в 1sjourn хранил в таблице шапки документа.
не понравилось то, как хранится состояние документа, больше по душе поле state где 0 - помечен на удаление, 1 - не проведен, 2 - проведен.
  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Архитектура 1С подобной платформы автоматизаци
Ответ #1 - 14. Января 2008 :: 11:08
Печать  
Цитата:
Когда-то мне нравилась идея 1С: 1sjourn, но потом разонравилась.
все, что 1С хранит в 1sjourn хранил в таблице шапки документа

А как собирать общий журнал? через UNION
А если видов документов 100?
  
Наверх
ICQ  
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: Архитектура 1С подобной платформы автоматизаци
Ответ #2 - 14. Января 2008 :: 11:12
Печать  
при помощи юнион.
обладая метаданными можно сделать автоматическую генерацию запроса.
но опять же, как часто нужен общий журнал? и главное для чего?
отборы делал о обычных журналах, так что для отбора уже не нужен общий.
а все документы видеть сразу - не вижу смысла. лишняя нагрузка как на систему, так и на пользователя.
  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Архитектура 1С подобной платформы автоматизаци
Ответ #3 - 14. Января 2008 :: 11:19
Печать  
Phoenix писал(а) 14. Января 2008 :: 11:12:
при помощи юнион.
обладая метаданными можно сделать автоматическую генерацию запроса.
но опять же, как часто нужен общий журнал? и главное для чего?
отборы делал о обычных журналах, так что для отбора уже не нужен общий.
а все документы видеть сразу - не вижу смысла. лишняя нагрузка как на систему, так и на пользователя.

Наверное можно для таких целей делать что - то вроде регистра учета документов Улыбка и писать туда на UPDATE шапки документа
  
Наверх
ICQ  
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: Архитектура 1С подобной платформы автоматизаци
Ответ #4 - 14. Января 2008 :: 11:20
Печать  
можно более подробно?
  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Архитектура 1С подобной платформы автоматизаци
Ответ #5 - 14. Января 2008 :: 11:26
Печать  
Phoenix писал(а) 14. Января 2008 :: 11:20:
можно более подробно?

Не пожалуй получится тот же 1sjourn

1. Есть табличка с общими реквизитами
2. Есть таблички шапки документов и строки
3. Делаем тригер на INSERT Update для таблиц шапки документов и строки и в них обновляем общую таблицу
  
Наверх
ICQ  
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: Архитектура 1С подобной платформы автоматизаци
Ответ #6 - 14. Января 2008 :: 11:29
Печать  
тоже об этом думал, и отказался от этого.
сейчас думаю хранить аналоги "граф отбора" в  отдельных таблицах.
тогда можно будет на join сделать многое, если индексы правильно сделать вообще сказка будет.
  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Архитектура 1С подобной платформы автоматизаци
Ответ #7 - 14. Января 2008 :: 11:41
Печать  
Phoenix писал(а) 14. Января 2008 :: 11:00:
Навеяно:http://www.1cpp.ru/forum/YaBB.pl?num=1199981576
Когда-то мне нравилась идея 1С: 1sjourn, но потом разонравилась.

Журн еще выступает как маяк транзакции. А обработка транзакций жизненно необходима.
прежде чем выкидывать какой-то компонент, необходимо решить по другому все задачи, которые этот компонент решал.  
Иначе нахватаемся дидлоков в новой системе и просто прийдем к другим проблемам.
Возможно, если рассмотреть понятие "Маяк транзакции" и поиграть с ним, то можно и понять как решить проблему.
  
Наверх
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: Архитектура 1С подобной платформы автоматизаци
Ответ #8 - 14. Января 2008 :: 12:00
Печать  
функции 1sjourn можно возложить на таблицу шапки документа.
тогда получится распараллеливание транзакций
  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Архитектура 1С подобной платформы автоматизаци
Ответ #9 - 14. Января 2008 :: 12:02
Печать  
Phoenix писал(а) 14. Января 2008 :: 12:00:
функции 1sjourn можно возложить на таблицу шапки документа.
тогда получится распараллеливание транзакций

Смоделируй ситуацию при проведении 2-х разных видов документов по 1-му регистру, при пересечении времени этих операций, с учетом того, что транзакция должна быть.
  
Наверх
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Архитектура 1С подобной платформы автоматизаци
Ответ #10 - 14. Января 2008 :: 12:07
Печать  
trdm писал(а) 14. Января 2008 :: 12:02:
с учетом того, что транзакция должна быть.

Может быть проще возложить эту почетную функцию на движок БД?
  
Наверх
www  
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Архитектура 1С подобной платформы автоматизаци
Ответ #11 - 14. Января 2008 :: 12:09
Печать  
fez писал(а) 14. Января 2008 :: 12:07:
trdm писал(а) 14. Января 2008 :: 12:02:
с учетом того, что транзакция должна быть.

Может быть проще возложить эту почетную функцию на движок БД?

Что ты иммешь ввиду?
Всеравно без понимания "Что происходит" и "Что должно происходить" никуда не денешся...
  
Наверх
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: Архитектура 1С подобной платформы автоматизаци
Ответ #12 - 14. Января 2008 :: 12:14
Печать  
Цитата:
Смоделируй ситуацию при проведении 2-х разных видов документов по 1-му регистру, при пересечении времени этих операций, с учетом того, что транзакция должна быть.


пользователь 1:

проверка на блокировку таблицы ra

starttran
tablock/lock table ra1
update dh1 set state=2 where id= ...
insert into rg1 ....
update ra1 ...
commit
снятие блокировки

Пользователь 2
проверка на блокировку таблицы ra
starttran
tablock/lock table ra1
update dh1 set state=2 where id= ...
insert into rg1 ....
update ra1 ...
commit
снятие блокировки
------
скорее всего примерно так.
т.е. анализировать блокировку таблицы итогов регистра.

при этом ничто не мешает записывать и проводить документы других видов по другим регистрам.
можно конечно сделать rowlock в журнале, но зачем?
  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Архитектура 1С подобной платформы автоматизаци
Ответ #13 - 14. Января 2008 :: 12:15
Печать  
ИМХО, общий журнал - зло, равно как и корректировка, удаление, проведение/распроведение документов. мУда (т.е. бесполезно выполненная работа) в терминах кайдзен Улыбка
Эффективнее будет следующая схема: есть задача - есть стандартный способ ее решения - есть стандартные документы, в которых надо заполнить четко определенные реквизиты. Очень эффективен в данной концепции механизм бизнес-процессов, так как достаточно инициатору только запустить процесс, а наполнением (желательно по порциям) занимаются иные люди, ответственные за свой участок, при этом сохраняется информационная наполненность процесса, происходит лишь его более детальное описание, наполнение содержимым. Т.е. стоимость информации о процессе, а из нее и складывается стоимость информации о компании в целом, постоянно возрастает.
З.Ы. А в рамках 1С-подобной системы еще хорошо бы детально рассмотреть вопрос про проведение документа задним числом, например был приход товара, а через два месяца нам надо сделать возврат товара именно по этой накладной, тогда как при партионном учете - эта партия уже распродана, а у имеющейся партии закупочные цены существенно отличаются от бывших ранее.
  
Наверх
ICQ  
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Архитектура 1С подобной платформы автоматизаци
Ответ #14 - 14. Января 2008 :: 12:26
Печать  
А теперь попробуй прикинуть, откуда документ знает (соответственно и разработчик), какие регистры надо блокировать.
Тут варианта 2 или указывать регистры прямо перечисляя в метаданных, или отойти к общему маяку.
при втором варианте все много проще, чем при первом.
  
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 3 
ОтправитьПечать