arefaste/1C_Forums huggingface dataset:
Здравствуйте, подскажите как очистить историю версий справочника. При записи элемента справочника в регистре сведений "Версии объектов" появляется новая запись. Через Общие настройки - Настройки Хранения - Очистка устаревших версий, старые записи не удаляются.

И когда удаляю запись из регистра "Версии объектов", то в истории версий (см. скрин как я туда перехожу) она все равно остается.
Получается, что запись хранится где-то не в этом регистре ? Как ее очистить?
---
С историей изменений может быть вот какая штука - существуют система версионирования от БСП и история данных от 1С - из коробки.
Что именно вы смотрите на скриншоте неясно, но, вероятно, последнее.

тогда вам в руки: УдалитьВерсии(Метаданные.Справочники.Ваш_Справочник, [ВплотьДоДаты - необязательное]).

P.S.
Физических таблиц ИД от 1С много, но, кажется, удалять данные из них напрямую можно только в СУБД, а это нарушение лицензионного соглашения -так делать нельзя.
---
Через Общие настройки - Настройки Хранения - Очистка устаревших версий, старые записи не удаляются.
 А в настройках истории самого документа в Срок хранения документа что стоит? Не бессрочно ли? Установи ужное (например, неделю) и удалить старые версии, удалятся
---
С историей изменений может быть вот какая штука - существуют система версионирования от БСП и история данных от 1С - из коробки.
Что именно вы смотрите на скриншоте неясно, но, вероятно, последнее.

тогда вам в руки: УдалитьВерсии(Метаданные.Справочники.Ваш_Справочник, [ВплотьДоДаты - необязательное]).

P.S.
Физических таблиц ИД от 1С много, но, кажется, удалять данные из них напрямую можно только в СУБД, а это нарушение лицензионного соглашения -так делать нельзя.
---
Спасибо, кажется действительно это История данных из коробки. И удалять нужно программно.
---
Удалить версии очень по разному работает в зависимости от параметров и от версии платформы.
УдалитьВерсии(Метаданные, ДатаУдаления) - может удалить и последнюю версию и этим испортить всю последующую историю
На складе Склад готовой продукции(Ист-Фарм) недостаточно 480 флак собственного товара Ципрофлоксацин, р-р д/инф., 2 мг/мл 100 мл, nipple head, №1, ООО "Ист-Фарм", Россия, 351022. Будет реализован комиссионный товар.

Остаток по складу есть, по организации тоже, в ведомости по складу также есть остаток.
В перемещении товаров вид запасов тот же что и в реализации. Не понимаю что за ошибка
---
Аналитика номенклатуры не заполнилась, Перевыбор товара помог.
---
Зарезервировано за другим заказом? Остатки и доступность товаров отчет.
---
Аналитика номенклатуры не заполнилась, Перевыбор товара помог.
Всем доброго дня!
Пытаемся сделать внутреннее потребление (товар идёт на благотворительность), цена списания устанавливается закупочной.
На вкладке дополнительно есть возможность указания цены, я так понимаю как раз для того, чтобы списать по продажной.
Создали документ установки цен с закупочной и с продажной, выбрали в потреблении продажную цену, но списание всё равно идёт по закупочной.
Можно ли как-то скорректировать движения, чтобы цена была продажная (НДС к возмещению хотим восстанавливать с цены продажи)?
---
Правильно это называется "безвозмездная передача", в БП отражается документом так:
https://its.1c.ru/db/answers1c#content:404:hdoc:_top:безвозмездная%20передача%20товаров

в КА не автоматизировано. по сути делается 2 документа: внутреннее потребление на статью не принимаемую в НУ. И Документ ЗАпись Книги продаж для начисления НДС рыночной стоимости передаваемого имущества
---
Пытаемся сделать внутреннее потребление Нееет, вы пытаетесь сделать "внутреннюю продажу"...
я так понимаю как раз для того, чтобы списать по продажной. Не всегда можно понять - о чем думали разработчики из 1С.
списание всё равно идёт по закупочной. И это правильно! Закупочная цена - это ваши расходы (себестоимость), а продажная - расходы плюс аренда, зарплата (в том числе ваша), прибыль, налоги и так далее.

Кто-то это все оплатит? Если нет, то какие основания у вас это все включать во "внутреннее потребление"?
НДС к возмещению хотим восстанавливать с цены продажи Угу, а еще - уменьшать налог на прибыль (или УСН) за счет накручивания расходов.

Налоговая очччень любит находить такие штучки при проверке. ;)
---
Вид цены во внутреннем потреблении это "Вид цены, по которому выводятся цены в печатных формах.".
---
Правильно это называется "безвозмездная передача", в БП отражается документом так:
https://its.1c.ru/db/answers1c#content:404:hdoc:_top:безвозмездная%20передача%20товаров

в КА не автоматизировано. по сути делается 2 документа: внутреннее потребление на статью не принимаемую в НУ. И Документ ЗАпись Книги продаж для начисления НДС рыночной стоимости передаваемого имущества
Добрый день.
Из справочника Пользователи хочу получить список Телефонов.
Сделал вот такую конструкцию, но получаю только один телефон. Как получить второй ?
Удается вывести, где тип "Телефон", вид "Телефон сотрудника".

```1c
    ЗапросТелефон2 = Новый Запрос("ВЫБРАТЬ
    | ФизическиеЛица.Ссылка КАК Клиент,
    | Телефон.Представление КАК Телефон
    |ИЗ
    | Справочник.Пользователи КАК ФизическиеЛица
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК Телефон
    | ПО (Телефон.Объект = ФизическиеЛица.Ссылка)
    | И (Телефон.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон))
    | И (ФизическиеЛица.Ссылка = &Ссылка)
    |ГДЕ
    | ФизическиеЛица.Ссылка = &Ссылка");
    ЗапросТелефон2.УстановитьПараметр("Ссылка", Ответственный);
    ВыборкаТелефон2 = ЗапросТелефон2.Выполнить().Выбрать();

    Если ВыборкаТелефон2.Следующий() Тогда
    Сообщить("Телефон номер "+ВыборкаТелефон2.Телефон);
    КонецЕсли;
```
---
Если ВыборкаТелефон2.Следующий() Тогда
        Сообщить("Телефон номер "+ВыборкаТелефон2.Телефон);
    КонецЕсли;

этим кодом получаешь первую запись результата запроса, а тебе нужен цикл по всем

    Пока ВыборкаТелефон2.Следующий() Цикл
        Сообщить("Телефон номер "+ВыборкаТелефон2.Телефон);
    КонецЦикла;
---
Если ВыборкаТелефон2.Следующий() Тогда
        Сообщить("Телефон номер "+ВыборкаТелефон2.Телефон);
    КонецЕсли;

этим кодом получаешь первую запись результата запроса, а тебе нужен цикл по всем

    Пока ВыборкаТелефон2.Следующий() Цикл
        Сообщить("Телефон номер "+ВыборкаТелефон2.Телефон);
    КонецЦикла;
---
Действительно... заработался. Спасибо
Извините за нубский вопрос. Забыл, и найти не могу.
---
все-таки есть вызов с клиента:
ОбщегоНазначенияУТВызовСервера.ЗначенияРеквизитовОбъекта
---
Нашел - в модуле ОбщегоНазначения
---
ОбщегоНазначения это же серверный модуль? А на клиенте можно получить ЗначенияРеквизитовОбъекта?
---
егоНазначения это же серверный модуль? А на клиенте можно получить ЗначенияРеквизитов
на самом по себе клиенте, данные базы недоступны. Поэтому чтобы вытащить, что-либо , а в нашем случае значения реквизитов объекта, все равно придется обратиться к серверной процедуре.
---
действительно, там вызова сервера нет.
Наверное, это специально сделали, чтобы программист контролировал серверные вызовы. Не использовал их неосознанно.
Значит, надо делать процедуру НаСервере, и оттуда уже обращаться к ОбщийМодуль.ЗначенияРеквизитовОбъекта
---
Спасибо, я просто подумал что сделали именно с клиента.
---
все-таки есть вызов с клиента:
ОбщегоНазначенияУТВызовСервера.ЗначенияРеквизитовОбъекта
---
ОбщегоНазначенияУТВызовСервера

Поставьте отметку - что "это решение", чтобы жирным желтым цветом его выделило
(а то - не сразу увидел)
---
В ДО процедура сидит:

```1c
    ОбщегоНазначенияДокументооборотВызовСервера.ЗначениеРеквизитаОбъекта
```

А
```1c
    ОбщегоНазначения.ЗначениеРеквизитаОбъекта
```
 не имеет серверного вызова.
---
подскажите, нубский вопрос, ажно стыдно.
есть реквизит табличной части год - надо возвращать всегда НачалоГода
и в других табличных частях есть год, назван по разному
ГодПараметры, ГодРасходы (по табличной части, условно)
надо все время ставить на начало года, какую б не ввели дату.
Как так сделать?
---
программно менять дату.
НачалоГода(ВашаДата)
Но для таких случаев нужно другую тему создавать.
---
```1c
    ЭлектронныйДокументооборотСКонтролирующимиОрганамиВызовСервера.ЗначениеРеквизитаОбъекта(Организация,"ИНН")
```

в БП 3.0.105.31
---
ЭлектронныйДокументооборотСКонтролирующимиОрганамиВызовСервера

ДА, в конфе БГУ это работает
---
Отметьте, пожалуйста, тоже как решение )
---
ЭлектронныйДокументооборотСКонтролирующимиОрганамиВызовСервера
Я так же изучил данный вопрос в БП работает:

```1c
    ИнтеграцияС1СДокументооборотВызовСервера.ЗначениеРеквизитаОбъекта(Организация,"ИНН")
    ЭлектронныйДокументооборотСКонтролирующимиОрганамиВызовСерве­ра.ЗначениеРеквизитаОбъекта(Организация,"ИНН")
```

Но если конфигурация доработанная и есть собственный добавленный общий модуль с галочками "Сервер" и "Вызов сервера" то лучше туда добавить свою экспортную функцию, которая не пропадет в случае обновления логики типовой 1с:

```1c
    //на клиенте
    НужныйРеквизит = МойДобавленныйМодульВызовСервера.ЗначениеРеквизитаОбъекта(ЭтаФорма.Организация,"ИНН");
    //который содержит такую экспортную функцию:
    Функция ЗначениеРеквизитаОбъекта(Ссылка, ИмяРеквизита, ВыбратьРазрешенные = Ложь, Знач КодЯзыка = Неопределено) Экспорт

    Результат = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Ссылка, ИмяРеквизита, ВыбратьРазрешенные, КодЯзыка);

    Возврат Результат;

    КонецФункции
```
Добрый день, нужна помощь: при вызове функции из общего модуля расширения (общий модуль в расширении, функция в модуле формы основной конфигурации) появляется ошибка "метод объекта не обнаружен". Вызов происходит на форме в функции с директивой &НаСервереБезКонтекста. У модуля стоит только галочка "Сервер". При этом, если эту функцию указать в табло, или через "Вычислить выражение", он возвращает структуру без ошибок. Проверка возможности применения ошибок не показывает. До этого произошло обновление другого расширения. Проверка расширения тоже ошибок не выявила. Кэш почистил. С чем может быть связано?

P.S. на копии базы такой ошибки не наблюдается
---
Вообще мне по такому вопросу вот что писали из техподдержки:

Это запланированное поведение. Мы не хотим давать возможность из основной конфигурации завязываться на расширение или из одного расширения на другое. В частности, попытка вызывать метод из расширения без Выполнить из основной дает ошибку компиляции.

Для форм даже была специальная задача Запрет вызова методов из расширения через Выполнить из основной формы. Для остальных модулей так делалось изначально.

P.S. по идее должен работать обход - заимствовать форму в расширение, ничего в ней не меняя.
---
попробовать кэш почистить.
Проверить, что новый общий модуль создан только в одном расширении и не повторяется с таким именем в других.
Расширение будет показано активным, но при ошибке компиляции будет не рабочим.
Ошибка даже не обязательно должна быть в искомом модуле.
При любой ошибке компиляции в любом месте расширения, все расширение будет нерабочим.
Смотрите журнал регистрации. Ищите ошибку типа: "Ошибка применения расширения конфигурации"
---
Может порядок применения расширений?
Звучит так, как будто тебе на линию поддержки.
---
Насколько я помню в случае ошибки с расширением оно отключается автоматически. Возможно оно отключилось один раз по одной ошибке и здесь уже вторичная ошибка.
---
Проверил, оно включено
---
Вообще мне по такому вопросу вот что писали из техподдержки:

Это запланированное поведение. Мы не хотим давать возможность из основной конфигурации завязываться на расширение или из одного расширения на другое. В частности, попытка вызывать метод из расширения без Выполнить из основной дает ошибку компиляции.

Для форм даже была специальная задача Запрет вызова методов из расширения через Выполнить из основной формы. Для остальных модулей так делалось изначально.

P.S. по идее должен работать обход - заимствовать форму в расширение, ничего в ней не меняя.
---
Спасибо большое, Выполнить(...) помогло
Пишу обработку по заполнению штрихкодов номенклатуры из эксель файла. Подумал, что наверняка есть готовые процедуры по записи штрихкодов в регистр, но не могу их найти. Если они есть, то где?
---
Загрузка данных из табличного документа epf. И ниче писать не надо.
---
Загрузка данных из табличного документа epf. И ниче писать не надо.
---
по артикулу нужно искать номенклатуру
---
И что?
Добрый день. При печати не помещается штрихкод в рисунке макета. У рисунка размер картинки стоит реальный размер, если поставить растягивать, то он помещается, и свободное место остается, но в этом случае он не читается. С реальным же размером он не помещается, на выводимом документе приходится высоту в два раза увеличивать, и тогда он помещается. Но в этом случае он выводится в двух экземплярах на печать этикетки 75х70. Подскажите, пожалуйста, как можно уместить штрихкод на макет нужного мне размера? Пробовал менять масштабирование на ложь, высоту и ширину страницы задавать, не помогло. Если указать в параметрах штрихкода высоту меньше 350 - штрихкод не генерируется, вместо него появляется надпись (size too small). В настройках принтера менял параметры печатаемой страницы, и так же без результата.
```1c
    ИскомыеСтроки = Сырье.НайтиСтроки(Новый Структура("Флг", Истина));

    Для Каждого ИскомаяСтрока Из ИскомыеСтроки Цикл

    ЗаполнитьЗначенияСвойств(ОбластьМакета.Параметры, ИскомаяСтрока);
    ОбластьМакета.Параметры.Количество = Формат(Количество, "ЧЦ=10; ЧДЦ=2; ЧРД=.; ЧН=Ноль");
    ОбластьМакета.Параметры.дата = формат(ТекущаяДатаСеанса(), "ДФ=dd.MM.yy");
    ОбластьМакета.Параметры.ответственный = Ответственный;
    ШтрихкодДляПечати = ИскомаяСтрока.Штрихкод + " " + СокрЛП(СтрЗаменить(Количество, Символы.НПП, "));
    ПараметрыШтрихкода = Новый Структура;
    ПараметрыШтрихкода.Вставить("Ширина", Окр(50));
    ПараметрыШтрихкода.Вставить("Высота", Окр(500));
    ПараметрыШтрихкода.Вставить("Штрихкод", ШтрихкодДляПечати);
    ПараметрыШтрихкода.Вставить("ТипКода", 2);
    ПараметрыШтрихкода.Вставить("МонохромныйШрифт", Истина);
    ПараметрыШтрихкода.Вставить("ОтображатьТекст", Ложь);
    ПараметрыШтрихкода.Вставить("РазмерШрифта", 10);
    ПараметрыШтрихкода.Вставить("Масштабировать", Истина);
    ПараметрыШтрихкода.Вставить("УголПоворота", 90);
    ПараметрыШтрихкода.Вставить("УбратьЛишнийФон", Истина);

    КартинкаШтрихкода = ПолучениеИПечатьШтрихкодов.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода);
    ОбластьМакета.Рисунки.Штрихкод.Картинка = КартинкаШтрихкода;
    ТабДокумент.Вывести(ОбластьМакета);
    КонецЦикла;

    ТабДокумент.ВысотаСтраницы = 70;
    ТабДокумент.ШиринаСтраницы = 75;
    ТабДокумент.ОтображатьСетку = Ложь;
    ТабДокумент.Показать();
```
---
Сделал штрихкод снизу, без угла поворота, переделав макет и изменив ориентацию текста на 90 градусов.
---
Сделал штрихкод снизу, без угла поворота, переделав макет и изменив ориентацию текста на 90 градусов.
в windows в powershell через adb получаю значение буфера обмена android, из которого нужно вычленить значение text/plain (его видно, это 24 символа состоящие из латиницы в верхнем регистре или цифры вида
[0-9A-Z]{24} с переносами строки (только символы с кодом 10)

получаю командой
```1c
    $id = adb -s $ip shell service call clipboard 2 s16 com.android.shell
```

Result: Parcel(
  0x00000000: 00000000 00000001 00000001 00000000 '................'
  0x00000010: 00000000 00000001 0000000a 00650074 '............t.e.'
  0x00000020: 00740078 0070002f 0061006c 006e0069 'x.t./.p.l.a.i.n.'
  0x00000030: 00000000 ffffffff 00000000 00000001 '................'
  0x00000040: 00000001 00000018 00440045 00300045 '........E.D.E.0.'
  0x00000050: 00330034 00340037 00350031 00340034 '4.3.7.4.1.5.4.4.'
  0x00000060: 00330035 00310038 00350031 00300031 '5.3.8.1.1.5.1.0.'
  0x00000070: 00310034 00300044 00000000 ffffffff '4.1.D.0.........'
  0x00000080: 00000000 00000000 '........ ')

парсю при помощи

```1c
    $id -creplace "[0-9a-z\n]{8,10}|[rcsutext/plain\.\':\(\) ]" -replace '`r`n'
```

но результат получается с переносами строки (код символа 10). Как от них избавиться средствами powershell?
EDE0
43741544
53811510
41D0
---
Пока удалось только подстроками

```1c
    $id.substring(0, 4) + $id.substring(6, 8) + $id.substring(16, 9) + $id.substring(26, 4)
```

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

```1c
    $id = "+$id -creplace "[0-9a-z\n]{8,10}|[RrPcsutext/plain\.\':\(\) ]"
```
---
Как от них избавиться средствами powershell? А использование powershell - это обязательное условие? Если строка будет использоваться в 1С, то может оказаться проще избавиться от переносов уже в ней - например, через СтрЗаменить().
---
это обязательное условие?
увы, да. Пробовал вызывать powershell (cmd) и из 1С, и из 1Script
но.. неудобно. Надо на ТСД с андроид циклом ПО накатить, поэтому обязательно.
---
Пока удалось только подстроками

```1c
    $id.substring(0, 4) + $id.substring(6, 8) + $id.substring(16, 9) + $id.substring(26, 4)
```

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

```1c
    $id = "+$id -creplace "[0-9a-z\n]{8,10}|[RrPcsutext/plain\.\':\(\) ]"
```
---
-replace '`r`n'

Не всегда перенос строки это последовательность из символов переноса строки и возврата каретки. Можно попробовать -replace '`n'
---
пробовал все возможные комбинации `t `r `n
получается в общей сложности 12, что ли
ни одна не убрала перенос строки
кроме того смотрел код символа переноса в notepad - исключительно 1 символ с кодом 10
---
Нашел, что в PS для обозначения экранирующих символов в операторе -replace нужно использовать \.
А вот в методе Repalce() нужно использовать именно `
---
второй случай действительно сработал. В методе - нет ) спасибо за помощь
Возможно у меня устаревший ps
Добрый день.
Обработка формирует штрихкод по переданной ссылке на сайт, след. вида:
https://barcode.tec-it.com/barcode.ashx?data=(01)00000405464897(3102)006800(11)230612(17)230613(10)456&code=GS1-128&translate-esc=on

Каким образом можно сохранить эту картинку из реквизита формы "поле HTML документа" или Форматированный документ"?

Нужно использовать этот ШК в табличном документе, для печати различных этикеток.

Пробовал через base64 получить картинку, но возвращает неопределено.

```1c
    Для Каждого Параграф Из ТабДок.Элементы Цикл
    Для Каждого Строка Из Параграф.Элементы Цикл
    Если ТипЗнч(Строка) = Тип("КартинкаФорматированногоДокумента") Тогда
    Если ТипЗнч(Строка.Картинка) = Тип("Картинка") Тогда
    Данные = Строка.Картинка.ПолучитьДвоичныеДанные();
    Иначе
    МассивДанных = СтрРазделить(Строка.Картинка, ",");
    Если МассивДанных.Количество() > 1 Тогда
    Данные = Base64Значение(МассивДанных[1]);
    Иначе
    Данные = Base64Значение(Строка.Картинка);
    КонецЕсли;
    КонецЕсли;
    ЕстьКартинка = Истина;
    Прервать;
    КонецЕсли;
    КонецЦикла;
    КонецЦикла;
```
---
```1c
    HTTPСоединение = Новый HTTPСоединение("barcode.tec-it.com",,,,,, Новый ЗащищенноеСоединениеOpenSSL);
    HTTPЗапрос = Новый HTTPЗапрос("/barcode.ashx?data=(01)00000405464897(3102)006800(11)230612(17)230613(10)456&code=GS1-128&translate-esc=on");

    Ответ = HTTPСоединение.Получить(HTTPЗапрос);
    Картинка = Новый Картинка(Ответ.ПолучитьТелоКакДвоичныеДанные());
```
---
```1c
    HTTPСоединение = Новый HTTPСоединение("barcode.tec-it.com",,,,,, Новый ЗащищенноеСоединениеOpenSSL);
    HTTPЗапрос = Новый HTTPЗапрос("/barcode.ashx?data=(01)00000405464897(3102)006800(11)230612(17)230613(10)456&code=GS1-128&translate-esc=on");

    Ответ = HTTPСоединение.Получить(HTTPЗапрос);
    Картинка = Новый Картинка(Ответ.ПолучитьТелоКакДвоичныеДанные());
```
---
HTTPСоединение = Новый HTTPСоединение("barcode.tec-it.com",,,,,, Новый ЗащищенноеСоединениеOpenSSL);
HTTPЗапрос = Новый HTTPЗапрос("/barcode.ashx?data=(01)00000405464897(3102)006800(11)230612(17)230613(10)456&code=GS1-128&translate-esc=on");

Ответ = HTTPСоединение.Получить(HTTPЗапрос);
Картинка = Новый Картинка(Ответ.ПолучитьТелоКакДвоичныеДанные());

Спасибо!
Помогите пожалуйста настроить подключение по HTTPS с авторизацией SSL-сертификатом. Что было сделано:

Получил от владельцев сайта сертификат в формате .p12
Установил сертификат для текущего пользователя.
Добавил данные в cacert.pem из инструкции по ссылке (https://www.cs-cart.ru/docs/4.3.x/manager/commerceml/1c/https/) (непонятно, надо это делать или нет?)

Код в 1С:

```1c
    Процедура Подключение()
    ССЛ = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаФайл("e:\Install\pki.p12","пароль"));
    Хост = "fglrr-site.its";
    HTTPСоединение = Новый HTTPСоединение(Хост, , , , , ,ССЛ,);
    HTTPЗапрос = Новый HTTPЗапрос("/XAdES-TesT/Sign?WSDL");

    СтрокаXML = "
    "<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
    | <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    | <requestSignXAdES xmlns="http://sign.server.procertum.unizeto/">
    | <certificate xmlns=">%СертБасе64%</certificate>
    | </requestSignXAdES>
    | </s:Body>
    |</s:Envelope>";

    СертДвоичнДанные = Новый ДвоичныеДанные("e:\Install\testq.cer");
    СертБасе64 = ПолучитьСертификатBase64Строку(СертДвоичнДанные);

    СтрокаXML = СтрЗаменить(СтрокаXML,"%СертБасе64%",СертБасе64);

    HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаXML);
    Результат = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
    Ответ = Результат.ПолучитьТелоКакСтроку();
    Сообщить(Ответ);
    КонецПроцедуры

    Функция ПолучитьСертификатBase64Строку(ДвоичнДанные) Экспорт

    СтрокаBase64 = Base64Строка(ДвоичнДанные);
    Значение = СтрЗаменить(СтрокаBase64, Символы.ВК, ");
    Значение = СтрЗаменить(Значение, Символы.ПС, ");
    Возврат Значение;

    КонецФункции
```

В результате получаю: 400 The SSL certificate error. Через браузер все работает, через Postman тоже все ок. Платформа 8.3.20.1710, обычные формы, клиент-серверная
---
Решил проблему через COMОбъект("WinHttp.WinHttpRequest.5.1")
---
https://infostart.ru/1c/articles/1564337/
---
прочитал статью вдоль и поперек....
---
Если изменить

```1c
    ССЛ = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаФайл("e:/!work/pki.p12", "123"), Новый СертификатыУдостоверяющихЦентровФайл("e:/!work/pki.pem"));
```

(.pem файл получен из того же pki.p12) то платформа выводит ошибку "Ошибка работы с Интернет: Удаленный узел не прошел проверку".
Также установил сертификат pki.p12 в Персональные для пользователя USR1CV8, но результат тот же...
---
Сообщение было скрыто модератором.
---
Решил проблему через COMОбъект("WinHttp.WinHttpRequest.5.1")
отчёт должен содержать информацию о количестве проданных товаров из всех документах о продаже. но если в двух разных документах продавалось одно и то же наименование, то и в отчёте оно написано два раза. как сделать, чтобы повторяющиеся строки объединялись, а количество суммировалось?
на скриншоте видно повторяющееся наименование "тетрадь"
---
группировать по товару с суммой по количеству или добавить еще регистратор и группировать по товару и регистратору с суммой по количеству.
Тогда будет типа:
тетрадь
   реализация 1 - 2 шт
   реализация 2 - 1 шт
В конструкторе все очевидно
---
Давно запросы изучаешь? 0 дней?
---
группировать по товару с суммой по количеству или добавить еще регистратор и группировать по товару и регистратору с суммой по количеству.
Тогда будет типа:
тетрадь
   реализация 1 - 2 шт
   реализация 2 - 1 шт
В конструкторе все очевидно
---
разобрался, благодарю