Сообщения

Типы товаров в Битрикс / Битрикс24 https://dev.1c-bitrix.ru/api_d7/bitrix/catalog/producttable/getproducttypes.php $data = \Bitrix\Catalog\ ProductTable :: getProductTypes (true); /* Array( [1] => простой [2] => комплект [3] => товар с предложениями [4] => предложение [5] => предложение без товара )*/ https://dev.1c-bitrix.ru/api_d7/bitrix/catalog/producttable/index.php Типы товаров Основные Описание С версии \Bitrix\Catalog\ProductTable:: TYPE_PRODUCT Простой товар 14.0.0 \Bitrix\Catalog\ProductTable:: TYPE_SET Комплект 14.0.0 \Bitrix\Catalog\ProductTable:: TYPE_SKU Товар с торговыми предложениями 16.0.3 \Bitrix\Catalog\ProductTable:: TYPE_OFFER Торговое предложение 16.0.3 Дополнительные Описание С версии \Bitrix\Catalog\ProductTable:: TYPE_FREE_OFFER Торговое предложение, у которого нет товара (не указан или удален). 16.0.3 \Bitrix\Catalog\ProductTable:: TYPE_EMPTY_SKU Специфический тип, означает невалидный товар с торговыми пред...

Строка 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(SUB...

Нотация 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  СхемаКомпоновкиДанных = Элементы.Чеки.По...

Виртуальная таблица Остатки, запрос без ресурсов

Период Движение Регистратор Измерение Сумма Количество 01.01.2022 0:00:00 Приход Тест итогов док 000000001 от 01.01.2022 0:00:00 первый 123 2 01.01.2023 0:00:00 Расход Тест итогов док 000000002 от 01.01.2023 0:00:00 первый 123 1 12.03.2023 0:40:56 Приход Тест итогов док 000000003 от 12.03.2023 0:40:56 второй 222 4 10.04.2023 23:43:37 Расход Тест итогов док 000000004 от 10.04.2023 23:43:37 второй 111 4

Эмодзи

  Процедура УТФ32 ( Команда ) Буфер = Новый БуферДвоичныхДанных ( 4 ); Буфер . ЗаписатьЦелое32 ( 0 , 128125 , ПорядокБайтов . BigEndian ); //128125 - зеленый человечек СимволЧеловечек = ПолучитьСтрокуИзБуфераДвоичныхДанных ( Буфер , "UTF-32BE" ); TelegramMessage = Новый Структура ( "chat_id, text" , 123456789 , "Зелененький он был: " + СимволЧеловечек ); Жсон = Новый ЗаписьJSON ; Жсон . УстановитьСтроку ( Новый ПараметрыЗаписиJSON (,,, ЭкранированиеСимволовJSON . СимволыВнеBMP )); ЗаписатьJSON ( Жсон , TelegramMessage ); ТелоЗапросаPOST = Жсон . Закрыть (); Сообщить ( ТелоЗапросаPOST ); ХТТПСоединение = Новый HTTPСоединение ( "api.telegram.org" ,,,,,, Новый ЗащищенноеСоединениеOpenSSL , Ложь ); ХТТПЗапрос = Новый HTTPЗапрос ( "bot123456789:AAE*-KLAA/sendMessage" ); ХТТПЗапрос . Заголовки . Вставить ( "Content-Type" , "application/jso...

OpenVPN проблема с подписью TAP драйвера в Windows 7

OpenVPN не мог установить соединение, красным писал, что TAP драйвер неактивен. В диспетчере устройств в сетевых устройствах драйвер был с восклицательным знаком, в пояснении было, что подпись отсутствует. В Windows 7 помогла установка обновления kb4474419.  https://www.catalog.update.microsoft.com/search.aspx?q=kb4474419

Проекты в Google Cloud

Список проектов можно смотреть здесь: https://console.cloud.google.com/cloud-resource-manager Через меню в это же место можно через корень консоли: https://console.cloud.google.com Navigation Menu (в верхнем левом уголке) - IAM & Admin - Manage Resources Удалить проект можно так: Идем в https://console.cloud.google.com/cloud-resource-manager . Отмечаем галкой нужный проект. В меню над списком проектов нажимаем DELETE. Соглашаемся с удалением, для подтверждения удаления Гугл попросит ввести название проекта.

Сбросить авторизацию в 1С Поле HTML документа

1С-овский WebKit запоминает ранее пройденную авторизацию, например в Googe, Yandex и прочее. Чтобы ВебКит забыл эту авторизацию - нужно почистить кэш WebKit, а вернее удалить файл кукисов. Находится он здесь: c:\Users\ЗдесьЮзерКоторомуЧистим\AppData\Local\1CV8C\cookies.dat 

Сброс пароля 1С SQL

1С 8.3 : Как сбросить пароли пользователей 1C на SQL Server или PostgreSQL Платформа 1С при работе на SQL Server хранит список пользователей в двух местах: в таблице v8users и в файле users.usr который бинарно расположен в таблице Params. Переименовываем таблицу v8users и строчку с файлом users.usr, что приведет к отсутствию в базе пользователей. MS SQL Server Management Studio: EXEC sp_rename 'v8users', 'v8users_old' GO UPDATE Params SET FileName = 'users.usr_old' WHERE FileName = 'users.usr' GO Открываем конфигуратор, платформа не спрашивает пользователя и пароль. При этом в SQL Server будет заново создана таблица v8users. Возвращаем всех пользователей не закрывая конфигуратора DROP TABLE v8users GO EXEC sp_rename 'v8users_old', 'v8users' GO UPDATE Params SET FileName = 'users.usr' WHERE FileName = 'users.usr_old' GO  После выполнения запроса в списке пользователей появятся все пользователи 1С, останется только найти нуж...

Левое соединение

Одинаковый результат в обоих запросах (409 записей в демобазе) Первый запрос: ВЫБРАТЬ Удаляемая.Ссылка КАК Удаляемая, Удаляемая.Родитель КАК УдаляемаяРодитель, Родительская.Ссылка КАК РодительскаяСоединенная, Удаляемая.ЭтоГруппа КАК УдаляемаяЭтоГруппа ИЗ Справочник.Номенклатура КАК Удаляемая ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Родительская ПО Удаляемая.Родитель = Родительская.Ссылка И (Удаляемая.ЭтоГруппа) ГДЕ НЕ Удаляемая.ЭтоГруппа Второй запрос: ВЫБРАТЬ Удаляемая.Ссылка КАК Удаляемая, Удаляемая.Родитель КАК УдаляемаяРодитель, Родительская.Ссылка КАК РодительскаяСоединенная, Удаляемая.ЭтоГруппа КАК УдаляемаяЭтоГруппа ИЗ Справочник.Номенклатура КАК Удаляемая ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Родительская ПО Удаляемая.Родитель = Родительская.Ссылка И (Удаляемая.ЭтоГруппа) ГДЕ НЕ Удаляемая.ЭтоГруппа И Родительская.Ссылка ЕСТЬ NULL Т.е. при таком соединении во-первых, выдаст элементы (не группы), а во-вторых у всех элементо...

СтруктураURI vs РазделитьURL

СтруктураУРИ = ПолучениеФайловИзИнтернетаКлиентСервер.СтруктураURI(РазбираемURL); РазделУРЛ = ПолучениеФайловИзИнтернетаКлиентСервер.РазделитьURL(РазбираемURL); http://eveb.ru/marketplace/61866.xml Свойство Значение Тип СтруктураУРИ Структура Структура ИмяСервера "eveb.ru" Строка Логин "" Строка Пароль "" Строка Порт Неопределено ПутьНаСервере "marketplace/61866.xml" Строка Схема "http" Строка Хост "eveb.ru" Строка Свойство Значение Тип РазделУРЛ Структура Структура ИмяСервера "eveb.ru" Строка Протокол "http" Строка ПутьКФайлуНаСервере "marketplace/61866.xml" Строка ftp://memo.moy.su/race/ Свойство Значение Тип СтруктураУРИ Структура Структура ИмяСервера "memo.moy.su" Строка Логин "" Строка Пароль "" Строка Порт Неопределено ПутьНаСервере "...

ТаблицаФормы с гиперссылками в ячейках

 Выбор подходящей процедуры для гиперссылки в Таблице Формы Процедура ДеревоЗаявокАдресАвтоПодбор() в принципе подходит, но: 1) нужно следить, чтобы не было серверных вызовов 2) СтандартнаяОбработка=Ложь все равно не убирает ненужное отображение ненайденного варианта Процедура ДеревоЗаявокПриАктивизацииЯчейки(Элемент) меньше подходит, т.к. 1) нужно следить, чтобы не было серверных вызовов 2) отсутствует возможность сделать СтандартнаяОбработка=Ложь Лучше всего подошла Процедура ДеревоЗаявокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) // Элемент ТаблицаФормы

Битрикс24 разное

  Ограничение на количество запросов REST API: Внимание! Существует лимит на число запросов. Разрешается два запроса в секунду. Если лимит превышается, то ограничение начинает срабатывать после 50 запросов.

Подключение в безопасном режиме дополнительной обработки

В режиме совместимости 2.2.2 достаточно хотя бы одного разрешения, чтобы запустилось в небезопасном режиме в целом. Бухгалтерия предприятия (учебная), редакция 3.0 (3.0.35.27)  ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль.ПодключитьВнешнююОбработку(Ссылка = Дем выгруз гугл шитс) 89 Фоновое задание (файловый вариант):Абдулов (директор) (2540), user-4305a17470:1561 ЗапросРазрешений = Новый Запрос( "ВЫБРАТЬ ПЕРВЫЕ 1 | ДополнительныеОтчетыИОбработкиРазрешения.НомерСтроки, | ДополнительныеОтчетыИОбработкиРазрешения.ВидРазрешения |ИЗ | Справочник.ДополнительныеОтчетыИОбработки.Разрешения КАК ДополнительныеОтчетыИОбработкиРазрешения |ГДЕ | ДополнительныеОтчетыИОбработкиРазрешения.Ссылка = &Ссылка"); ЗапросРазрешений.УстановитьПараметр("Ссылка", Ссылка); ЕстьРазрешений = Не ЗапросРазрешений.Выполнить().Пустой(); РежимСовместимости = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, "РежимСовместимостиРаз...

Unix Time

  UnixTime1970 = ТекущаяУниверсальнаяДатаВМиллисекундах() - 62135596800000;