Сообщения

Строка JSON из Коллекции, Коллекция из строки JSON (1С)

 Функция СтрокаЖсонИзКоллекции(Коллекция) ЗаписьЖсон = Новый ЗаписьJSON; ЗаписьЖсон.УстановитьСтроку(Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Нет)); ЗаписатьJSON(ЗаписьЖсон, Коллекция); Возврат  ЗаписьЖсон.Закрыть(); КонецФункции Функция КоллекцияИзСтрокиЖсон(СтрокаЖсон, ПрочитатьВСоответствие = Ложь, ИменаСвойствТипаДата= "") ЧтениеЖсон = Новый ЧтениеJSON; ЧтениеЖсон.УстановитьСтроку(СтрокаЖсон); Возврат ПрочитатьJSON(ЧтениеЖсон, ПрочитатьВСоответствие, ИменаСвойствТипаДата); КонецФункции

Получение Уникального Идентификатора 1С из Ссылки SQL-запросом (_IDRRef to 1C UUID)

Ссылку 1С хранит в базе MS SQL в формате binary(16). Встроенное в MS SQL преобразование binary(16) в GUID (uniqueidentifier) идет по алгоритму, отличному от алгоритма 1С. Для того, чтобы из binary(16) получить ГУИД 1С, в запросе нужно произвести дополнительное преобразование.   CAST(CAST(REVERSE(SUBSTRING( [_IDRRef], 9, 8)) AS binary(8))+ SUBSTRING([_IDRRef], 1, 8) as uniqueidentifier) Справочник _Reference47 взят для примера. Предварительно в нем создан элемент с принудительным Уникальным Идентификатором: ГУИД = Новый УникальныйИдентификатор("a0e55759-35f1-400c-8169-e5edbc2486ba"); ТестЭлемент = Справочники.Тест.СоздатьЭлемент(); Ссылка = Справочники.Тест.ПолучитьСсылку(ГУИД); ТестЭлемент.УстановитьСсылкуНового(Ссылка); ТестЭлемент.Наименование = "Принудительный ГУИД"; ТестЭлемент.Записать(); SQL вернул следующее: запрос SELECT [_IDRRef]       ,_Description       ,CAST([_IDRRef] as uniqueidentifier) GUID_SQL       ,CAST(CAST(REVERSE(SUBSTRING( [_IDRRef], 9, 8)) AS

Нотация A1 для API Google Sheets

Функция НотацияА1 ( НомерСтолбца ) //КодСимвола("A") = 65; КодСимвола("Z") = 90; Размерность = 90-65+1 = 26; Осталось = НомерСтолбца - 1 ; Результат = "" ; Пока Осталось > - 1 Цикл ИндексСимвола = Осталось % 26 ; Результат = Символ ( 65 + ИндексСимвола ) + Результат ; Осталось = Цел ( Осталось / 26 ) - 1 ; КонецЦикла ; Возврат Результат ; КонецФункции

1С: Ссылка и СсылкаНового

&НаСервереБезКонтекста Процедура СсылкаНовогоИССылкаНаСервере() // УстановитьСсылкуНового(Справочники.Организации.ПолучитьСсылку()) ЗаказКлиентаПолучитьСсылку = Документы.ЗаказКлиента.ПолучитьСсылку(); Сообщить ("ЗаказКлиентаПолучитьСсылку : " + ЗаказКлиентаПолучитьСсылку); Док = Документы.ЗаказКлиента.СоздатьДокумент(); Док.УстановитьСсылкуНового(ЗаказКлиентаПолучитьСсылку); Сообщить ("Док.Ссылка : " + Док.Ссылка); Сообщить ("Док.ПолучитьСсылкуНового() : " + Док.ПолучитьСсылкуНового()); Сообщить ("ЗаказКлиентаПолучитьСсылку=Док.ПолучитьСсылкуНового() : " + (ЗаказКлиентаПолучитьСсылку=Док.ПолучитьСсылкуНового())); Сообщить("Док.ПолучитьСсылкуНового().Пустая() : " + Док.ПолучитьСсылкуНового().Пустая()); Сообщить("Док.Ссылка.Пустая() : " + Док.Ссылка.Пустая()); //ЗаказКлиентаПолучитьСсылку : <Объект не найден> (409:a23400155d62ee1c11edff7f4dde94a4) //Док.Ссылка : //Док.ПолучитьСсылкуНового() :

Bitrix VirtualBox Дисплей - Удаленный доступ: RDP не подключается с другого компьютера

Изображение
Скачанный ( https://www.1c-bitrix.ru/download/vmbitrix.php ) с сайта Битрикс файл VMBitrix7.5-1-CentOS7.9-x86_64.ova (Open Virtualization Format Archive .ova) после установки создает машину, настроенную на подключение удаленного дисплея.  Но подключить удаленный доступ к дисплею можно только с хост-машины, с другого компьютера локальной сети это подключение недоступно. В графическом интерфейсе настроек виртуальной машины не видно данного ограничения. Его можно увидеть, открыв из каталога виртуальной машины файл "VMBitrix7.5-1-CentOS7.9-x86_64.vbox-prev", там будет указано. <VRDEProperties>   <Property name="TCP/Address" value="127.0.0.1"/>   <Property name="TCP/Ports" value="5925"/> </VRDEProperties> Чтобы удалить привязку к 127.0.0.1 , нужно выполнить команду без указания адреса VBoxManage modifyvm "VMBitrix7.5-1-CentOS7.9-x86_64" --vrde-property=TCP/Address= VBoxManage в host-ОС Windows можно найти по

OnEs memos

Хранить настройки в старых конфигурациях (УТ 10.3) можно в регистре сведений СохраненныеНастройки ОбщийМодуль.МониторПортала1СИТСГлобальный &Вместо("Подключаемый_ОткрытьМониторПортала1СИТССПодключениемИнтернетПоддержки") Процедура wln_НеОткрыватьМониторПортала(); //не открываем монитор портала ИТС при запуске 1С КонецПроцедуры КА25 ОбщийМодуль.ТекстЗапросаДоступныхОстатковПоДатамДляПодбора Структура.Вставить("   МожноПробелыНачалоКонец   ", 123);

Динамический список в таблицу значений 1С

Вариант-1 СхемаКомпоновкиДанных = Элементы.Чеки.ПолучитьИсполняемуюСхемуКомпоновкиДанных(); НастройкиКомпоновкиДанных = Элементы.Чеки.ПолучитьИсполняемыеНастройкиКомпоновкиДанных(); КомпоновщикМакетаКомпоновкиДанных = Новый КомпоновщикМакетаКомпоновкиДанных(); МакетКомпоновкиДанных = КомпоновщикМакетаКомпоновкиДанных.Выполнить(СхемаКомпоновкиДанных, НастройкиКомпоновкиДанных,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных); ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; ТаблицаЗначений = Новый ТаблицаЗначений; ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений.УстановитьОбъект(ТаблицаЗначений); ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений.Вывести(ПроцессорКомпоновкиДанных, Истина);  Вариант-2  СхемаКомпоновкиДанных = Элементы.Чеки.По