Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Тема к обсуждению: Журнал документов, как еще можно. (число прочтений - 3365 )
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Тема к обсуждению: Журнал документов, как еще можно.
20. Июля 2009 :: 05:14
Печать  
Стандартный механизм 7-ки хранения журнала документов меня не совсем устраивает. Причин на то несколько:
1. Хранение всей информации по дате и времени документа в журнале
2. Отсутствие возможности эффективного отбора документов по критерию не являющимся колонкой таблицы журнала
3. Отсутствие возможности эффективного построения журнала документов по нескольким видам документов.

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

Среди идей есть вот какие мысли:
1. Программист в среде 1С будет задавать список журналов для самостоятельной организации. После чего в модальном режиме необходимо будет провести сервиснуб обработку для заполнения журналов.
2. Перехватчиком организовать перехват событий записи, удаления и изменения документов после чего прописывать данные измерения в соответствующие таблицы.
3. Отображение организовать при помощи ТП и соответствующих поставщиков данных.

З.Ы. это просто идея родившаяся у меня от нех#р делать в момент 5-ти дневного проживания на природе. [s]Если у кого есть мысли, критика и т.п. я готов выслушать. Наработки если таковые имеются тоже не помешают.
Так же  мне нужна помощь по работе с SQLite базами, поскольку пока я ни разу их не трогал. Только для запросов.
[/s]

Пускай все так и остается.  Смущённый
« Последняя редакция: 29. Июля 2009 :: 18:50 - vandalsvq »  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Тема к обсуждению: Журнал документов, как еще можно.
Ответ #1 - 20. Июля 2009 :: 05:41
Печать  
У меня лично - такой путь:
1) Есть рабочая база, которая продолжает работать
2) Все новые хотелки реализуются в виде собственной структуры данных, от 1С используется лишь визуальный интерфейс
3) В дальнейшем, имеющиеся базы планируется перевести на собственную структуру данных и, совсем уж в дальнейшем, переписать визуальный интерфейс (ориентировочно на QT)
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Тема к обсуждению: Журнал документов, как еще можно.
Ответ #2 - 20. Июля 2009 :: 06:21
Печать  
План глобальный конечно. Собственно про хотелки я и говорю, но вот только мои "хотелки" завязаны на 1С-овских "телодвижениях".
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
classic
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 330
Местоположение: г. Харьков
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Тема к обсуждению: Журнал документов, как еще можно.
Ответ #3 - 25. Июля 2009 :: 14:41
Печать  
Насчет эффективного отбора - я в своих журналах пользую отборы по графам отбора - просто в реализации и достаточно быстро в работе.
А вообще идея кажется интересной, нужно подумать.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Тема к обсуждению: Журнал документов, как еще можно.
Ответ #4 - 25. Июля 2009 :: 15:33
Печать  
Начал разработку, попробовал прогнать все документы в SQLite и оттуда поставщиком показать журнал. Скорость очень хорошая. Однако много вопросов по архитектуре будущего решения... думаю много  Улыбка
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тема к обсуждению: Журнал документов, как еще можно.
Ответ #5 - 25. Июля 2009 :: 16:04
Печать  
Саш, а поподробнее можешь? По первому посту мало что понятно.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Тема к обсуждению: Журнал документов, как еще можно.
Ответ #6 - 25. Июля 2009 :: 17:08
Печать  
В общем что мы знаем об 1С 7.7 при работе с документами?
1. Есть таблица journ - Журнал документов, где есть все документы и общая информация вроде реквизитов с признаком отбор, значения общих характеристик (пометка удаления, дата, номер, префикс и пр.)
2. Есть таблицы dh - таблицы реквизитов шапки документов и итоговых реквизитом Мн.ч. с признаком итог по колонке
3. Есть таблицы dt - таблицы реквизитов многострочной части...
4. Есть таблица crdoc - подчиненность документов + графы отборов

При организации поставщика данных для ТП можно пойти двумя путями:
1. journ + dh
2. crdoc + journ + dh
Хранения информации по графам отбора в crdoc меня вообще мало вставляет (хватит того что подчиненность там), а постоянно для получения даты, номера, пометки ползти в journ, а потом получать реквизиты из dh - тоже не самое приятное занятие, особенно когда речь идет о журнале документов с более чем 3-4 видами. А представляешь если еще и отбор по реквизитам шапки (т.е. coalesce(x,x,x)) ... в общем вот это мне и не нравится.

Идея в том что на sqlite организуется БД, которая по выбранным журналам считывает информацию из БД, сохраняет у себя структуру, реквизиты + создает таблицы указанных журналов скажем с полями date, time, iddoc, docno, dnprefix, + значения граф журнала. И есть КОП которые организует запись документов в эту базу данных.

Вопросов очень много, особенно большая проблема с событиями записи, пометки и удаления документов. Есть и небольшая проблема организации базы данных.
Да и кажется что это такая задача которая интересует только меня в большей мере.  Улыбка
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
classic
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 330
Местоположение: г. Харьков
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Тема к обсуждению: Журнал документов, как еще можно.
Ответ #7 - 27. Июля 2009 :: 05:40
Печать  
Как я понимаю, у такого решения появляется дополнительный плюс: возможность управлять индексами так, как это нужно. Графы отбора с задачей выбора нужных документов справляются, но никак не дают возможности использовать в журналах документов сортировку.
Лично я особых сложностей не вижу - если делать упрощенный вариант - то перехватчиком хватать ПриЗаписи, и заполнять дополнительные таблицы.
Можно чуть усложнить - сделать класс, в который при создании единственного экземпляра передавать вид документа, имя реквизита, название допжурнала, название колонки допжурнала. Получится даже некоторое подобие универсальности.
  
Наверх
 
IP записан
 
classic
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 330
Местоположение: г. Харьков
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Тема к обсуждению: Журнал документов, как еще можно.
Ответ #8 - 27. Июля 2009 :: 05:45
Печать  
Есть еще одна проблема - программные изменения документов. Которые перехватчиком не ловятся. Можно по разному морочить голову да что-нибудь изобретать, мне кажется самым простым и оптимальным вариантом будет просто создание кнопки "Обновить" в новом журнале. Вот в восьмерке журналы без автообновления - и ничо, привыкли.
Обновление доп таблицы одним запросом будет достаточно быстрым даже при десятках тысяч документов.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Тема к обсуждению: Журнал документов, как еще можно.
Ответ #9 - 27. Июля 2009 :: 06:10
Печать  
Можно еще в обработке ожидания сканировать изменение поля VERSTAMP, но скорее всего это не шибко быстро будет. Хотя надо пробовать.
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Тема к обсуждению: Журнал документов, как еще можно.
Ответ #10 - 27. Июля 2009 :: 11:47
Печать  
JohnyDeath писал(а) 27. Июля 2009 :: 06:10:
Можно еще в обработке ожидания сканировать изменение поля VERSTAMP, но скорее всего это не шибко быстро будет. Хотя надо пробовать.


Поле verstamp отклоняю сразу, причину ты назвал правильную Улыбка.
Сегодня вечером расскажу вариант реализации который пока зреет в моей голове.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Тема к обсуждению: Журнал документов, как еще можно.
Ответ #11 - 29. Июля 2009 :: 18:49
Печать  
Эта идея отвергается.
Вот так вот, скромно и грустно.  Нерешительный
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
alexdd
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 347
Зарегистрирован: 25. Июня 2007
Re: Тема к обсуждению: Журнал документов, как еще можно.
Ответ #12 - 29. Июля 2009 :: 20:14
Печать  
vandalsvq писал(а) 25. Июля 2009 :: 17:08:
Идея в том что на sqlite организуется БД, которая по выбранным журналам считывает информацию из БД, сохраняет у себя структуру, реквизиты + создает таблицы указанных журналов скажем с полями date, time, iddoc, docno, dnprefix, + значения граф журнала. И есть КОП которые организует запись документов в эту базу данных.

хм. а можно не в тему вставить свои пять копеек?Улыбка
какая разница между тем, что в квоте и 1scrdoc? Вернее, в чем преимущество?
1scrdoc - штатная таблица, с вполне сносными индексами. В метаданных(конфигурации) можно прописать интересующие отборы, и 1С будет сама складывать туда все что нужно из dtXXX, dhXXX.
В табличном поле(великолепная штука для 1СУлыбка) можно прописать отбор по нескольким графам. И не нужно никаких дополнительных баз данных, КОП, отлова событий изменения и прочих велосипедов. Это слишком сложно.

вот так, пошел дальше пить пивоУлыбка
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Тема к обсуждению: Журнал документов, как еще можно.
Ответ #13 - 30. Июля 2009 :: 07:27
Печать  
alexdd писал(а) 29. Июля 2009 :: 20:14:
vandalsvq писал(а) 25. Июля 2009 :: 17:08:
Идея в том что на sqlite организуется БД, которая по выбранным журналам считывает информацию из БД, сохраняет у себя структуру, реквизиты + создает таблицы указанных журналов скажем с полями date, time, iddoc, docno, dnprefix, + значения граф журнала. И есть КОП которые организует запись документов в эту базу данных.

хм. а можно не в тему вставить свои пять копеек?Улыбка
какая разница между тем, что в квоте и 1scrdoc? Вернее, в чем преимущество?
1scrdoc - штатная таблица, с вполне сносными индексами. В метаданных(конфигурации) можно прописать интересующие отборы, и 1С будет сама складывать туда все что нужно из dtXXX, dhXXX.
В табличном поле(великолепная штука для 1СУлыбка) можно прописать отбор по нескольким графам. И не нужно никаких дополнительных баз данных, КОП, отлова событий изменения и прочих велосипедов. Это слишком сложно.

вот так, пошел дальше пить пивоУлыбка


Мне просто не нравится этот 1scrdoc... ну совсем не нравится.
Это получается чтобы нормальный журнал написать мне надо
1scrdoc left join 1sjournal left join [dhXXX,dhXXX...]
Чур меня чур.... ну нафиг.
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать