|
v7: Запись в TXT | ☑ | ||
---|---|---|---|---|
0
work92
07.07.14
✎
15:12
|
Подскажите почему в текстовый файл выводится последнее значение выборки а ни все.
Нужно вывести все значение выборки. Процедура Выполнить() ТекстДок = СоздатьОбъект("Текст"); ТекстДок.Открыть("catalog.txt"); ДокументБЛ=СоздатьОбъект("Документ.БольничныйЛист"); ДокументБЛ.Выбратьдокументы("01.01.2014","07.07.2014"); Пока ДокументБЛ.ПолучитьДокумент()=1 Цикл; Если ДокументБЛ.Проведен()=1 Тогда Если ДокументБЛ.Сотрудник=Сотрудник Тогда ДНЧ=ДокументБЛ.Начало; ДНК=ДокументБЛ.Окончание; Сообщить("Нач"+ДНЧ+"Кон"+ДНК); Строка10="Нач"+ДНЧ+"Кон"+ДНК; КонецЕсли; КонецЕсли; КонецЦикла; ТекстДок.ДобавитьСтроку(строка10); ТекстДок.Записать("catalog.txt"); ТекстДок.ТолькоПросмотр(1); ТекстДок.Показать(); КонецПроцедуры |
|||
1
ДенисЧ
07.07.14
✎
15:13
|
КонецЦикла;
ТекстДок.ДобавитьСтроку(строка10); Эти строчки местами поменяй |
|||
2
work92
07.07.14
✎
15:16
|
Тогда ничего не выводит в .txt
КонецЦикла; ТекстДок.ДобавитьСтроку(строка10); Эти строчки местами поменяй |
|||
3
Dolly_EV
07.07.14
✎
15:19
|
Не, тут все сложнее)))
Вот так напиши: Процедура Выполнить() ТекстДок = СоздатьОбъект("Текст"); ТекстДок.Открыть("catalog.txt"); ДокументБЛ=СоздатьОбъект("Документ.БольничныйЛист"); ДокументБЛ.Выбратьдокументы("01.01.2014","07.07.2014"); Пока ДокументБЛ.ПолучитьДокумент()=1 Цикл; Если ДокументБЛ.Проведен()=1 Тогда Если ДокументБЛ.Сотрудник=Сотрудник Тогда ДНЧ=ДокументБЛ.Начало; ДНК=ДокументБЛ.Окончание; Сообщить("Нач"+ДНЧ+"Кон"+ДНК); Строка10="Нач"+ДНЧ+"Кон"+ДНК; ТекстДок.ДобавитьСтроку(строка10); КонецЕсли; КонецЕсли; КонецЦикла; ТекстДок.Записать("catalog.txt"); ТекстДок.ТолькоПросмотр(1); ТекстДок.Показать(); КонецПроцедуры |
|||
4
PRO100 NigGaZ
07.07.14
✎
15:20
|
Пока ДокументБЛ.ПолучитьДокумент()=1 Цикл;
Если ДокументБЛ.Проведен()=1 Тогда Если ДокументБЛ.Сотрудник=Сотрудник Тогда ДНЧ=ДокументБЛ.Начало; ДНК=ДокументБЛ.Окончание; Сообщить("Нач"+ДНЧ+"Кон"+ДНК); Строка10="Нач"+ДНЧ+"Кон"+ДНК; ТекстДок.ДобавитьСтроку(строка10); КонецЕсли; КонецЕсли; КонецЦикла; |
|||
5
work92
07.07.14
✎
15:21
|
Также ничего не выводит в .txt
|
|||
6
work92
07.07.14
✎
15:24
|
Также ничего не выводит в .txt а в сообщении выбивает 6 строк
|
|||
7
vladko
07.07.14
✎
15:25
|
(6) покажи что теперь у тебя в тексте программы
|
|||
8
work92
07.07.14
✎
15:27
|
Сообщение Нач09.04.14Кон12.04.14
Нач12.04.14Кон21.04.14 Нач22.04.14Кон30.05.14 .TXT-------------пуст |
|||
9
work92
07.07.14
✎
15:27
|
//*******************************************
Процедура Выполнить() ТекстДок = СоздатьОбъект("Текст"); ТекстДок.Открыть("catalog.txt"); ДокументБЛ=СоздатьОбъект("Документ.БольничныйЛист"); ДокументБЛ.Выбратьдокументы("01.01.2014","07.07.2014"); Пока ДокументБЛ.ПолучитьДокумент()=1 Цикл; Если ДокументБЛ.Проведен()=1 Тогда Если ДокументБЛ.Сотрудник=Сотрудник Тогда ДНЧ=ДокументБЛ.Начало; ДНК=ДокументБЛ.Окончание; Сообщить("Нач"+ДНЧ+"Кон"+ДНК); Строка10="Нач"+ДНЧ+"Кон"+ДНК; ТекстДок.ДобавитьСтроку(строка10); КонецЕсли; КонецЕсли; КонецЦикла; ТекстДок.Записать("catalog.txt"); ТекстДок.ТолькоПросмотр(1); ТекстДок.Показать(); КонецПроцедуры |
|||
10
Dolly_EV
07.07.14
✎
15:28
|
Бинго!
ДокументБЛ.Выбратьдокументы('01.01.2014','07.07.2014'); |
|||
11
work92
07.07.14
✎
15:30
|
И в чем бинго
|
|||
12
Dolly_EV
07.07.14
✎
15:30
|
кавычки неправильные
|
|||
13
work92
07.07.14
✎
15:32
|
ДокументБЛ.Выбратьдокументы("01.01.2014","07.07.2014");
Кавычки стоят правильно |
|||
14
Dolly_EV
07.07.14
✎
15:33
|
Хотя в Сообщить чего-то выводит...
а так? ТекстДок.Показать("Мои больничные", "catalog.txt"); и как бэ catalog.txt где находится?? ему каталог не надо указывать? |
|||
15
Dolly_EV
07.07.14
✎
15:34
|
ВыбратьДокументы(<Дата1>,<Дата2>)
Назначение: Открыть выборку документов в интервале дат. Возвращает: 1 - если действие выполнено и в выборке есть хотя бы один документ; 0 - если действие не выполнено или в выборке нет ни одного документа. Параметры: <Дата1> - дата, документ или позиция начала выборки документов. Если данный параметр опущен, то выборка начинается с самого первого существующего в системе Дата! Константа даты в 77 берется в ОДИНАРНЫЕ кавычки, а ты передаешь строку |
|||
16
vladko
07.07.14
✎
15:35
|
(9) укажи папку в имени файла
например ТекстДок.Записать("C:\catalog.txt"); |
|||
17
Мигало
07.07.14
✎
15:35
|
Строку ТекстДок.ДобавитьСтроку(строка10);
Поставь сразу вслед за строкой Строка10="Нач"+ДНЧ+"Кон"+ДНК; |
|||
18
vladko
07.07.14
✎
15:38
|
(15) я проверял. Платформа сглатывает и текстовое представление даты в .выбратьДокументы
|
|||
19
work92
07.07.14
✎
15:40
|
Процедура Выполнить()
ТекстДок = СоздатьОбъект("Текст"); ТекстДок.Открыть("catalog.txt"); ДокументБЛ=СоздатьОбъект("Документ.БольничныйЛист"); ДокументБЛ.Выбратьдокументы(НачБЛ,КонБЛ); Пока ДокументБЛ.ПолучитьДокумент()=1 Цикл; Если ДокументБЛ.Проведен()=1 Тогда Если ДокументБЛ.Сотрудник=Сотрудник Тогда ДНЧ=ДокументБЛ.Начало; ДНК=ДокументБЛ.Окончание; Сообщить("Нач"+ДНЧ+"Кон"+ДНК); Строка10="Нач"+ДНЧ+"Кон"+ДНК; ТекстДок.ДобавитьСтроку(строка10); КонецЕсли; КонецЕсли; КонецЦикла; ТекстДок.Записать("C:\catalog.txt"); ТекстДок.ТолькоПросмотр(1); ТекстДок.Показать("Мои больничные", "catalog.txt"); КонецПроцедуры |
|||
20
work92
07.07.14
✎
15:41
|
Также ничего не выводит в .txt а в сообщении выбивает 3 строк
|
|||
21
Мигало
07.07.14
✎
15:43
|
ТекстДок.Открыть("catalog.txt");
Удали ка ... |
|||
22
vladko
07.07.14
✎
15:44
|
(20) тогда попробуй пока без
ТекстДок.Открыть("catalog.txt"); т.е. //ТекстДок.Открыть("catalog.txt"); Пусть в новый файл запишет. По-любому эти 3 больничных туда должны попасть |
|||
23
work92
07.07.14
✎
15:49
|
Да теперь попали СП
|
|||
24
StanLee
07.07.14
✎
15:49
|
на экран текст надо вывести, в Сообщить, прям по строкам..
|
|||
25
work92
07.07.14
✎
15:49
|
А как сделать чтобы с открыть было
|
|||
28
vladko
07.07.14
✎
16:04
|
(25) Держи:
Процедура Выполнить() ТекстДок = СоздатьОбъект("Текст"); ИмяФайла = КаталогИБ()+"\catalog.txt"; Если ФС.СуществуетФайл(ИмяФайла)=0 Тогда ТекстДок.Записать(ИмяФайла); КонецЕсли; ТекстДок.Открыть(ИмяФайла); ДокументБЛ=СоздатьОбъект("Документ.БольничныйЛист"); ДокументБЛ.Выбратьдокументы(НачБЛ,КонБЛ); Пока ДокументБЛ.ПолучитьДокумент()=1 Цикл; Если ДокументБЛ.Проведен()=1 Тогда Если ДокументБЛ.Сотрудник=Сотрудник Тогда ДНЧ=ДокументБЛ.Начало; ДНК=ДокументБЛ.Окончание; Сообщить("Нач"+ДНЧ+"Кон"+ДНК); Строка10="Нач"+ДНЧ+"Кон"+ДНК; ТекстДок.ДобавитьСтроку(строка10); КонецЕсли; КонецЕсли; КонецЦикла; ТекстДок.Записать("C:\catalog.txt"); ТекстДок.ТолькоПросмотр(1); ТекстДок.Показать("Мои больничные", "catalog.txt"); КонецПроцедуры |
|||
29
vladko
07.07.14
✎
16:05
|
Вот так поправлено
Процедура Выполнить() ТекстДок = СоздатьОбъект("Текст"); ИмяФайла = КаталогИБ()+"\catalog.txt"; Если ФС.СуществуетФайл(ИмяФайла)=0 Тогда ТекстДок.Записать(ИмяФайла); КонецЕсли; ТекстДок.Открыть(ИмяФайла); ДокументБЛ=СоздатьОбъект("Документ.БольничныйЛист"); ДокументБЛ.Выбратьдокументы(НачБЛ,КонБЛ); Пока ДокументБЛ.ПолучитьДокумент()=1 Цикл; Если ДокументБЛ.Проведен()=1 Тогда Если ДокументБЛ.Сотрудник=Сотрудник Тогда ДНЧ=ДокументБЛ.Начало; ДНК=ДокументБЛ.Окончание; Сообщить("Нач"+ДНЧ+"Кон"+ДНК); Строка10="Нач"+ДНЧ+"Кон"+ДНК; ТекстДок.ДобавитьСтроку(строка10); КонецЕсли; КонецЕсли; КонецЦикла; ТекстДок.Записать(ИмяФайла); Предупреждение("файл "+ИмяФайла+" записан") КонецПроцедуры |
|||
30
aqua80
08.07.14
✎
00:23
|
(0) Какой релиз платформы?
По какому пути изначально проверял файл? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |