|
Как в COM-соединении преобразовать дату в строку по формату? H A D G E H O G s, youalex, Эх-эх-эх, vis, Доминошник, PR, Шурик71, Tarlich, Гений 1С, Timon1405, Elf_80_lvl, Джордж1, tulke, b_ru, ГдеСобакаЗарыта, maxab72, kittystark, vsad420, Asmody, Franchiser, evorle145, ЯнСмит, Hmster, Logovazz, IVT_2009, Мультук, fram_
| ☑ | ||
|---|---|---|---|---|
|
0
Гений 1С
гуру
30.09.26
✎
20:30
|
Простой вопрос, а бьюсь долго.
v8.Format не работает v8.String(d, "ДФ=dd.MM.yyyy") не работает v8.Right, Substr тоже не работают |
|||
|
1
PR
30.09.26
✎
20:39
|
Испанский стыд
|
|||
|
2
fram_
30.09.26
✎
20:40
|
а так
СтрокаДаты = COMПодключение.Вычислить("Формат(Дата(""" + Формат(ИсходнаяДата, "ДФ=ггггММддЧЧммсс") + """), """ + СтрокаФормата + """)") |
|||
|
3
Гений 1С
гуру
30.09.26
✎
20:55
|
(2) в контексте не будет исходной даты.
я кстати, в обновляторе скрипт использую (1) поза гуру? |
|||
|
4
Гений 1С
гуру
30.09.26
✎
21:00
|
Почитал тут, что функции глобального контекста сохраняются:
https://infostart.ru/1c/articles/1777483/ Это натолкнуло меня писать не v8.Format, а просто Формат в обновляторе. Работает... |
|||
|
5
PR
30.09.26
✎
21:00
|
(3) Да я просто охуеваю с твоего уровня
Не говоря уже о том, нахуя тебе формат на той стороне и о том, чем тебя не устроил (2) Кто те идиоты, которые платят тебе пятерку в час? Те, кто не знает, что можно не платить, как в анекдоте чукчи, которые разговаривают по телефону, потому что не знают, как закончить разговор? |
|||
|
6
Гений 1С
гуру
30.09.26
✎
21:10
|
(5)
там в (2) не для обновлятора, контекст другой у гениев, видишь ли, могут быть проблемы в простом, зато они работают в сложном так круто, что им платят как раз пятерку в час. |
|||
|
7
PR
30.09.26
✎
21:12
|
(6) Идиот, раз у тебя есть d в v8, значит у тебя есть d и в COMПодключение.Вычислить
А про сложное ну не надо пиздеть, мы тут все про тебя все знаем |
|||
|
8
Гений 1С
гуру
30.09.26
✎
22:01
|
(7) ты демонстрируешь классическую манипуляцию "послезнание"
|
|||
|
9
Гений 1С
гуру
30.09.26
✎
22:12
|
А вот что-то не могу определить тип массив:
Попытка Количество = Организация.Количество(); ЭтоМассив = истина; Исключение ЭтоМассив = ложь; КонецПопытки; Если ЭтоМассив Тогда //ТипЗнч(Организация) = Тип("Массив") Тогда Для Каждого ТекОрганизация ИЗ Организация Цикл СформироватьОтчет(ИмяОтчета, Дата1, Дата2, ТекОрганизация, Каталог); КонецЦикла; Возврат; КонецЕсли; ТипЗнч - ComОбъект |
|||
|
10
maxab72
30.09.26
✎
22:14
|
(9) вроде бы одинаковые объекты на стороне приемника и на стороне передатчика имеют разные типы. это азбука.
|
|||
|
11
PR
30.09.26
✎
22:33
|
(10) Да он вечный первогодка, не знает нихрена
Он даже не понимает, что ТипЗнч нужно выполнять на стороне COM, чтобы вернулся тип "Массив", а иначе все верно, будет COMОбъект возвращаться |
|||
|
12
Гений 1С
гуру
01.10.26
✎
00:28
|
(11) и как же получать, если v8.TypeoF пишет, что нет такого метода TypeoF. Выйди уже из позы Гуру
|
|||
|
13
H A D G E H O G s
01.10.26
✎
01:42
|
(11) Наша кочерыженька так то права, многие функции глобального контекста не видны во внешнем соединении. Но это не значит, что не надо включать голову.
&НаСервере Функция ПроверитьТипCOMОбъекта(Значение,ТипСтрокой,Соединение) ПроверочноеОписаниеТипов=Соединение.NewObject("ОписаниеТипов",ТипСтрокой); ПриведенноеЗначение=ПроверочноеОписаниеТипов.ПривестиЗначение(Значение); Сравнение=Соединение.NewObject("СравнениеЗначений"); Результат=Сравнение.Сравнить(Значение,ПриведенноеЗначение)=0; Возврат Результат; КонецФункции &НаСервере Процедура Команда1НаСервере() КОМКоннектор = Новый COMОбъект("V83.COMConnector"); Соединение=КОМКоннектор.Connect(СтрокаСоединенияИнформационнойБазы()); ПроверяемыйМассив=Соединение.NewObject("Массив"); Результат=ПроверитьТипCOMОбъекта(ПроверяемыйМассив,"Массив",Соединение); Сообщить("Проверяемый COM объект является массивом -"+Результат); Результат=ПроверитьТипCOMОбъекта(ПроверяемыйМассив,"Структура",Соединение); Сообщить("Проверяемый COM объект является Структурой -"+Результат); КонецПроцедуры |
|||
|
14
H A D G E H O G s
01.10.26
✎
01:44
|
||||
|
15
H A D G E H O G s
01.10.26
✎
02:03
|
Ну или вообще - просто. Глобальный Сериализатор они оставили доступным.
&НаСервере Процедура Команда1НаСервере() КОМКоннектор = Новый COMОбъект("V83.COMConnector"); Соединение=КОМКоннектор.Connect(СтрокаСоединенияИнформационнойБазы()); ПроверяемыйМассив=Соединение.NewObject("Массив"); Сериализатор=Соединение.СериализаторXDTO; Тип=Сериализатор.XMLТипЗнч(ПроверяемыйМассив); Сообщить("Проверяемый COM объект является -"+Тип.TypeName); КонецПроцедуры |
|||
|
16
H A D G E H O G s
01.10.26
✎
02:10
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |