Имя: Пароль:
1C
1С v8
Преобразование даты
0 Black Dragon
 
05.09.11
14:32
Доброго дня!

есть ли такая функция для преобразования даты из формата 1С8 в формат 1С77 для передачи в запрос 77?

Заранее с благодарностью!
1 Wobland
 
05.09.11
14:34
НачалоДня()? а для 77 обязательно преобразовывать?
2 Black Dragon
 
05.09.11
14:36
Видимо, не принимает 77 формат типа 01.01.2011 00:00:00
3 Wobland
 
05.09.11
14:37
(2) а что значит "видимо"?
//для справки: я с 77 не дружу
4 Black Dragon
 
05.09.11
14:39
у 77 дата была такого формата '01.01.2011'
у 8.х дата такая 01.01.2011 00:00:00
5 Black Dragon
 
05.09.11
14:40
в форме даже пробовал с составом даты экспериментировать, не помогло!
6 Black Dragon
 
05.09.11
14:41
НачДень = День(НачДата);
       НачМесяц = Месяц(НачДата);
       НачГод = Год(НачДата);
       НачДатаЗапроса = ''+Прав('00'+НачДень,2)+'.'+Прав('00'+НачМесяц,2)+'.'+НачГод;

тоже не прокатывает
7 Wobland
 
05.09.11
14:41
(4) ну.. не до такой степени не дружу ;)
ругается хоть как?
8 Evil-Wisp
 
05.09.11
14:42
Формат(Дата, "ДФ=dd.MM.YYYY")
9 Black Dragon
 
05.09.11
14:42
ожидается дата
10 Wobland
 
05.09.11
14:43
(8) это ж строка
11 KUBIK
 
05.09.11
14:44
Читай СП: Формат(НачДата, "ДЛФ=Д")
12 Black Dragon
 
05.09.11
14:59
01.01.YYYY
13 Black Dragon
 
05.09.11
14:59
это что такое?
14 Wobland
 
05.09.11
15:00
(12) ты где такое взял? %0О
15 Black Dragon
 
05.09.11
15:03
Запрос[2] : Ожидается дата перед '01.01'
(12) это функция Формат такое вернула ))
       Запрос = База.CreateObject("Запрос");
       НачДатаЗапроса = Формат(НачДата,"ДФ=dd.MM.YYYY");
       ТекстЗапроса = "
       | Период с " + НачДатаЗапроса + " по " + КонДата + ";
       | Обрабатывать НеПомеченныеНаУдаление;
       | ТекДок = Документ.ПлатежноеПоручение.ТекущийДокумент;
       | ДатаДок = Документ.ПлатежноеПоручение.ДатаДок;
       | НомерДок = Документ.ПлатежноеПоручение.НомерДок;
       | Группировка ТекДок;";
16 ДенисЧ
 
05.09.11
15:03
(15) в явном виде в текст вставляй
17 Black Dragon
 
05.09.11
15:04
Период с " + Строка(НачДатаЗапроса) + " по " + КонДата + "
типа так?
18 u2006
 
05.09.11
15:07
мЗапрос = "Период с '" + Формат (дОт , "ДЛФ=Д")+ "' по '"+Формат (дПо, "ДЛФ=Д")+ "';
       |ОбрабатыватьДокументы Все;
19 Black Dragon
 
05.09.11
15:19
ТекстЗапроса = "
       | Период с " + Формат(НачДата,"ДЛФ=Д") + " по " + Формат(КонДата,"ДЛФ=Д") + ";
       | Обрабатывать НеПомеченныеНаУдаление;
       | ТекДок = Документ.ПлатежноеПоручение.ТекущийДокумент;
       | ДатаДок = Документ.ПлатежноеПоручение.ДатаДок;
       | НомерДок = Документ.ПлатежноеПоручение.НомерДок;
       | Группировка ТекДок;";
       Если Запрос.Выполнить(ТекстЗапроса) Тогда


Ошибка при вызове метода контекста (Выполнить)
       Если Запрос.Выполнить(ТекстЗапроса) Тогда
по причине:
Произошла исключительная ситуация (1С:Предприятие):  Период с  <<?>> 01.01.2011 по 31.12.2011;
Запрос[2] : Ожидается дата перед '01.01'
20 Black Dragon
 
05.09.11
15:25
А вот так заработало:

       ТекстЗапроса = "
       | Период с '" + Формат(НачДата,"ДЛФ=Д") + "' по '" + Формат(КонДата,"ДЛФ=Д") + "';
       | Обрабатывать НеПомеченныеНаУдаление;
       | ТекДок = Документ.ПлатежноеПоручение.ТекущийДокумент;
       | ДатаДок = Документ.ПлатежноеПоручение.ДатаДок;
       | НомерДок = Документ.ПлатежноеПоручение.НомерДок;
       | Группировка ТекДок;";
       Если Запрос.Выполнить(ТекстЗапроса) Тогда
21 Black Dragon
 
05.09.11
15:34
тут одна интерсная вещь - сеанс в 77 после обработки висеть остается! может его, типа COM-объект нужно уничтожить? )))
22 u2006
 
05.09.11
15:44
(21) попробуй неопределенно присвоить
23 Black Dragon
 
05.09.11
15:48
типа База = Неопределено;

вот типа База.Close(); - говорит пашоль нафиг: метод объекта не обнаружен!
24 Black Dragon
 
05.09.11
15:50
(22) спасибо! работает!
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан