|
выбор каталога | ☑ | ||
---|---|---|---|---|
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
|
||||
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
|
ТС, ты кто по специальности?
Мне тут один товарищ втирал про то, что сейчас совсем не обязательно учиться на кого-то, достаточно бесплатных он-лайн курсов, форумов и т.д. Видимо, ТС тоже так считает. Блин, ну хоть какие-то основы программирования надо же освоить перед тем, как что-то подобное писать. Хоть немножко понять суть ООП и каких-нибудь азов программирования. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |