ДАТА по COM из 7.7 в 8.3

1. serq82 8 07.02.19 12:41 Сейчас в теме
подключаюсь с самописной 7.7 к БП 3.1
Параметры = "Srvr=""*******"";Ref=""*******"";Usr=""*******"";Pwd=""*******"";";
	
	V83 = СоздатьОбъект("V83.COMConnector"); 
    
	Попытка
		buh= V83.Connect(Параметры);
		Возврат;
	Исключение
		Предупреждение(ОписаниеОшибки());ы"
	КонецПопытки;
Показать

вообщем все замечательно, нахожу контрагентов по ИНН, номенклатуру по коду. если чего нет создаю, например контрагента по ИНН:
Контрагент = buh.Справочники.Контрагенты.НайтиПоРеквизиту("ИНН", ИНН);
	Если Контрагент.ИНН = "" Тогда
		НовыйКонтрагент = buh.Справочники.Контрагенты.СоздатьЭлемент();
		Если СтрДлина(ИНН) = 10 Тогда
			НовыйКонтрагент.ЮридическоеФизическоеЛицо = buh.Перечисления.ЮридическоеФизическоеЛицо.ЮридическоеЛицо;
			РеквизитыКонтрагента = buh.РаботаСКонтрагентами.РеквизитыЮридическогоЛицаПоИНН(ИНН);
		ИначеЕсли СтрДлина(ИНН) = 12 Тогда
			НовыйКонтрагент.ЮридическоеФизическоеЛицо = buh.Перечисления.ЮридическоеФизическоеЛицо.ФизическоеЛицо;
			РеквизитыКонтрагента = buh.РаботаСКонтрагентами.РеквизитыПредпринимателяПоИНН(ИНН);
		КонецЕсли;
		buh.ЗаполнитьЗначенияСвойств(НовыйКонтрагент, РеквизитыКонтрагента);
		Попытка
			НовыйКонтрагент.Записать();
		Исключение
			Сообщить(ОписаниеОшибки());
		КонецПопытки;
Показать

вообщем все хорошо, и документ проводится с движениями
ДокументРеализации.Записать(buh.РежимЗаписиДокумента.Проведение);

но когда дошло дело до дат ничего сделать не могу buh.ДАТА или buh.Date не работает (Поле агрегатного объекта не обнаружено Дата или Date), buh.НачалоДня и buh.КонецДня тоже не работает (Поле агрегатного объекта не обнаружено)
пробовал buh.ValueToStringInternal получаю {"D","20190205000000"}
никак не пойму как работать с датой+время в 7.7, сейчас интересует в запросе
Запрос = buh.NewObject("Запрос");
установить
Запрос.УстановитьПараметр("Дата1", buh.НачалоДня(ДатаДок));
	Запрос.УстановитьПараметр("Дата2", buh.КонецДня(ДатаДок));

ну и вообще интересует как 8 кормить из 7.7 дату со временем и почему buh.РежимЗаписиДокумента.Проведение работает, а buh.НачалоДня(ДатаДок) не работает???
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
15. acanta 08.02.19 15:58 Сейчас в теме
(1)
ну и вообще интересует как 8 кормить из 7.7 дату со временем и почему buh.РежимЗаписиДокумента.Проведение работает, а buh.НачалоДня(ДатаДок) не работает???


Не знаю как сейчас, но было так примерно:
buh.EvalExpr("НачалоДня("+апостроф+ДатаДок+апостроф+")"")
2. oleg-x 26 07.02.19 14:01 Сейчас в теме
Запрос.УстановитьПараметр("Дата1", НачалоДня(ДатаДок));
Запрос.УстановитьПараметр("Дата2", КонецДня(ДатаДок));

Попробуй так, не понятно зачем эта приставка buh.
5. serq82 8 07.02.19 16:01 Сейчас в теме
(2)НачалоДня нет в 7.7, по buh это com соединение
3. DenisCh 07.02.19 14:36 Сейчас в теме
Попробуй строкой, через формат
6. serq82 8 07.02.19 16:01 Сейчас в теме
(3)Поле агрегатного объекта не обнаружено Дата
4. kumi2012 103 07.02.19 14:44 Сейчас в теме
Попробуй работоспособность функции buh.Дата(Год, Месяц, День, Час, Минута, Секунда).
7. oleg-x 26 07.02.19 16:16 Сейчас в теме
Тогда как в 4 пробуйте, так как дата преобразуется в строку.
8. acanta 07.02.19 16:30 Сейчас в теме
Дата и время кавычка двойная +апостроф+Формат(ДатаДок,"ДДДММГГГГ")+пробел+ВремяСтрокой+апостроф+кавычка двойная.
9. serq82 8 07.02.19 18:08 Сейчас в теме
(8) 1) ' + Формат(НОРН.ДатаДок,"ДДДММГГГГ") + " " + "00:00:33" + '
(4) 2) "" + ' + Формат(НОРН.ДатаДок,"ДДДММГГГГ") + " " + "00:00:33" + ' + ""
в первом случае ' . . '
во втором " . . "
я пробовал и строковой делать и с апострофами
10. kumi2012 103 07.02.19 19:15 Сейчас в теме
(9) А buh.Дата(Год, Месяц, День, Час, Минута, Секунда) с числами?
11. serq82 8 07.02.19 19:26 Сейчас в теме
(10)
buh.Дата(Год, Месяц, День, Час, Минута, Секунда)

ДокументРеализации.Дата = buh.Дата(2019, 02, 7, 00, 00, 33);
{E:\2019\ВЫГРУЗКАЧЕРЕЗСОМ.ERT(221)}: Поле агрегатного объекта не обнаружено (Дата)
12. user705522_constantin_h 35 07.02.19 19:42 Сейчас в теме
(11)То ли я дурак, то ли лыжи не едут. buh— это же V83.Connect, откуда там дата? Дата— это функция.
ДокументРеализации.Дата = Дата(2019, 02, 7, 00, 00, 33);
13. serq82 8 07.02.19 20:23 Сейчас в теме
14. acanta 08.02.19 14:52 Сейчас в теме
(13) Но вам дата нужна в запросе или в выборке? Параметром в запрос вы ее со временем передать не сможете.

В запросе вы хотите получить текст вида:

ГДе ДокументРасходнаянакладная.Дата Между (НачалоДНя(ДатаНачала)) и КонецДня(ДатаКонца))

А при ком-соединении желательно писать такое

Где ДОкумент.РасходнаяНакладная между НачалоДня('01.12.18') и конецдня('31.12.18')

Или Где ДОкумент.РасходнаяНакладная между '01.12.18 00:00:00' и '31.12.18 23:59:59'

Т.е. используется текстовый вариант записи вместо параметров.
16. serq82 8 08.02.19 21:27 Сейчас в теме
(14)в параметре я уже понял что не смогу.но в запросе хоть мне и нужно день.но мне нужно день который в 7.7 как дата документа. я уже понял что с 7.7 в 8 даты "хромают" попробую в запросе преобразовать.как что получиться отпишусь
Где ДОкумент.РасходнаяНакладная между НачалоДня('01.12.18') и конецдня('31.12.18')
Или Где ДОкумент.РасходнаяНакладная между '01.12.18 00:00:00' и '31.12.18 23:59:59'
по универсальнее бы.....
17. acanta 08.02.19 23:57 Сейчас в теме
РасходнаяНакладная.Дата между .....
Передавать между соединениями можно только базовые типы.
18. acanta 09.02.19 00:01 Сейчас в теме
Вы можете сделать обработку на 8 ке, которая будет вызываться в ком.соединении, получать на вход данные 7ки , компоновать такой запрос как вам требуется и выкладывать файл или возвращать таблицу с данными.
19. acanta 09.02.19 00:19 Сейчас в теме
Из 7.7. наверняка можно выполнить запрос к веб сервису, используя объект интернет експлорер, но в 8ке должен быть вебсервис, который может возвращать json. В файловой версии вебсервис работает? И поможет ли это сделать решение более универсальным- не знаю.
Возможно конвертация данных 2 наиболее подходящий вариант. Для 7.7 тоже есть обработчик правил обмена и загрузка файлов этого формата. Я им не пользовалась, поскольку кд 2 вышла позже, но вам оно поможет, если вы хотите универсальный инструмент.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот