Имя: Пароль:
1C
1C 7.7
v7: УстановитьПараметрыКолонки не могу настроить ширину
0 РусскийВедун
 
08.04.13
11:34
Баян, но не могу настроить ширину номерстроки.
Док.ВыгрузитьТабличнуюЧасть(ТЗИзд,К"Наим,кол,Фиксировать,Зцена,Упаковка,Зсеб,Доставка,Кслож,Кмарк,цена,Сумма,кг,сумкг");    
ТЗИзд.ВидимостьКолонки("НомерСтроки",1);
ТЗИзд.УстановитьПараметрыКолонки("НомерСтроки",,,,"№",3,,);

сделал все как по учебнику и все равно пустой заголовок и ширина больше 3. Смотрел тут http://dev.mista.ru/topic.php?id=334185
1 РусскийВедун
 
08.04.13
11:36
2 пипец
 
08.04.13
12:39
форма.обновить(1) не ?
ЗЫ изменятьразмер для формы ?
3 РусскийВедун
 
08.04.13
13:11
(3) не помагает
4 KishMish
 
08.04.13
13:16
возможно это делается при открытии. там свои прибамбасы. попробуй сделать через ложное закрытие.
5 1Сергей
 
08.04.13
13:17
ТЗИзд - элемент формы?
6 РусскийВедун
 
08.04.13
13:20
(5) да, таблица значений. (4) что значит ложное закрытие?
7 Ёпрст
 
08.04.13
13:50
(0)
//ТЗИзд.ВидимостьКолонки("НомерСтроки",1);
ТЗИзд.УстановитьПараметрыКолонки(1,,,,"№",3,,);
8 Злопчинский
 
08.04.13
13:53
(7) стопудово прокатит? чегой-то у меня не получилось именно "номер строки" настроить...
9 пипец
 
08.04.13
13:54
номерстроки это системный зарезервированный реквизит
10 Ёпрст
 
08.04.13
14:00
(8) даже не сумневайся
11 РусскийВедун
 
08.04.13
14:01
(7)
ТЗИзд.УстановитьПараметрыКолонки(1,,,,"№",3,,);
первая колонка "Наим" она ее меняет.

Мне нужно дать заголовок номеру строки и ширину поменять.
12 Ёпрст
 
08.04.13
14:02
(11)
Док.ВыгрузитьТабличнуюЧасть(ТЗИзд,"НомерСтроки,Наим,кол,Фиксировать,Зцена,Упаковка,Зсеб,Доставка,Кслож,Кмарк,цена,Сумма,кг,сумкг");
13 РусскийВедун
 
08.04.13
14:05
(12) все равно "Наим" меняет.
Док.ВыгрузитьТабличнуюЧасть(ТЗИзд,"НомерСтроки,Наим,кол,Фиксировать,Зцена,Упаковка,Зсеб,Доставка,Кслож,Кмарк,цена,Сумма,кг,сумкг");
   //ТЗИзд.ВидимостьКолонки("НомерСтроки",1);
ТЗИзд.УстановитьПараметрыКолонки(1,,,,"№",3,,);
14 Cthulhu
 
08.04.13
14:08
А попробуй-ка "НомерСтрокиДокумента" вместо "НомерСтроки"...
15 Ёпрст
 
08.04.13
14:09
(13) Не верю.
Док.ВыгрузитьТабличнуюЧасть(ТЗИзд);
//ТЗИзд.ВидимостьКолонки("НомерСтроки",1);
ТЗИзд.УстановитьПараметрыКолонки(1,,,,"№",3,,);

//надеюсь, дальше кода никакого нет ?!
16 РусскийВедун
 
08.04.13
14:10
(14) номерстрокидокумента появляется только, если целиком все табличную часть выгрузить, а с явным указанием колонок не получается (мне нужно так).
17 РусскийВедун
 
08.04.13
14:11
(15) от (13) отличается явным указанием колонок.
18 Ёпрст
 
08.04.13
14:12
НомерСтрокиДокумента - нет такой колонки в табличной части документа (только если её спецом не задавать)

А так, всё работает
19 Ёпрст
 
08.04.13
14:12
(17) Это похрен - всё работает и с явным перечислением колонок.
Покажи весь код
20 РусскийВедун
 
08.04.13
14:16
это глобальные...
Процедура глХранилищеФорматироватьТаблицу(Хранилище,Таблица,показывать=0,кол)
   МДДок = Метаданные.Документ(Хранилище.Вид());
   Для а = 1 по МДДок.РеквизитТабличнойЧасти() цикл
       Рекв = МДДок.РеквизитТабличнойЧасти(а);
       // Анализ команд
       ИмяКолонки    = Рекв.Идентификатор;
       Кмд        = Рекв.Комментарий;
       Попытка
           
           
           Если (показывать=1) ТОгда
               Таблица.ВидимостьКолонки(ИмяКолонки,0);  
               Таблица.ВидимостьКолонки(кол,1);  
               //если имяколонки="НомерСтроки" тогда    
               //    Таблица.УстановитьПараметрыКолонки("НомерСтроки",,,,"№",50,,);
               //конецесли;
               если имяколонки="Наим" тогда    
                   Таблица.УстановитьПараметрыКолонки(ИмяКолонки,,,,,50,,);
               конецесли;
               //Пока 1 = 1 Цикл
               //    Поз = Найти(колп,",");
               //    Если Поз = 0  Тогда
               //        прервать;
               //    КонецЕсли;
               //    Команда = Лев(колп,Поз-1);
               //    колп = Сред(колп,Поз+1);
               //    // Обрабатываемые команды
               //    Если (Команда = имяколонки) тогда
               //        Таблица.ВидимостьКолонки(ИмяКолонки,1);
               //        прервать;
               //    КонецЕсли;  
               //КонецЦикла;    
           иначеесли показывать=0 Тогда
               Пока 1 = 1 Цикл
               Поз = Найти(Кмд,";");
               Если Поз = 0  Тогда
                   прервать;
               КонецЕсли;
               Команда = Лев(Кмд,Поз-1);
               Кмд = Сред(Кмд,Поз+1);
               // Обрабатываемые команды
               Если (Команда = "Скрыть") тогда
                   Таблица.ВидимостьКолонки(ИмяКолонки,0);
               ИначеЕсли Найти(Команда,"Ширина=") = 1 тогда
                   Таблица.УстановитьПараметрыКолонки(ИмяКолонки,,,,,Число(Сред(Команда,8)),,);    
               ИначеЕсли Команда = "Иконка" тогда
                   Таблица.ВыводитьПиктограммы(ИмяКолонки);
               КонецЕсли;  
           КонецЦикла;  
           Конецесли;
           Если ПустоеЗначение(Рекв.Синоним) = 0 Тогда
               Таблица.УстановитьПараметрыКолонки(ИмяКолонки,,,,Рекв.Синоним,,,);    
           КонецЕсли;  
           
                   
           
       Исключение
       КонецПопытки;
   КонецЦикла;  
   
КонецПроцедуры

Процедура глХранилищеОткрыть(Конт,Хранилище,Таблица,Колонки = "",НеВыгружать = 0) Экспорт
   Если (Конт.Выбран() = 0) и (НеВыгружать<>2) Тогда
       НеВыгружать = 1;
   Иначе
       НеВыгружать=0;
   КонецЕсли;
   Если ПустоеЗначение(Колонки)=0 Тогда
       показывать=1;
   иначе
       показывать=0;
   Конецесли;
   МДДок = Метаданные.Документ(Хранилище.Вид());
//    Если ПустоеЗначение(Колонки) = 1 тогда  
Колон="";
       Для а = 1 по МДДок.РеквизитТабличнойЧасти() цикл
           Рекв = МДДок.РеквизитТабличнойЧасти(а);
           Пропустить = 0;
           Кмд = Рекв.Комментарий;
           Пока 1 = 1 Цикл
               Поз = Найти(Кмд,";");
               Если Поз = 0  Тогда
                   прервать;
               КонецЕсли;
               Команда = Лев(Кмд,Поз-1);
               Кмд = Сред(Кмд,Поз+1);
               Если Команда = "Невыгружать" Тогда
                   Пропустить = 1;
               КонецЕсли;
           КонецЦикла;
           // Параметры колонки/реквизита
           Если Пропустить = 1 Тогда
               продолжить;
           КонецЕсли;
           ИмяКолонки = Рекв.Идентификатор;
           Тип        = Рекв.Тип;
           Если (Тип = "Справочник") ИЛИ (Тип = "Документ") Тогда
               Тип = Тип+"."+Рекв.Вид;
           КонецЕсли;
           Длина       = Рекв.Длина;
           Точность    = Рекв.Точность;
           Попытка
               Таблица.УстановитьПараметрыКолонки(ИмяКолонки,Тип,Длина,Точность,,,,);    
           Исключение
               Таблица.НоваяКолонка(ИмяКолонки,Тип,Длина,Точность,,,,);    
           КонецПопытки;      
           Колон = Колон + ?(ПустоеЗначение(Колон)=1,"",",")+ИмяКолонки;
       КонецЦикла;  
         
   //КонецЕсли;
   Если НеВыгружать = 0 Тогда
       Если ПустоеЗначение(Хранилище) = 0 тогда
           Док = СоздатьОбъект("Документ."+Хранилище.Вид());
           Если Док.НайтиДокумент(Хранилище)=1 тогда
           //    Если Док.КоличествоСтрок() > 0 тогда
                   Док.ВыгрузитьТабличнуюЧасть(Таблица,Колон);
           //    КонецЕсли;
           КонецЕсли;    
           Док = 0;
       КонецЕсли;
   КонецЕсли;
   глХранилищеФорматироватьТаблицу(Хранилище,Таблица,показывать,колонки);
КонецПроцедуры
а вот модуль..
глХранилищеОткрыть(Контекст,ХранилищеИзд,ТЗИзд,"НомерСтроки,Наим,кол,Фиксировать,Зцена,Упаковка,Зсеб,Доставка,Кслож,Кмарк,цена,Сумма,кг,сумкг"); ТЗИзд.УстановитьПараметрыКолонки(1,,,,"№",3,,);
21 Ёпрст
 
08.04.13
14:21
(20) А теперь всё это выкинь к едрени фени и напиши так:

ВыгрузитьТабличнуюЧасть(ТЗИзд,"НомерСтроки,Наим,кол,Фиксировать,Зцена,Упаковка,Зсеб,Доставка,Кслож,Кмарк,цена,Сумма,кг,сумкг");
ТЗИзд.УстановитьПараметрыКолонки(1,,,,"№",3,,);

наслаждайся
22 Cthulhu
 
08.04.13
14:25
(16): не только. ещё можно указать явно в списке колонок. или религия не позволяет?..
23 Cthulhu
 
08.04.13
14:26
(21): да, указывать "НомерСтроки", но идентификатор получается "НомерСтрокиДокумента" (у Ёпрста - по номеру, штоп нихто не догадался)))
24 Ёпрст
 
08.04.13
14:28
(23) ну, можно и по имени, не важно
25 Cthulhu
 
08.04.13
14:33
(24): ну, выходит, что важно - вон человек бодается с системной предопределенной колонкой "НомерСтроки", ширину которой нихрена не изменить, а при отображении возможны глюки со "съеданием" других колонок... в отличие от "НомерСтрокиДокумента" ;))
26 Ёпрст
 
08.04.13
14:40
ну ладно, уговорил:

ВыгрузитьТабличнуюЧасть(ТЗИзд,"НомерСтроки,Наим,кол,Фиксировать,Зцена,Упаковка,Зсеб,Доставка,Кслож,Кмарк,цена,Сумма,кг,сумкг");
ТЗИзд.УстановитьПараметрыКолонки("НомерСтрокиДокумента",,,,"№",3,,);