Создать документ нового типа

ПНР и сопровождение

Модераторы: m0p3e, edward_K, Модераторы

galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Создать документ нового типа

Сообщение galover »

Всем привет! Возникла задача создать свой тип документа (шапка + спецификация). Интерфейс буду писать сам. Нужно место для хранения данных. Есть ли вообще стандартное решение-подход в таком случае? Скажем завести в KatDoc свой тип данных, чтобы Галактика не похерила мои данные в будущем или при всяких проверках целостности, заюзать KatSopr + SpSopr/SpDocs. Или же нужно создавать свои таблицы? В общем нужен ваш совет. Спасибо.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Создать документ нового типа

Сообщение edward_K »

ну уж если гарантировано - то свои таблы. Хотя можно поискать и готовый
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Создать документ нового типа

Сообщение Den »

Трудно сказать навскидку, не зная Вашей задачи. Но, видимо ,задача довольно приличная...
Все же реализация через добавление своих таблиц в словарь кажется более привлекательной.Главным образом за счет независимости от прикладной части стандартного функционала галактики.Кроме этого, при добавлении своих табл не будет изменяться контр сумма словаря (только заранее желательно тщательно продумать структуру данных и индекосв таблиц, т.к., насколько я понял, впоследствии для этого нужно будет отключать проекты, журнализации и т.д.).
С другой стороны, если Ваша задача вполне укладывается в рамки ,грубо говоря, katsopr+spsopr, то может быть и не нужно всего этого. Ну в в крайнем случае,если есть необходимость работать с данными, не помещающимися в стандарную структуру табл, можно к katsopr|spsopr добавить свои таблы опять же.
В любом случае, весьма вероятно, что потребуется отражения своих документов в журнале хозопераций с последующим проведением по ним ТХО. Это тоже серьезный фактор для раздумий
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Re: Создать документ нового типа

Сообщение galover »

Ясно, спасибо. Значит ничего стандартного нет. Жаль. Задача довольно часто встречается. Свои таблицы создавать не очень хочется, да и вычистить журнал не получится - откаты делаем периодически.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Создать документ нового типа

Сообщение edward_K »

чистка журнала нужна для alter dictionary. Без нее все добавляется. Штатно рекомендуется через консоль управления.
А так добавлял в sql, удалял в vip.
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Re: Создать документ нового типа

Сообщение galover »

Для create table тоже нужно чистить журнал и отрубать протект. Хотя таблица и добавляется (не смотря на предупреждение компилятора), но обращение к ней вызывает некоторые тормоза. Поэтому с добавлением новых таблиц не так все просто, и хотелось бы обойтись штатными средствами Галактики (
LaaLaa

Re: Создать документ нового типа

Сообщение LaaLaa »

Чтобы сделать свой документ. Можете использовать в качестве основы документ "Бухгалтерская справка". Для этого заведите отдельный тип бух справки (в настройках модуля ФРО). Соблюдайте правила заполнения и назначение имеющихся полей таблицы PlPor и SoprHoz. Чтобы работали стандартные алгоритмы, ТХО, проверки целостности и т.д.

Свои дополнительные данные храните в своих таблицах. Свяжите их с PlPor или с SoprHoz. Свое окно редактирования естественно придется сделать. И алгоритмы ТХО.
LaaLaa

Re: Создать документ нового типа

Сообщение LaaLaa »

К стати есть таблица SPPLPOR задумывалась когда то давно, как раз как абстрактная спецификация для всяких абстрактных задач пополнения бухгалтерских документов данными. Но давно уже с этой темой не сталкивался. Насколько эта таблица сейчас "жива" и насколько оформились и устоялись правила ее применения внешними программистами я сейчас не особо в курсе.

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

Хотя на счет добавления своих таблиц это в любом случае было бы лучше. Получается вам мешает только требование временной очистки журнала и отключения проекта? Или есть еще какие-то препятствующие причины?
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Создать документ нового типа

Сообщение Den »

galover писал(а):Для create table тоже нужно чистить журнал и отрубать протект. Хотя таблица и добавляется (
и добавлял/удалял свои таблы не делая этого - не замечал пока никаких косяков.
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Re: Создать документ нового типа

Сообщение galover »

Den, когда добавлял? Я 3 месяца назад свои таблицы vip-ом добавлял, получал предупреждение или ошибку даже (сейчас не помню) о том что нужно чистить журнал и отключать протект, таблица создавалась, но потом при обращении к ней шли странные тормоза. У нас протект включен, есть разграничения прав по таблицам, права пересчитывал, бесполезно.
З.Ы. Кстати последние патчи (новогодние, где есть изменения по з/п), связанные с изменением словаря, также требуют чистки журнала и отрубания протекта.
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Re: Создать документ нового типа

Сообщение galover »

LaaLaa Спасибо, посмотрю эти таблицы, может чего еще ТП подскажет. Мешают добавлять свои таблицы именно ограничения (требования компилятора), связанные с отключением протекта и чистки журнала. Как я уже писал, таблицы создаются, но идут заметные тормоза при обращении к ним (может только при первом обращении, хотя сильно не исследовал).
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Создать документ нового типа

Сообщение Den »

galover, извиняй.. Да, действительно, у меня далеко не последние патчи, аля 5.4.3X в силу обстоятельств...Жалко, конечно , что разработчики внесли такие вот изменения в мехинизм добавления таблиц. Было(видимо, приходиться уже в прошедшем времени констатировать..), конечно, удобно работать по старому механизму без протектов,журнализаций (
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Создать документ нового типа

Сообщение m0p3e »

А ведь требование к отключению журнала при докомпиляции следствие лени разработчиков.
Доработать элементарно! Предварительное удаление записей в журнале по изменяемым таблицам - самый простой способ.
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Re: Создать документ нового типа

Сообщение galover »

Да, еще вспомнил главное ограничение на добавление своих таблиц. Помимо тормозов при обращении, созданные таблицы не журнализируются, хотя и стоят как журнализируемые. Такое поведение, если не чистить журнал и не отрубать протект. А поскольку чистить журнал никак нельзя, то остается одно - юзать стандартные таблицы Галактики
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Создать документ нового типа

Сообщение edward_K »

вы просто не умеете их готовить :).
У меня все прекрасно журнализируется.

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

Create Table D_USER.My_table1 "My_table1"
  With Table_CODE = 32762
  With TableOptions header, journal
(
  cpodr          : comp   "подразделение"
  ,price          : double "цена"
)
with index
(
 in2 = cpodr
);
При добавлении через сапорт-SQL журнал не чистил :)
уже обсуждалось, что теперь alter dictionary для своих таблиц не нужен и даже вреден.
Если без header, то должны добавить поле nrec (ну и другие по шапке), и по нему создать индекс с опциями уникальный, журнализируемый, суррогатный. Тогда таблица появится в списке таблиц для журнализации.
Но вообще это крайняя мера - по возможности нужно заюзать стандартные документы.
Можно вообще же документ на проводках построить(с забалансовым счетом например) - та же бухсправка. По дороге получите несколько десятков готовых отчетов :).
Ответить