Имя: Пароль:
1C
1C 7.7
v7: ФС в ПриОткрытии()
0 norbi
 
05.10.12
16:53
Процедура Сформировать()  
   ТабЗн = СоздатьОбъект("ТаблицаЗначений");
   ТабЗн.НоваяКолонка("Файл", "Строка");
   ФС.УстТекКаталог(КаталогИБ() + "Чертежи\");
   ИмяФайла = "*" + СокрЛП(Обозначение) + "*.pdf";
   НайденФайл = ФС.НайтиПервыйФайл(ИмяФайла);
   Пока НайденФайл <> "" Цикл
       ТабЗн.НоваяСтрока();
       ТабЗн.Файл = НайденФайл;
       НайденФайл = ФС.НайтиСледующийФайл();
   КонецЦикла;
   Если ТабЗн.КоличествоСтрок() = 0 Тогда
       Предупреждение("Файлов с заданной маской не найдено!");
       Возврат;
   КонецЕсли;
   
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("Таблица");
   Таб.ВывестиСекцию("Шапка");
   ТабЗн.ВыбратьСтроки();    
   Пока ТабЗн.ПолучитьСтроку() = 1 Цикл
       Длина = СтрДлина(СокрЛП(ТабЗн.Файл));
       ОбозначениеПеч = Лев(СокрЛП(ТабЗн.Файл), Длина - 4);
       Таб.ВывестиСекцию("Строка");
   КонецЦикла;
   Таб.Опции(0, 0, 1);
   Таб.ТолькоПросмотр(1);
   Таб.Показать("Список документов");
КонецПроцедуры


Висит на кнопке и работает правильно.



Перем Таб;
//*******************************************
Процедура Сформировать()  
   ТабЗн = СоздатьОбъект("ТаблицаЗначений");
   ТабЗн.НоваяКолонка("Файл", "Строка");
   ФС.УстТекКаталог(КаталогИБ() + "Чертежи\");  
   ИмяФайла = "*" + СокрЛП(Обозначение) + "*.pdf";
   НайденФайл = ФС.НайтиПервыйФайл(ИмяФайла);
   Пока НайденФайл <> "" Цикл
       ТабЗн.НоваяСтрока();
       ТабЗн.Файл = НайденФайл;
       НайденФайл = ФС.НайтиСледующийФайл();
   КонецЦикла;
   Если ТабЗн.КоличествоСтрок() = 0 Тогда
       Предупреждение("Файлов с заданной маской не найдено!");
       Форма.Закрыть(0);  
       Возврат;
   КонецЕсли;
   
   Таб.ИсходнаяТаблица("Таблица");
   Таб.ВывестиСекцию("Шапка");
   ТабЗн.ВыбратьСтроки();    
   Пока ТабЗн.ПолучитьСтроку() = 1 Цикл
       Длина = СтрДлина(СокрЛП(ТабЗн.Файл));
       ОбозначениеПеч = Лев(СокрЛП(ТабЗн.Файл), Длина - 4);
       Таб.ВывестиСекцию("Строка");
   КонецЦикла;  
   
   Таб.Показать("Список документов");
КонецПроцедуры
           

Процедура ПриОткрытии()
   Таб = Таблица;
   Таб.Опции(0, 0, 1);
   Таб.ТолькоПросмотр(1);
   Параметры = Форма.Параметр;
   Если ПустоеЗначение(Параметры) = 0 Тогда
       Ообозначение = Параметры;
       Сформировать();
   КонецЕсли;
КонецПроцедуры



Выбирает все файлы из каталога.

Подскажите в чем проблема может быть?
1 Ёпрст
 
гуру
05.10.12
16:58
Обозначение = "" вестимо.
2 norbi
 
05.10.12
17:09
нет, значение точно поступает
3 Ёпрст
 
гуру
05.10.12
17:11
(2) т.. как проверил ?
4 norbi
 
05.10.12
17:12
Сообщить(Обозначение)
5 norbi
 
05.10.12
17:17
хм, окей, перепроверил отладчик, и правда при вызове Сформировать() Обозначение=Ошибка выражения! ТОк не могу понять из-за чего может быть (Перем Таб, Обозначение;)
6 norbi
 
05.10.12
17:20
Все, проблема решилась - невнимательность Ообозначение конечно же не равно Обозначение...
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой