Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Нужно выбрать способ хранения реквизитов справочника... (число прочтений - 2090 )
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Нужно выбрать способ хранения реквизитов справочника...
20. Февраля 2009 :: 14:50
Печать  
Исходные данные:
1. есть справочник "Номенклатура"
2. есть ряд характеристик элемента справочника, типа "Артикул", "Цвет", "Размер" и т.д.
3. у элемента могут быть заполнены как все хар-ки, так и только некоторые.

Текущее состояние: хранятся в справочнике, но это не очень устраивает, т.к. справочник довольно большой, а половина реквизитов пустые.

Вопрос: как оптимально организовать хранение? как с точки зрения размера, так и с точки зрения скорости выборки.

Возможные варианты:
1. не раз уже рассматривалось - применить некий универсальный механизм с редактируемым составом хар-к
2. сделать подчиненный справочник, со всеми характеристиками.
3. на каждую характеристику сделать свой справочник, куда элемент будет добавляться только в случае, если он заполнен, т.е. структура вида:
Код (равен коду элемента спр. "Номенклатура") - Реквизит.

В общем, я в раздумьях, может посоветует кто чего?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Нужно выбрать способ хранения реквизитов справочника...
Ответ #1 - 20. Февраля 2009 :: 15:15
Печать  
Опредление этому безобразию - регистр сведений аля v8.
Я обычно регистры сведений делаю на "диких" таблицах (SQL).
Минус: нет контроля ссылочной целостности
  

1&&2&&3
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: Нужно выбрать способ хранения реквизитов справочника...
Ответ #2 - 20. Февраля 2009 :: 15:19
Печать  
ну а как регистр двигать? это же справочник с реквизитами, которые могут меняться вручную
наверное я чего то не понимаю... Печаль
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3051
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Нужно выбрать способ хранения реквизитов справочника...
Ответ #3 - 20. Февраля 2009 :: 15:22
Печать  
Как устроен регистр сведений в v8 знаешь?
Он не обязательно должен двигаться.
  

1&&2&&3
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: Нужно выбрать способ хранения реквизитов справочника...
Ответ #4 - 20. Февраля 2009 :: 15:26
Печать  
как в v8 не знаю...
но насколько я понял, в v7 предлагалось реализовать регистр сведений аля v8 в виде регистра без измерений и ресурсов, только реквизиты, я думал ты об этом
  
Наверх
 
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Нужно выбрать способ хранения реквизитов справочника...
Ответ #5 - 20. Февраля 2009 :: 15:48
Печать  
Делаю как trad Улыбка
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: Нужно выбрать способ хранения реквизитов справочника...
Ответ #6 - 20. Февраля 2009 :: 16:02
Печать  
ну дык поделись как Улыбка
  
Наверх
 
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Нужно выбрать способ хранения реквизитов справочника...
Ответ #7 - 20. Февраля 2009 :: 21:37
Печать  
Ну вот например регистрация этапов заказа поставщику:

Функция глЗаписатьЭтапЗаказа(ВыбДок, ВыбЭтап, ВыбПользователь, ВыбДата = 0, КолвоПаллет = 0, Вес = 0, ПланДатаПрихода = '01.01.1753') Экспорт

....
     
     RecordSetRPC.УстановитьТекстовыйПараметр("ВыбДок",                  ВыбДок);

...
     
     ТекстЗапроса = "
     |declare @td datetime
     |set @td = getdate()
     |if not exists (select iddoc from zakazy (nolock) where iddoc = :ВыбДок and etap = :НомерЭтапа)
     |insert into zakazy values (:ВыбДок, :ВыбДата, :НомерЭтапа, :ВыбЭтап, @td, :ВыбПользователь)
     |";
     
     RecordSetRPC.ВыполнитьИнструкцию(ТекстЗапроса);
     
     ...
     
     глИзменитьМаксимальныйЭтапЗаказа(ВыбДок, КолвоПаллет, Вес, ПланДатаПрихода, ИзменятьДанные);
     
     Возврат 1;
КонецФункции // глЗаписатьЭтапЗаказа()
  

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