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



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

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


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

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

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

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

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

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

КонецЕсли;


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

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


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

КонецЕсли;

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

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

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


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

КонецЕсли;

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

                
                
          КонецЕсли;

          



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

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

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

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


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

        КонецЕсли;

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

                
                
    КонецЕсли;

          



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

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

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


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

        КонецЕсли;

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

                
                
    КонецЕсли;

          



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


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

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

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



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

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

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

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

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

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


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

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

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

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

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

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