Вход | Регистрация


1С:Предприятие ::

Метки:справочники

Сортировка справочника номеклатура

Я
   Василий
 
06.07.04 - 14:05
При использовании сортировки по наименовании. 1с если наименование совпадает исользует код товара в справочнике номенклатура. Можно ли сдлеать так чтобы вместо кода использовать другой реквизит справочника?
 
 
   Орк
 
1 - 06.07.04 - 14:20
Не понятно с чем должно совпадать наименование чтобы 1С использовала код.

И не понятно вместо каких нужд нужно использовать не код, а другой
реквизит. Если для сортировки в форме списка то Сортировка(), если для
программной обработки то ПорядокРеквизита().
   Василий
 
2 - 06.07.04 - 14:46
Есть много одинаковых наименований товаров. Отличаются они только артикулом. Требуется чтобы сортировка происходила по наименованием, а за тем по артикулам. Например так:
 Артикул | Наименование
01-02-03    Nokia 1100
02-30-03    Nokia 1100
   Crew
 
3 - 06.07.04 - 14:54
(2)
Надо делать дополнительный документ или отчет и при выборе элемента справочника вызывать этот документ/отчет, а не форму для выбора справочника.
Иначе никак.
   Warlock
 
4 - 06.07.04 - 15:41
(2)Нужно в реквизите (в данном случае Артикул) поставить галочку "Сортировка"! А в справочнике "Действия/Сортировка/По реквизиту".
И все.
   Crew
 
5 - 06.07.04 - 16:55
(4)
А вот не будет оно работать, так как нужно согласно (2):
"Требуется, чтобы сортировка происходила по НАИМЕНОВАНИЯМ, а ЗАТЕМ по АРТИКУЛАМ"
   lexa
 
6 - 06.07.04 - 17:20
Добавь к наименованию артикул справа
   skunk
 
7 - 06.07.04 - 17:26
(6)наименование ограничено по длине...
   Орк
 
8 - 06.07.04 - 18:59
Есть вариант использовать заранее отсортированный список.
Могу дать код.
   Warlock
 
9 - 06.07.04 - 19:11
(5)Создать реквизит "НаименованиеАртикул", пользователю его не показывать, но при записи туда вписывать СокрЛП(Наименование)+СокрЛП(Артикул). Сортировка по этому реквизиту. Длины хватит.
   skunk
 
10 - 06.07.04 - 20:02
(9)интерактивная запись немного отличается от программной... а значит не канает
 
  Рекламное место пустует
   Warlock
 
11 - 06.07.04 - 20:10
(10)Можно при обоих записях формировать реквизит "НаименованиеАртикул"!
   skunk
 
12 - 06.07.04 - 20:15
конечно можно... если тот кто будет писать обработку будет знать (помнить... и т.д. по вкусу) про этот бэнш
   Warlock
 
13 - 06.07.04 - 20:23
(12)В данном случае если не изменять реквизит "НаименованиеАртикул", то это приведет только к неправильной сортировке. Небольшая обработочка - и все в порядке! Накакого риска! Это тебе не Задача.ПроведениеДокументов !
   skunk
 
14 - 06.07.04 - 20:26
(13)по большому в той истории тоже можно было выкрутиться обработкой... тут важнее решить, что быстрее... интерактивно перезаписать, или написать обработку
   Warlock
 
15 - 06.07.04 - 20:28
(14)Зависит от количества элементов... И от способностей программера...
   skunk
 
16 - 06.07.04 - 20:31
(15)согласен... но прога, которая не пашет в отсутствии программера, уже не есть гуд... это мое личное мнение... поэтому и сказал, что данный способ не канает
   Warlock
 
17 - 06.07.04 - 20:37
(16)Прога будет пахать в отсутствии программера... Но вот приходит другой программер... Создает нештатную ситуацию... И все... Тут сколько в прогу не пихай надежности - толку не будет!
   Орк
 
18 - 06.07.04 - 20:40
То skunk & Warlock_WW.
Зачем нужна внешняя обработка?
И что мешает пользовать процедуру ПриЗаписи() и вней без участия
пользователя правильно заполнить реквизит "НаименованиеАртикул"?
   skunk
 
19 - 06.07.04 - 20:40
какая разница штатная нештаная... жук он и в африке жук... тогда и мелкософт нельзя хаить... просто там другие проги создают внештатные ситуации
   skunk
 
20 - 06.07.04 - 20:42
(18)когда в определенный момент может понадобиться создать и записать элемент программно... тот же УРБД или МОД... и тогда ПриЗаписи летит как бурундук... искать крылья
   Warlock
 
21 - 06.07.04 - 20:43
(19)Винда - єто и есть внештатная ситуация!!! ;)
   skunk
 
22 - 06.07.04 - 20:48
(21)может быть... но она мне нравиться, хоть и не красавица (с)не Я.    а вообщето просто надо уметь ее готовить (с)Реклама. -:-(  панки не смеютьсю
   skunk
 
23 - 06.07.04 - 20:49
тьфу млин на фих... смеються
   Орк
 
24 - 06.07.04 - 20:49
УРБД не катит - ПриЗаписи() одна на всех.
МОД не видел - не скажу. Но есть мысль что все заполненные реквизиты
а равно и "НаименованиеАрт.." он обязан перенести не изменив ни на бит.
   Warlock
 
25 - 06.07.04 - 20:51
2 skunk: Я твою идею понял. Но она в данном варианте (0)->(9) не актуальна! Орк со мной согласен!
   skunk
 
26 - 06.07.04 - 20:56
(26)может быть и не актуально... сейчас... кто знает, что будет потом... а об жуках надо мыслить сразу... иначе их потом столько будет... устанешь разгребать
   skunk
 
27 - 06.07.04 - 20:56
в (26) опечатка имелось ввиду (25)
   Орк
 
28 - 06.07.04 - 20:57
Вдогонку.
А вообще-то организовывать поиск добавляя (постоянно хранимые) реквизиты -
изврат.
Аргументы :
1. Дублирование информации а отсюда рост базы.
2. Как было сказано - в один прекраный момент суррогатный ключ перестанет
соответствовать исходным данным.
3. Завтра могут измениться требования к поиску и тогда пересмотр содержимое
суррогатного ключа неизбежен как крах ...(С).
   Warlock
 
29 - 06.07.04 - 20:59
(26)Про жуков думать на начальных этапах - с этим согласен на все 1000%. Жуков на потом откладывать нельзя...
   skunk
 
30 - 06.07.04 - 20:59
теперь я не понял... с кем был согласен Орк
   Warlock
 
31 - 06.07.04 - 21:00
(28)Есть другие идеи?
   skunk
 
32 - 06.07.04 - 21:05
если честно то я не думаю, что там така куча одинаковых наименований... что между ними нужно еще устраивать дополнительную сортировку...
мне кажется проблема сильно надутая...
   Warlock
 
33 - 06.07.04 - 21:09
(32)Есть вероятность, что у него гибрид справочника номенклатуры со справочником партий(о чем свидетельствует Артикул)...
 
  Рекламное место пустует
   skunk
 
34 - 06.07.04 - 21:13
а как артикул связан с партиями... насколько я знаю артикул это UIN конкретного товара
   Орк
 
35 - 06.07.04 - 21:16
Идея такая :
В форме списка

ПриВыбореВладельца(выб)
  Перем спр, тз, спис;

 //Таблица для сортировки

  тз=СоздатьОбъект("ТаблицаЗначений");
  тз.НоваяКолонка("Номенклатура","Справочник....");
  тз.НоваяКолонка("Артикул","Строка",...);

 //Потом пригодится

  спис=СоздатьОбъект("СписокЗначений");

  Спр=СоздатьОбъект("Справочник....");
 //Пройдемся по выбраной ветке справочника

  Спр.ИспользоватьВладельца(выб);
  Спр.ВключатьПодчиненные(0);
  Спр.ВыбратьЭлементы();
  Пока Спр.ПолучитьЭлемент()=1 Цикл
     тз.НоваяСтрока();
     тз.Номенклатура=Спр.ТекущийЭлемент();
     тз.Артикул=Спр.Артикул;
  КонецЦикла;
 //Отсортируем как хочется

  ТЗ.Сортировать("Номенклатура,Артикул");
  Тз.ВыбратьСтроки();
  Пока ТЗ.ПолучитьСтроку()=1 Цикл
     Спис.ДобавитьЗначение(Тз.Номенклатура);
  КонецЦикла;
 //Покажем в порядке сортировки

  ИспользоватьСписокЭлементов(Спис);
КонецПроцедуры

В кратце так.

Нужно доработать отображение вложенных групп и таким же способом поизгаляться в процедуре ПриСменеИерархии()
   skunk
 
36 - 06.07.04 - 21:23
а если там очень много элементов... да еще и куча пользователей... да такой справочник будет открываться полгода
   Орк
 
37 - 06.07.04 - 21:30
То 36.
Тогда - только суррогатный ключ.
   Warlock
 
38 - 06.07.04 - 22:19
(35,37)Я сразу предложил дополнительный реквизит, т.к. если бы было мало записей, то не возник бы вопрос о сортировке артикулов...



Список тем форума
Рекламное место пустует   Рекламное место пустует
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки - вот настоящая работа.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует