Имя: Пароль:
1C
1C 7.7
v7: Внешние печатные формы - сортировка?
,
0 Масянька
 
28.02.13
13:58
День добрый!
Подскажите, пожалуйста, как сортируются внешние печатные формы для док-та?
Имеется ввиду - те формы, которые лежат в PrnFrm, подключаются "Сервис" - "Регистрация внешних печатных форм".

Спасибо.
1 Злопчинский
 
28.02.13
13:59
по моему, никак. я у себя прикручивал сортировк, ща гляну
2 miki
 
28.02.13
13:59
По имени файла. Ваш кэп.
3 Масянька
 
28.02.13
14:00
(2) Похоже. А изменить можно?
4 miki
 
28.02.13
14:01
(3)Конечно. Добавь циферки по порядку, который нужен, в начало имени файла. :))
Ваш кэп.
5 Масянька
 
28.02.13
14:02
(4) Огромное человеческое спасибо!!!!!!
6 Злопчинский
 
28.02.13
14:03
(2) неправильно, садись, два!
7 Злопчинский
 
28.02.13
14:06
Какое НАЗВАНИЕ задашь для ДОБАВЛЕННОГО ФАЙЛА впф - так и посортируется.
т.е. файл может называться zayavka.ert, а в efd будет задано название = Артикульный счет
- вот по этому названию и отсортировывается.
.
так что имена файлов трогать не надо, достаточнов в списке подсоединенных ВПФ поправит НАЗВАНИЕ
8 Масянька
 
28.02.13
14:09
(7) Добавила цифирьку в имени файла - встало как надо :))))
Больше ничего не трогала.
9 miki
 
28.02.13
14:16
(7)Цитатко из типовой:
Функция глУстановкаКнопкиПечать(Конт, ВидОбъекта, ТаблицаПечФорм) Экспорт
   Перем Название, Кнопка;
   
   // Дополним таблицу печатных форм внешними обработками из предопределенного
   // каталога ExtForms\PrnForms
   Текст = СоздатьОбъект("Текст");
   ФайлОписания = ФС.НайтиПервыйФайл(глКаталогПечФорм+"*.efd");
   
   Пока ПустаяСтрока(ФайлОписания)=0 Цикл
       Текст.Открыть(глКаталогПечФорм+ФайлОписания);
       
       // Устанавливаем расширение
       Файл = Лев(ФайлОписания,СтрДлина(ФайлОписания) - 4) + "." + "ert";
       Если ФС.СуществуетФайл(глКаталогПечФорм + Файл) = 1 Тогда
               
           // Внешний файл, соответствующий файлу описания, найден.
           // Проверим, в нем что есть запись про текущий объект
           Если глНайтиВнешнююПечФорму(Текст, """" + ВидОбъекта + """", Название, Кнопка) = 1 Тогда
               
               // Добавляем строку в список внешних файлов
               ТаблицаПечФорм.НоваяСтрока();
               ТаблицаПечФорм.Название     = Название;
               ТаблицаПечФорм.Кнопка       = Кнопка;
               ТаблицаПечФорм.Файл         = Файл;
               ТаблицаПечФорм.ФайлОписания = (ФайлОписания);
               
           КонецЕсли;
           
       КонецЕсли;
       
       ФайлОписания = ФС.НайтиСледующийФайл();
       
   КонецЦикла;
                     
   НомерСтроки = глПолучитьТекущуюПечФорму(ВидОбъекта, ТаблицаПечФорм);
   Если НомерСтроки = 0 Тогда
       ЗагловокКнПечать = "Печать";
   Иначе
       ЗагловокКнПечать = ТаблицаПечФорм.ПолучитьЗначение(НомерСтроки, "Кнопка");
   КонецЕсли;
   Конт.Форма.кнПечать.Заголовок(ЗагловокКнПечать);
   
   Возврат НомерСтроки;
   
КонецФункции // глУстановкаКнопкиПечать()

Можно, конечно, и ТаблицаПечФорм отсортировать хоть по названию, хоть ещё как, но зачем искать трудный путь, когда есть лёгкий?
10 Злопчинский
 
28.02.13
14:21
(8) покажи содержимое парочки файлов efd и имена этих файлов.
ну и заодно код процедуры глУстановкаКнопкиПечать()
.
штатно там стоит
.
   //сортируем таблицу печ.форм по алфавиту названий форм
   //обеспечиваем, чтобы встроенная печ.форма была в списке первой
   Если ТаблицаПечФорм.КоличествоСтрок() = 0 Тогда
   Иначе
       ТаблицаПечФорм.ПолучитьСтрокуПоНомеру(1);
       Если  ПустоеЗначение(ТаблицаПечФорм.Файл) = 1
       Тогда ТаблицаПечФорм.Название = Симв(01)+ТаблицаПечФорм.Название;
       КонецЕсли;    
       ТаблицаПечФорм.Сортировать("Название,Кнопка,Файл");
       ТаблицаПечФорм.ПолучитьСтрокуПоНомеру(1);
       ТаблицаПечФорм.Название = СтрЗаменить(ТаблицаПечФорм.Название,Симв(1),"");
   КонецЕсли;
11 Злопчинский
 
28.02.13
14:23
(8) хм... может это я сам дописал в (10)...?
12 Злопчинский
 
28.02.13
14:25
(9) проблема в том, что некоторые печформы могут использоваться для нескольких документов и тогда цифирки в имени файла  для одного документа д.б. например 3. а для другого - 8..
.
интересно, ТС сообразит нумеровать формы с ведущими нулями в числах..?
13 Масянька
 
28.02.13
16:38
(12) Знаешь, я конечно извращенка, но все-таки не до такой степени - в (9) тебе популярно человек объяснил. Я тоже не понимаю, зачем как комсомольцы?
14 Злопчинский
 
28.02.13
16:42
(13) ну, в (13) я как бы тоже объяснил... и в (7) часть соображений есть... основное - когда название в ефд не совпадает с именем файла
.
впф я последнее время называю примерно так:
Документ#Реализация#еще куча уточнений
.
а пользовательское представление - восем другое - понятное для юзверя..
.
а так - ну вообщем да, зачем делать хорошо. работает как есть - ну и фиг с ним...
15 Злопчинский
 
28.02.13
16:43
(13) возьми у меня на Исе универсальную сортировку ТЧ любого документа и пристегни.. с номерком впереди... ;-0
16 Kreont
 
28.02.13
16:52
Есть еще кроме сортировки числами другие символы:)
_,__,___,-,--,---,итд
17 Злопчинский
 
28.02.13
16:57
(16) "а жена математика гооврит что есть еще и отрицательные чтисла!" ;-)
18 Mikeware
 
28.02.13
17:04
Вообще, весьма пользительно кэшировать при старте все печформы в одну ТЗ. Заодно избавляемся от лишнего шуршания по диску при открытии каждого дока, ну и разруливаем использование (разрешение) печформ  в зависимости от роли пользователя.. (точно так же, как построение  меню допвозможности через рвиджет и роли)
19 Злопчинский
 
01.03.13
18:09
(18) угу. все собираюсь такое сделать, но особой нужды в этом нет - оно и лежит на последнем уровне важности