Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: сортировка списков
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.1 (8.0)
tepliymv
люди помогите разобраться с такой проблемой: при выводе справочника номенклатуры товары сортируются по символьно, а у меня почти все товары названы кодами в перемешку с буквами, тоесть надо что бы при сортировке была проверка на число и на буквы.
сейчас сортировка выглядит примерно так
1 А
1002 А
211 Б
89 к

а нужно


89 К
211 Б
1002 А

где мне искать причину и как с этим бороться ?
Vond
как я вижу, например в УПП, в номенклатуре тип кода - строка. Т.е. другими словами тебе самому придется писать обработчик сортировщика (выделение первых цифер, потом символов, потом ортировать и т.д.)
tepliymv
да это понятно что надо писать самому сортировщик, просто с моими познаниями 1С8 проблематично это сделать, я не могу понять в каком месте это надо вписать и как?
Fynjy
Зачем писать свой сортировщик? Достаточно преобразовать числа к след виду:
0001 А
1002 А
0211 Б
0089 к
Ardi
обработчик сортировщика - а такое бывает?????
tepliymv
Цитата(Fynjy @ 09.04.10, 10:57) необходимо зарегистрироваться для просмотра ссылки
Зачем писать свой сортировщик? Достаточно преобразовать числа к след виду:
0001 А
1002 А
0211 Б
0089 к

преобразитиь к такому виду вообще не вариант, эти ж цифры не спотолка берут, они означают размер и тд.
уже я так хотел сделат..(
zetovich
Цитата(tepliymv @ 09.04.10, 11:57) необходимо зарегистрироваться для просмотра ссылки
преобразитиь к такому виду вообще не вариант, эти ж цифры не спотолка берут, они означают размер и тд.
уже я так хотел сделат..(

ну добавте реквизит. Пусть при сохранении пишет как предложил fynjy. а там и сортирует пусть по этому реквизиту.
tepliymv
Цитата(zetovich @ 09.04.10, 12:16) необходимо зарегистрироваться для просмотра ссылки
ну добавте реквизит. Пусть при сохранении пишет как предложил fynjy. а там и сортирует пусть по этому реквизиту.


тоже не вариант, справочник забит под завязку и везде добавлять в ручную реквезит довольно очень геморо
zetovich
Цитата(tepliymv @ 09.04.10, 12:47) необходимо зарегистрироваться для просмотра ссылки
тоже не вариант, справочник забит под завязку и везде добавлять в ручную реквезит довольно очень геморо

хм.
1. ПередЗаписью...добавить формирование значения данного реквизита.
2. обработка что б переловпатить существующие.
---
3. ну сортируйте как хотите. ток если справочник у Вас под завязку .....а там смотрите сами.
Vond
А чем не устроила обычная кодировка и использование реквизита АРТИКУЛ? От там пиши что надо а коды не трогай.
tepliymv
чесно сказать как это все реализовывать досихпор осталось для меня непонятным, я конечно понимаю что вы прошариные люди в 1С но мне далековато до вас (((
zetovich
Цитата(tepliymv @ 09.04.10, 15:32) необходимо зарегистрироваться для просмотра ссылки
чесно сказать как это все реализовывать досихпор осталось для меня непонятным, я конечно понимаю что вы прошариные люди в 1С но мне далековато до вас (((

Если далеко.....обратитесь к специалисту. Делов то.
tepliymv
Цитата(zetovich @ 09.04.10, 16:30) необходимо зарегистрироваться для просмотра ссылки
Если далеко.....обратитесь к специалисту. Делов то.


прикольное предложение, может я сам разобратся в этом хочю и всего навсего что мне надо что бы указали в каком направлении двигатся
Batchir
Правильно это скорее всего привести вашу нумерацию к какому-то шаблону (Если под размер выделяется 3 символа, то это должно относиться ко всей номенклатуре, даже если у неё размера нет) и использовать для неё поле "артикул".
А уже перезаполнеие имеющейся номенклатуры руками, силами программиста или другими спосабами - Вам решать.
tepliymv
Цитата(Batchir @ 09.04.10, 18:06) необходимо зарегистрироваться для просмотра ссылки
Правильно это скорее всего привести вашу нумерацию к какому-то шаблону (Если под размер выделяется 3 символа, то это должно относиться ко всей номенклатуре, даже если у неё размера нет) и использовать для неё поле "артикул".
А уже перезаполнеие имеющейся номенклатуры руками, силами программиста или другими спосабами - Вам решать.


а разве сортировщик адекватный написать очень сложно? я просто толком специфики языка 1С не догоняю и сужу по нормальным языкам программирования типа С , там это реализовать на раз два, разве в 1с так нельзя?
Ardi
А напиши на С всё остальное на раз два.
Если слабо, то тогда они все не нормальные, одна только 1с-ка на высоте.
Vond
Цитата(tepliymv @ 09.04.10, 18:18) необходимо зарегистрироваться для просмотра ссылки
а разве сортировщик адекватный написать очень сложно? я просто толком специфики языка 1С не догоняю и сужу по нормальным языкам программирования типа С , там это реализовать на раз два, разве в 1с так нельзя?


Арди-шутник, и очень любит 1С smile.gif Патриодинэсник просто

А по вопросу то для вас самая здоровая альтернатива:
- пригласить помощь со стороны для написания обработки: перенос кодов номенклатуры в реквизит "артикул" - он для таких сложных кодов и предназначен, и в системе описание для него= Артикул. Текстовое значение, используется в печатных формах документов. Другими словами не придется дорабатывать печатные формы документов чтоб туда вывести реквизит "код"
- провести перенумерацию элементов справочника номенклатуры, чтоб код соответствовал правильному формату: 00000ХХХ
- не лишним будет сделать внутрений реглаент формирование значения артикула, чтоб облегчить работы сортировки в формах выбора и форме справочника. Например в вашем случае 0ЧЧ ССС (ч-число, с-символ)

Краткое резюме - тут и так дали много советов: zetovich посоветовал к кому обратиться и указал путь куда двигаться. Batchir повторил идею о формате внутренних кодов и еще раз указал на реквизит "артикул".

И по-моему - уж если вы хороший кодер на С, как заявляете, очевидные вещи вам не надо будет объяснять. Алгоритм - это как бы слово на уровне ДНК у всех ИТ-шников, строение и синтаксис современных языков программирования схож: print echo printf сообщить - один ХХХ. Читая хелп в 1С, смотря в код на русском языке - так можно многое понять, но решать суровые вопросы в рабочие будни аматору это самолюбивая ересь. Скептически отношусь к фразе что В С# НА РАЗ ДВА, скорее всего содрали подслушав беседы админов. Специалист ожидая умные ответы задает правильные вопросы, и читает ответ вдумчиво. Вам же, юноша, приходится разжовывать до "детского" уровня детализации. Стыдись, Белое Перо.
Ardi
+
Чтите заветы Кевина Митника.
Взламывать компьютерные сети можно и ртом.
А не хакерить месяцами.

Точно также и решать задачи по автоматизации можно с помощью большой железной линейки.
Batchir
Цитата(tepliymv @ 09.04.10, 17:18) необходимо зарегистрироваться для просмотра ссылки
а разве сортировщик адекватный написать очень сложно? я просто толком специфики языка 1С не догоняю и сужу по нормальным языкам программирования типа С , там это реализовать на раз два, разве в 1с так нельзя?

А сортировщик писать можно, но он должен сортировать адекватную информацию и знать как сортировать. Если внутренний код составлен по шаблону то и алгоритм сортировки можно реализовывать без проблем. Но если внутрениий код хаотичный, то мне кажется что и на С# написать "адекватный" будет не на раз два. Тут тогда присутствуют элементы искуственного интелекта, т.к. алгоритм должен распознать введенную пользователем абракадабру и должен пеместить её в нужное место.

ИМХО. Поэтому то что Вам предложили это наиболее простой и наиболее правильный способ.
Fynjy
Цитата(Batchir @ 10.04.10, 8:23) необходимо зарегистрироваться для просмотра ссылки
А сортировщик писать можно, но он должен сортировать адекватную информацию и знать как сортировать. Если внутренний код составлен по шаблону то и алгоритм сортировки можно реализовывать без проблем. Но если внутрениий код хаотичный, то мне кажется что и на С# написать "адекватный" будет не на раз два. Тут тогда присутствуют элементы искуственного интелекта, т.к. алгоритм должен распознать введенную пользователем абракадабру и должен пеместить её в нужное место.

ИМХО. Поэтому то что Вам предложили это наиболее простой и наиболее правильный способ.

Я думаю чел в сях не шарит ... Давно бы нарисовал бы сом библиотеку с функцией сортировки ...
tepliymv
Цитата(Fynjy @ 10.04.10, 12:57) необходимо зарегистрироваться для просмотра ссылки
Я думаю чел в сях не шарит ... Давно бы нарисовал бы сом библиотеку с функцией сортировки ...


я не говорил что офигенно шарю в С, но сортировщик такого плана сделаю без проблем на С.

кстати если у кого есть нормальная литература по программированию 1С8 скиньте плиз
ri04misha@ukr.net
Vofka
Цитата
кстати если у кого есть нормальная литература по программированию 1С8 скиньте плиз
ri04misha@ukr.net

По форуму поищите
tepliymv
и так, подводи итог выше сказанного:
создание одыкватного сортировщика на 1С8 невозможна.
возможна реализация через артикул или внешния обработка.

если что не так понял - поправте smile.gif)
Vond
лениво поправлять, если вы читать не умеете
тема закрыта, диалог перешел в дурную полемику
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.