Имя: Пароль:
1C
1C 7.7
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) Какой релиз платформы?
По какому пути изначально проверял файл?