Вход | Регистрация


1С:Предприятие ::

Метки: 

выбор каталога

Я
   Droning
 
09.06.18 - 10:27
Доброго времени суток, такой вот вопрос-  как добавить выбор каталога с выбором тхт файла, в который будет сохраняться лог?
 
 
   Droning
 
1 - 09.06.18 - 10:27
Процедура ВывестиЛогДобавленийИИзменений()
    
    
ТекстовыйФайл = Новый ТекстовыйДокумент;



    Если ГлобальнаяСтруктураВывода.Свойство("ИзмененныеКонтрагенты") Тогда
        
    
    
    Для Каждого ЭлементМассива из ЛогМассивИнформация Цикл
        
        ТекстовыйФайл.ДобавитьСтроку("" + СокрЛП(ТекущаяДата()) + " " + ЭлементМассива.СтатусСостояния + " контрагент: " + ЭлементМассива.ОбъектСинх);
        
    КонецЦикла;
    
    ТекстовыйФайл.ДобавитьСтроку("Всего создано: " +  ЛогМассивИнформация.Количество() + " контрагентов");
    КонецЕсли;
     

    Если ГлобальнаяСтруктураВывода.Свойство("ИзмененныеСчета") Тогда
    
    Для Каждого ЭлементМассива из ЛогМассивИнформация  Цикл
        
        ТекстовыйФайл.ДобавитьСтроку("" + СокрЛП(ТекущаяДата()) + " " + ЭлементМассива.СтатусСостояния + " Счёт: " + ЭлементМассива.ОбъектСинх);
        
    КонецЦикла;
    
    ТекстовыйФайл.ДобавитьСтроку("Всего создано: " + ЛогМассивИнформация.Количество() + " Счетов");
    
     КонецЕсли;


    Если ГлобальнаяСтруктураВывода.Свойство("ИзмененныеРеализации") Тогда
    
    Для Каждого ЭлементМассива из ЛогМассивИнформация  Цикл
        
        ТекстовыйФайл.ДобавитьСтроку("" + СокрЛП(ТекущаяДата()) + " " + ЭлементМассива.СтатусСостояния + " Реализация: " + ЭлементМассива.ОбъектСинх);
        
    КонецЦикла;
    
    ТекстовыйФайл.ДобавитьСтроку("Всего создано: " + ЛогМассивИнформация.Количество() + " Реализаций");
    

КонецЕсли;
   Droning
 
2 - 09.06.18 - 10:31
гугл привет меня примерно к такому вот коду, но как это применить я не очень понимаю...

СтандартнаяОбработка = Ложь;
    Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    Диалог.Заголовок = "Выбор файла";
    Диалог.Фильтр = "Excel файлы(*.xls;*.xlsx)|*.xls;*.xlsx";
    Диалог.ИндексФильтра = 0;
    Диалог.ПредварительныйПросмотр = Ложь;
    Диалог.ПроверятьСуществованиеФайла = Истина;
    Диалог.МножественныйВыбор = Ложь; 
    Диалог.ПолноеИмяФайла = ПутьКФайлу;
    
    Если Диалог.Выбрать() Тогда
        ПутьКФайлу = Диалог.ПолноеИмяФайла;
    КонецЕсли;
   shuhard
 
3 - 09.06.18 - 10:46
(2) а что конкретно не понятно ?
   Ненавижу 1С
 
4 - 09.06.18 - 10:49
РежимДиалогаВыбораФайла.ВыборКаталога
   Droning
 
5 - 09.06.18 - 10:51
конкретно не понятно как процедура увидит в какой именно файл надо записывать. ведь у меня написана всего одна строка...

ТекстовыйФайл = Новый ТекстовыйДокумент;

как подцепить этот ТекстовыйФайл к коду выбора каталога
   Ненавижу 1С
 
6 - 09.06.18 - 10:53
   shuhard
 
7 - 09.06.18 - 10:53
(5) ну ты же собираешь свой документ куда то записывать ?
   Droning
 
8 - 09.06.18 - 11:05
по этой ссылке был, и по многим другим тоже. не очень понятно как будет информация записываться именно в выбранный пользователем файл. какойв механизм ассоциации результата выбора в диалоге и строки ТекстовыйФайл = Новый ТекстовыйДокумент;
   Droning
 
9 - 09.06.18 - 11:06
Процедура ВывестиЛогДобавленийИИзменений()
    
    
ТекстовыйФайл = Новый ТекстовыйДокумент;
//Открываем диалог выбора файла для записи

        СохранениеФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
        СохранениеФайла.Заголовок = НСтр(«ru = ‘Сохранить файл'»);
        СохранениеФайла.Фильтр = НСтр(«ru = ‘Все файлы (*.txt)|*.txt'»);
  
        Если СохранениеФайла.Выбрать() Тогда
                  Текст = Новый ЗаписьТекста;
                Текст.Открыть(СохранениеФайла.ПолноеИмяФайла,КодировкаТекста.ANSI);
                Текст.ЗаписатьСтроку(«Программируем в 1С 8.2»);
                Текст.Закрыть();
          КонецЕсли;

          Диалог = новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
Диалог.Фильтр = "Текстовый документ, *.txt|*.txt";
Диалог.МножественныйВыбор=Ложь;
Если Диалог.Выбрать() Тогда
ИмяФайла = Диалог.ПолноеИмяФайла;

КонецЕсли;


    Если ГлобальнаяСтруктураВывода.Свойство("ИзмененныеКонтрагенты") Тогда
        
    
    
    Для Каждого ЭлементМассива из ЛогМассивИнформация Цикл
        
        ТекстовыйФайл.ДобавитьСтроку("" + СокрЛП(ТекущаяДата()) + " " + ЭлементМассива.СтатусСостояния + " контрагент: " + ЭлементМассива.ОбъектСинх);
        
    КонецЦикла;
    
    ТекстовыйФайл.ДобавитьСтроку("Всего создано: " +  ЛогМассивИнформация.Количество() + " контрагентов");
    КонецЕсли;
     

    Если ГлобальнаяСтруктураВывода.Свойство("ИзмененныеСчета") Тогда
    
    Для Каждого ЭлементМассива из ЛогМассивИнформация  Цикл
        
        ТекстовыйФайл.ДобавитьСтроку("" + СокрЛП(ТекущаяДата()) + " " + ЭлементМассива.СтатусСостояния + " Счёт: " + ЭлементМассива.ОбъектСинх);
        
    КонецЦикла;
    
    ТекстовыйФайл.ДобавитьСтроку("Всего создано: " + ЛогМассивИнформация.Количество() + " Счетов");
    
     КонецЕсли;


    Если ГлобальнаяСтруктураВывода.Свойство("ИзмененныеРеализации") Тогда
    
    Для Каждого ЭлементМассива из ЛогМассивИнформация  Цикл
        
        ТекстовыйФайл.ДобавитьСтроку("" + СокрЛП(ТекущаяДата()) + " " + ЭлементМассива.СтатусСостояния + " Реализация: " + ЭлементМассива.ОбъектСинх);
        
    КонецЦикла;
    
    ТекстовыйФайл.ДобавитьСтроку("Всего создано: " + ЛогМассивИнформация.Количество() + " Реализаций");
    

КонецЕсли;

    ТекстовыйФайл.Записать();
        
КонецПроцедуры
   igorPetrov
 
10 - 09.06.18 - 11:08
(8) Ты сам понимаешь, что несешь?
 
 
   Droning
 
11 - 09.06.18 - 11:08
последний код случайно отправил, щас переделаю
   shuhard
 
12 - 09.06.18 - 11:10
(8) шёл бы ты в депутаты, там за пиз.дёж платят
   igorPetrov
 
13 - 09.06.18 - 11:11
У таких как ТС, клиповое сознание, он только кусками может, что то понять, а в целом картину охватить не в  состоянии.
   Droning
 
14 - 09.06.18 - 11:12
Процедура ВывестиЛогДобавленийИИзменений()
    
    

        СохранениеФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
        СохранениеФайла.Заголовок = НСтр(«ru = ‘Сохранить файл лога'»);
        СохранениеФайла.Фильтр = НСтр(«ru = ‘Все файлы (*.txt)|*.txt'»);
  
        Если СохранениеФайла.Выбрать() Тогда
            
                 ТекстовыйФайл = Новый ТекстовыйДокумент;
                 
                 
Если ГлобальнаяСтруктураВывода.Свойство("ИзмененныеКонтрагенты") Тогда
        
    
    
    Для Каждого ЭлементМассива из ЛогМассивИнформация Цикл
        
        ТекстовыйФайл.ДобавитьСтроку("" + СокрЛП(ТекущаяДата()) + " " + ЭлементМассива.СтатусСостояния + " контрагент: " + ЭлементМассива.ОбъектСинх);
        
    КонецЦикла;
    
    ТекстовыйФайл.ДобавитьСтроку("Всего создано: " +  ЛогМассивИнформация.Количество() + " контрагентов");
    КонецЕсли;
     

    Если ГлобальнаяСтруктураВывода.Свойство("ИзмененныеСчета") Тогда
    
    Для Каждого ЭлементМассива из ЛогМассивИнформация  Цикл
        
        ТекстовыйФайл.ДобавитьСтроку("" + СокрЛП(ТекущаяДата()) + " " + ЭлементМассива.СтатусСостояния + " Счёт: " + ЭлементМассива.ОбъектСинх);
        
    КонецЦикла;
    
    ТекстовыйФайл.ДобавитьСтроку("Всего создано: " + ЛогМассивИнформация.Количество() + " Счетов");
    
     КонецЕсли;


    Если ГлобальнаяСтруктураВывода.Свойство("ИзмененныеРеализации") Тогда
    
    Для Каждого ЭлементМассива из ЛогМассивИнформация  Цикл
        
        ТекстовыйФайл.ДобавитьСтроку("" + СокрЛП(ТекущаяДата()) + " " + ЭлементМассива.СтатусСостояния + " Реализация: " + ЭлементМассива.ОбъектСинх);
        
    КонецЦикла;
    
    ТекстовыйФайл.ДобавитьСтроку("Всего создано: " + ЛогМассивИнформация.Количество() + " Реализаций");
    

КонецЕсли;

    ТекстовыйФайл.Записать();

                
                
          КонецЕсли;

          



            
КонецПроцедуры
   hhhh
 
15 - 09.06.18 - 11:13
(13) чего и дронинга ливингстар покусал?

не работает фильтр диалога выбора файлов
   Droning
 
16 - 09.06.18 - 11:13
igorPetrov, ну ты то молодец, у тебя то разум светлый, так помоги сформировать нормальное мышление, а не оскорбляй.
   Droning
 
17 - 09.06.18 - 11:19
в последнем коде есть зачатки логики? на что обратить внимание?
   hhhh
 
18 - 09.06.18 - 11:23
(17) выровнять всё покрасивее, а то невозможно в него вчитаться.
   igorPetrov
 
19 - 09.06.18 - 11:28
(17) нет
   igorPetrov
 
20 - 09.06.18 - 11:28
(18) зачем ровнять, то что выкидывать?
   Droning
 
21 - 09.06.18 - 11:31
Процедура ВывестиЛогДобавленийИИзменений()
    
    

        СохранениеФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
        СохранениеФайла.Заголовок = НСтр(«ru = ‘Сохранить файл лога'»);
        СохранениеФайла.Фильтр = НСтр(«ru = ‘Все файлы (*.txt)|*.txt'»);
        
        ТекстовыйФайл = Новый ТекстовыйДокумент;
  
    Если СохранениеФайла.Выбрать() Тогда
                 
        ТекстовыйФайл = Новый ТекстовыйДокумент;
        
        
                Если ГлобальнаяСтруктураВывода.Свойство("ИзмененныеКонтрагенты") Тогда
        
                             Для Каждого ЭлементМассива из ЛогМассивИнформация Цикл
        
                                ТекстовыйФайл.ДобавитьСтроку("" + СокрЛП(ТекущаяДата()) + " " + ЭлементМассива.СтатусСостояния + " контрагент: " + ЭлементМассива.ОбъектСинх);
        
                            КонецЦикла;
    
                    ТекстовыйФайл.ДобавитьСтроку("Всего создано: " +  ЛогМассивИнформация.Количество() + " контрагентов");
            
        КонецЕсли;
     

            Если ГлобальнаяСтруктураВывода.Свойство("ИзмененныеСчета") Тогда
    
                            Для Каждого ЭлементМассива из ЛогМассивИнформация  Цикл
        
                                ТекстовыйФайл.ДобавитьСтроку("" + СокрЛП(ТекущаяДата()) + " " + ЭлементМассива.СтатусСостояния + " Счёт: " + ЭлементМассива.ОбъектСинх);
        
                            КонецЦикла;
    
                    ТекстовыйФайл.ДобавитьСтроку("Всего создано: " + ЛогМассивИнформация.Количество() + " Счетов");
    
         КонецЕсли;


        Если ГлобальнаяСтруктураВывода.Свойство("ИзмененныеРеализации") Тогда
    
                            Для Каждого ЭлементМассива из ЛогМассивИнформация  Цикл
        
                                ТекстовыйФайл.ДобавитьСтроку("" + СокрЛП(ТекущаяДата()) + " " + ЭлементМассива.СтатусСостояния + " Реализация: " + ЭлементМассива.ОбъектСинх);
        
                            КонецЦикла;
    
                    ТекстовыйФайл.ДобавитьСтроку("Всего создано: " + ЛогМассивИнформация.Количество() + " Реализаций");
    

        КонецЕсли;

    ТекстовыйФайл.Записать();

                
                
    КонецЕсли;

          



            
КонецПроцедуры
   hhhh
 
22 - 09.06.18 - 11:31
(20) ну невозможно понять, чего там. Ну хотя бы лесенкой как-то расположить
   igorPetrov
 
23 - 09.06.18 - 11:34
(21) СП украли или читать не умеешь?
   igorPetrov
 
24 - 09.06.18 - 11:34
(22) легче?
   hhhh
 
25 - 09.06.18 - 11:35
(21) вы сделайте две процедуры: выбор имени файла отдельно, Вывести лог отдельно.
   Droning
 
26 - 09.06.18 - 11:45
igorPetrov ты чего такой распальцованный то? тебя кто-то обидел или как-то сокорбил? Я только на старте и хочу учиться. Это нормально, что я могу делать глупые ошибки на данном этапе.
   igorPetrov
 
27 - 09.06.18 - 11:57
(26) Можешь, но не нужно гордиться этим. Нужно просто читать документацию, понимать и только потом спрашивать.
   Droning
 
28 - 09.06.18 - 12:29
гордость аш распирает)
   Droning
 
29 - 09.06.18 - 12:37
Процедура ВывестиЛогДобавленийИИзменений()
    
        ВыборФайлаЛога();    

        
        ТекстовыйФайл = Новый ТекстовыйДокумент;
  
    Если СохранениеФайла.Выбрать() Тогда
                 
        ТекстовыйФайл = Новый ТекстовыйДокумент;
        
        
                Если ГлобальнаяСтруктураВывода.Свойство("ИзмененныеКонтрагенты") Тогда
        
                             Для Каждого ЭлементМассива из ЛогМассивИнформация Цикл
        
                                ТекстовыйФайл.ДобавитьСтроку("" + СокрЛП(ТекущаяДата()) + " " + ЭлементМассива.СтатусСостояния + " контрагент: " + ЭлементМассива.ОбъектСинх);
        
                            КонецЦикла;
    
                    ТекстовыйФайл.ДобавитьСтроку("Всего создано: " +  ЛогМассивИнформация.Количество() + " контрагентов");
            
        КонецЕсли;
     

            Если ГлобальнаяСтруктураВывода.Свойство("ИзмененныеСчета") Тогда
    
                            Для Каждого ЭлементМассива из ЛогМассивИнформация  Цикл
        
                                ТекстовыйФайл.ДобавитьСтроку("" + СокрЛП(ТекущаяДата()) + " " + ЭлементМассива.СтатусСостояния + " Счёт: " + ЭлементМассива.ОбъектСинх);
        
                            КонецЦикла;
    
                    ТекстовыйФайл.ДобавитьСтроку("Всего создано: " + ЛогМассивИнформация.Количество() + " Счетов");
    
         КонецЕсли;


        Если ГлобальнаяСтруктураВывода.Свойство("ИзмененныеРеализации") Тогда
    
                            Для Каждого ЭлементМассива из ЛогМассивИнформация  Цикл
        
                                ТекстовыйФайл.ДобавитьСтроку("" + СокрЛП(ТекущаяДата()) + " " + ЭлементМассива.СтатусСостояния + " Реализация: " + ЭлементМассива.ОбъектСинх);
        
                            КонецЦикла;
    
                    ТекстовыйФайл.ДобавитьСтроку("Всего создано: " + ЛогМассивИнформация.Количество() + " Реализаций");
    

        КонецЕсли;

    ТекстовыйФайл.Записать();

                
                
    КонецЕсли;

          



            
КонецПроцедуры


Процедура ВыборФайлаЛога()
    
    

        Режим = РежимДиалогаВыбораФайла.ВыборКаталога; 
ДиалогОткрытия = Новый ДиалогВыбораФайла(Режим); 
ДиалогОткрытия.Каталог = ""; 
ДиалогОткрытия.МножественныйВыбор = Ложь; 
ДиалогОткрытия.Заголовок = "Выберите каталог"; 

Если ДиалогОткрытия.Выбрать() Тогда 
    ПутьККаталогу = ДиалогОткрытия.Каталог; 
КонецЕсли; 
    
    



            
КонецПроцедуры
   Droning
 
30 - 09.06.18 - 12:39
hhhh, типо того? обхясните, пожалуйста, что происходит, когда пользователь выбирает каталог? насколько я понимаю, пользователь выбирает каталог, нажимает окей, и в этом каталоге создается новый файл с именем ТекстовыйФайл, в который в итоге записывается Лог. так?
   Droning
 
31 - 09.06.18 - 12:44
или режим надо указывать на Сохранение, а не на ВыборКаталога?
   hhhh
 
32 - 09.06.18 - 13:10
(30) ну вы же сами написали в (2)
   Если Диалог.Выбрать() Тогда
        ПутьКФайлу = Диалог.ПолноеИмяФайла;
    КонецЕсли;

после того как пользователь выбирает путь к файлу, этот путь записывается в переменную или в реквизит какой-то. Вот

        ПутьКФайлу = Диалог.ПолноеИмяФайла;

теперь у вас в реквизите ПутьКФайлу находится этот путь.

больше ничего не делается.
   Droning
 
33 - 09.06.18 - 13:33
и     ТекстовыйФайл.Записать();   запишет лог в  ПутьКФайлу  ?


или нужно дописать еще какой-то окд. я просто не понимаю сам процесс. вот есть у нас теперь ПутьКФайлу. как процедура видит куда именно записывать ТекстовыйФайл?
 
  Рекламное место пустует
   hhhh
 
34 - 09.06.18 - 13:43
(33) там может у вас в программе 70 переменных

ПутьКФайлу1, ПутьКФайлу2, ..., ПутьКФайлу70, ИмяФайла1, ИмяФайла2 и так далее.

Поэтому ТекстовыйФайл с ходу не сможет разобраться. У него мозгов нет. От слова совсем.
   hhhh
 
35 - 09.06.18 - 13:45
(33) Попробуйте офигительный метод. НО только строго по секрету:

ТекстовыйФайл.Записать(ПутьКФайлу);
   Droning
 
36 - 09.06.18 - 13:49
А всего-то надо было в синтаксис помощнике посмотреть на свойство записать..... каюсь.. Спасибо огромное, hhhh!
   lubitelxml
 
37 - 09.06.18 - 13:50
(35) блин, а я только за попкорном сходил )
   Droning
 
38 - 09.06.18 - 13:51
lubitelxml приятного)
   Мигрень
 
39 - 09.06.18 - 14:00
не получится. ТС выбирает каталог, а не файл. Файл в каталог не запишешь.
   Мигрень
 
40 - 09.06.18 - 14:03
(36) Ну все, теперь можно в команду программистов ЕРП (в т.ч. удаленно).
   igorPetrov
 
41 - 09.06.18 - 15:58
(36) Ппц!!!
   dezss
 
42 - 09.06.18 - 16:54
ТС, ты кто по специальности?

Мне тут один товарищ втирал про то, что сейчас совсем не обязательно учиться на кого-то, достаточно бесплатных он-лайн курсов, форумов и т.д.

Видимо, ТС тоже так считает. Блин, ну хоть какие-то основы программирования надо же освоить перед тем, как что-то подобное писать. Хоть немножко понять суть ООП и каких-нибудь азов программирования.



Список тем форума
Рекламное место пустует  
Прочитай, хотя бы, Митичкина "Разработка в системе 1С:Предприятие 8". Волшебник
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует