7.7 Как получить имя каталога?

Тема в разделе "Отчеты и обработки для "1С:Предприятие 7.7"", создана пользователем MyNameNoName, 17 фев 2015.

  1. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    Добрый день.
    Создал вот такую процедуру:
    Код:
    Процедура ВыбрКаталог(ИмяКаталогаЗагрузки)
        Если ФС.ВыбратьКаталог(ИмяКаталога,"Выберите каталог для загрузки",)=1 Тогда
            Каталог=ИмяКаталога;
        КонецЕсли;
    КонецПроцедуры 
    и привязал ее к кнопке. Но назначение текстовому полю пути к файлу не происходит. В чем ошибки? Почему ИмяКаталога- пустое значение?
    Спасибо.
    --- Объединение сообщений, 17 фев 2015 ---
    upload_2015-2-17_13-12-36.png

    upload_2015-2-17_13-13-2.png
  2. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    Непонятно, как делаете... Примерно так:
    Код:
    ИмяФайлаЗагрузки=СокрЛП(ВыбКаталог)+СокрЛП(ВыбФайл);
    Если ФС.СуществуетФайл(ИмяФайлаЗагрузки)=1 Тогда
         РазмерФайла=0; ДатаСоздания=0; ВремяСоздания=0;
         ФС.АтрибутыФайла(ИмяФайлаЗагрузки,РазмерФайла,,ВремяСоздания);       
         ТекстСостояния="создан "+ВремяСоздания+" ("+Окр(РазмерФайла/1024,1)+" кб)";
    Иначе
         ТекстСостояния="файла не существует";
    КонецЕсли;
    Посмотрите в прикрепленной обработке, возможно в ней реализовано нужное Вам

    Вложения:

    MyNameNoName нравится это.
  3. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Используйте ПриНачалеВыбораЗначения. Саму строку сделать недоступной для редактирования (так удобнее)

    Код:
    Процедура ПриНачалеВыбораЗначения(ИдентЭлемДиалога, ФлагСтандОбр)
       
        Если ИдентЭлемДиалога = "Каталог" Тогда
            ФлагСтандОбр = 0;  
           
            Если ФС.СуществуетФайл(Каталог+"\NUL")=1 Тогда
                Кат = Каталог;
            Иначе
                Кат = "C:\";
            КонецЕсли;
            ФС.ВыбратьКаталог(Кат,"Выбор каталога для вывода файла данных");
            Каталог = Кат;
        КонецЕсли;
       
    КонецПроцедуры // ПриНачалеВыбораЗначения()
    
    MyNameNoName нравится это.
  4. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    Прошу прощения, с 1С 7.7 приходится раз в пол года сталкиваться, но не получилось:
    ПриНачалеВыбораЗначения(ИдентЭлемДиалога<<?>>, ФлагСтандОбр)
    Переменная не определена (ИдентЭлемДиалога)
    ПриНачалеВыбораЗначения(ИдентЭлемДиалога, ФлагСтандОбр<<?>>)
    Переменная не определена (ФлагСтандОбр)
    Я данный код вот сюда привязал:
    upload_2015-2-18_10-12-45.png

    Как я понял тут нельзя в самой форме выбрать событие ПриНачалеВыбора, аналогично как в 1С8?
  5. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    Это предопределенная процедура. Из свойства кнопки уберите Формулу. Вам же просто вставить указанную выше процедуру нужно. Про кнопку можете что-то добавить в этой процедуре:
    Код:
    Если ИдентЭлемДиалога = "МояКнопка" Тогда
    КонецЕсли;
    Последнее редактирование: 18 фев 2015
    MyNameNoName нравится это.
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Вставьте код в вашу процедуру. Реквизит формы должен иметь имя "каталог" или поменяйте в процедуре на ваше имя.
    MyNameNoName нравится это.
  7. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    Ничего не происходит. Нажимаю, никак не реагирует
    upload_2015-2-18_12-17-26.png
    upload_2015-2-18_12-17-55.png
    upload_2015-2-18_12-18-17.png
    upload_2015-2-18_12-18-46.png
  8. TopicStarter Overlay
    MyNameNoName
    Offline

    MyNameNoName Опытный в 1С

    Регистрация:
    17 май 2013
    Сообщения:
    931
    Симпатии:
    0
    Баллы:
    26
    Данный код работает, не знаю почему до этого не работал:
    Код:
    Процедура ВыбрКаталог(ИмяКаталогаЗагрузки)
        Если ФС.ВыбратьКаталог(ИмяКаталога,"Выберите каталог для загрузки",)=1 Тогда
            Кат=ИмяКаталога;
        КонецЕсли;
        Каталог = Кат;
    КонецПроцедуры
    Тему можно закрывать.
    Спасибо.
    Последнее редактирование: 18 фев 2015
  9. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    не за что
    MyNameNoName нравится это.

Поделиться этой страницей