arefaste/1C_Forums huggingface dataset:
Здравствуйте! Есть запрос, в нем есть вычисляемое поле, к примеру:
Выбор
Когда ЭтоЕдиница
Тогда 1
Когда НЕ ЭтоЕдиница
ТОгда 0
КОНЕЦ.

Так вот можно ли как то отсортировать по этому полю? Я могу упорядочить по ЭтоЕдиница только(
---
Можно. Дайте вычисленному полю псевдоним и добавьте псевдоним в список полей упорядочивания.
---
Можно. Дайте вычисленному полю псевдоним и добавьте псевдоним в список полей упорядочивания.
---
Не делала как вы сказали, получилось вот так:
УПОРЯДОЧИТЬ ПО
ВТ.СоТРУДНИК,
Выбор
Когда ЭтоЕдиница
Тогда 1
Когда НЕ ЭтоЕдиница
ТОгда 0
КОНЕЦ
---
Не, нужно указывать именно псевдоним, а не само выражение. :) Выражение должно быть в секции ВЫБРАТЬ, как привели пример в (3)
---
Как я сделала, тоже работает, но ваш ответ более верный и лаконичный
---
```1c
    ВЫБРАТЬ
    ВЫБОР
    КОГДА ЭтоЕдиница
    ТОГДА 1
    КОГДА НЕ ЭтоЕдиница
    ТОГДА 0
    КОНЕЦ КАК ЭтоЕдиница

    УПОРЯДОЧИТЬ ПО
    ЭтоЕдиница
```
---
Поместите ваш запрос во временную таблицу, а потом из временной таблицы выберите все поля и упорядочите по вашему полю
---
Очень сложно, думаю из за этого вам минусанули)
Для экспериментов отключил режим совместимости в бухгалтерии 3.0
Эксперементировал с расширением и регистраминакоплений.

Расширение УДАЛИЛ.

Теперь не могу включить обратно режим совместимости.
Пишет: Невозможно включить режим совместимости при наличии изменений состава планов обмена расширениями конфигурации

Пробовал выгружать в файловую базу и различными версиями платформы отключать: 8.3.13 и 8.3.14. Не помогло.
Для эксперемента удалил все планы обмена - не помогло.

Кто нить сталкивался?
---
Перепробовал все варианты что вы советовали.
Помогло только восстановление из бекапа базы и перенос данных через XML.
Всем спасибо.
---
Может выгрузить конфигурацию Поставщика, и сверху её накатить.(Конфигурация - Загрузить из файла)
Попробуйте на копии.
---
Попробовал.
Не взлетело, ошибка та же.
---
У вас база должна была стать полностью типовой!
Может вы не конфигурацию Поставщика выгрузили?
Нужно: Конфигурация - Поддержка - Настройка поддержки - Сохранить в файл.
---
+ перед этим не забудьте полностью снять конфигурацию с поддержки
---
так всё и делал.
Видимо что-то с данными стало. Что не знаю.
---
ТиИ не пробовали запускать?
---
Перепробовал все варианты что вы советовали.
Помогло только восстановление из бекапа базы и перенос данных через XML.
Всем спасибо.
Здравствуйте!

Не могу понят для чего этот параметр "ВСЕ" в выборке запроса. Объясните пожалуйста!

```1c
    ВыборкаКлиента = ВыборкаТовар.Выбрать(ОбходРезультатЗапроса.ПоГруппировкам, "Клиент", "ВСЕ");
```
---
Например, в запросе было дополнение по дням. Если этого параметра не будет, то в выборку попадут записи только за те дни, когда были движения. С этим параметрам в выборке будет все записи.
---
Например, в запросе было дополнение по дням. Если этого параметра не будет, то в выборку попадут записи только за те дни, когда были движения. С этим параметрам в выборке будет все записи.
---
Спасибо, так становиться более понятней уже.
Добрый день!

Необходимо перевести БП 2.0 на БП 3.0., в БП 2.0 в документе Поступление на р/с был добавлен реквизит. Пробовала сделать .cf БП 3.0 c аналогичным реквизитом и накатить на БП 2.0, но данные того и моего реквизитов, как я поняла не сопоставляются и он затирается. Сравнением и объединением тоже обновление не проходит, появляются ошибки. Подскажите, пожалуйста, кто сталкивался как осуществить перенос?
---
можете у всех документов записать код организации этого реквизита в не используемый строковый реквизит документа. Сделать переход на 3.0. Затем достать данные как планировали.
---
При обновлении через Поддержка - обновление данные должны сохраниться. Потом только на формы выведите реквизит.
---
1. С помощью конвертации данных. Сделать правила выгрузки и загрузки этого реквизита, запустить.
2. Написать обработки выгрузки/загрузки через файл.
3. Забрать данные через COM.
В общем, много вариантов.
---
Хотелось бы как-то при обновлении (может объединении) перенести это реквизит в БП 3.0.
Потом я планирую с помощью обработки перенести данные этого реквизита в расширение и загрузить типовую конфу. С конвертацией и обработками связываться не хочется.
---
Реквизит простого типа?
---
Да, СправочникСсылка.Организации
---
можете у всех документов записать код организации этого реквизита в не используемый строковый реквизит документа. Сделать переход на 3.0. Затем достать данные как планировали.
---
Я к этому варианту тоже склоняюсь, попробую в поле Комментарий записать данные. Единственное не знаю приведёт ли эта замена к перепроведению документов, ну посмотрим.
---
Можно без перепроведения и перезаполнения.
Укажите - ОбменДанными.Загрузка=Истина;
Использование Комментарий - тоже вариант, можно даже со спец.символами добавить, затем легко убрать с сохранением самого содержимого поле комментарий.
---
Спасибо, так и сделаю.
Решили автоматизировать ЭДО, т.к. Диадок подключен, но им никто не пользуется. Хотим видеть полный комплект документов, но по факту из ЭДО не можем получить счет, точнее можем, но он либо в PDF, либо в xlsx. С тех. поддержкой я связался, ничего хорошего не услышал, говорят если он у них в таком формате, то мол ничего не поделать и даже если закажем внедрение, они ничем не помогут...
Нам хочется грузить счет, как он появляется в ЭДО и парсить тушки PDF и xlsx совсем не хочется... Может кто реализовывал загрузку счетов из ЭДО, подскажите в каком направлении плыть? )))

Вроде как Магнит полностью перешел на ЭДО, неужели они счета ручками вбивают...
---
здесь все просто, вложенные файлы могут быть в разных форматах. Если Вам прислали Excel или PDF, то надо обращаться к тем кто отправляет, что бы отправляли в нужном Вам формате.
Если у клиента, системой не предусмотрено формирование нужного типа документа в нужном Вам формате, это означает, что придется Вам парсить, так как они врятли будут переделывать свою программу.
---
Смысл в том что вам в тех поддержке вам правильно все сказали. Эдо диадок принимает. Любые форматы - делятся они на два вида : формализованые и неформализованные. Формализованые это как раз и есть форматы фнс в xml в соответствии с законом, соответственно не формализованые - это просто отправленный документ в любой форме. Так что если вы получили формат екселя или пдф то тут уже ни чего не поделать. Только обратиться к контрагенту и сказать что хотите документы в формате 551, 189,155 приказов фнс
---
здесь все просто, вложенные файлы могут быть в разных форматах. Если Вам прислали Excel или PDF, то надо обращаться к тем кто отправляет, что бы отправляли в нужном Вам формате.
Если у клиента, системой не предусмотрено формирование нужного типа документа в нужном Вам формате, это означает, что придется Вам парсить, так как они врятли будут переделывать свою программу.
---
Текста много, а смысл не очень понятен. Что откуда и куда хотите грузить?
---
Смысл в том что вам в тех поддержке вам правильно все сказали. Эдо диадок принимает. Любые форматы - делятся они на два вида : формализованые и неформализованные. Формализованые это как раз и есть форматы фнс в xml в соответствии с законом, соответственно не формализованые - это просто отправленный документ в любой форме. Так что если вы получили формат екселя или пдф то тут уже ни чего не поделать. Только обратиться к контрагенту и сказать что хотите документы в формате 551, 189,155 приказов фнс
---
Мой вам совет, когда вы принимаете соглашение контрагента или когда его подписываете, то в это соглашение включите обязательно пункту о том какие документы в каком формате получаете и передаете
Здравствуйте.

Возник вопрос.

Есть Документ, у которого есть Табличная часть. Есть реквизит, при выборе которого в комментарий в табличной части должна прописаться строчка текста.

Вопрос:

Как сделать так, что бы если нет строки в табличной части не появлялась бы ошибка, какое надо сделать условие?

```1c
    &НаКлиенте
    Процедура КвартираПриИзменении(Элемент)

    СтрокаТабличнойЧасти = Элементы.ТабличнаяЧасть4.ТекущиеДанные;

    Если Объект.Квартира = ОпределитьКвартиру322() Тогда

    СтрокаТабличнойЧасти.Комментарий = "322";

    Иначе

    СтрокаТабличнойЧасти.Комментарий = "332";

    КонецЕсли;

    КонецПроцедуры
```
---
Если НЕ СтрокаТабличнойЧасти=Неопределено Тогда
---
Если НЕ СтрокаТабличнойЧасти=Неопределено Тогда
---
Если НЕ СтрокаТабличнойЧасти=Неопределено Тогда

Премного благодарен!

Всё получилось!
---
Допишите возврат если неопределено

```1c
    СтрокаТабличнойЧасти = Элементы.ТабличнаяЧасть4.ТекущиеДанные;
    Если СтрокаТабличнойЧасти Тогда
    Возврат
    КонецеЕсли

    Если Объект.Квартира = ОпределитьКвартиру322() Тогда

    СтрокаТабличнойЧасти.Комментарий = "322";

    Иначе

    СтрокаТабличнойЧасти.Комментарий = "332";

    КонецЕсли;
```
Здравствуйте, пытаюсь программно объединить ячейки в макете, но вся проблема в том, что заранее неизвестно какие ячейки нужно объединить.
То есть в идеале должно быть так ТабличныйДокумент.Область(R3C1:R3C2).Объединить();
Но мне нужно так ТабличныйДокумент.Область("R3C"+Строка(НомерЯчейки+1):"R3C"+Строка(НомерЯчейки+2)).Объединить();

P.S. Заранее спасибо
---
Вам предложено изобразить что то вроде:
НомерСтроки = 3;
ТабличныйДокумент.Область(НомерСтроки,НомерЯчейки+1,НомерСтроки,НомерЯчейки+2).Объединить();
---
НомерЯчейки
В чем сложность его определить?
---
Номер ячейки я определил, но я не могу объединить, таким образом, выдает ошибку
{ВнешняяОбработка.РасчетноПлатежнаяВедомостьСекретно.МодульОбъекта(214,52)}: Ожидается символ ')'
 ТабличныйДокумент.Область(ЯчейкаДляОбъединения1+""<<?>>:ЯчейкаДляОбъединения2).Объединить(); (Проверка: Сервер)
---
У Вас всего лишь синтаксическая ошибка: двоеточие должно быть в кавычках и плюс "потеряли".
---
{ВнешняяОбработка.РасчетноПлатежнаяВедомостьСекретно.МодульОбъекта(211,55)}: Ожидается символ ')'
 ТабличныйДокумент.Область("R3C"+Строка(НомерЯчейки+1)<<?>>:"R3C"+Строка(НомерЯчейки+2)).Объединить(); (Проверка: Сервер)
---
```1c
    ТабличныйДокумент.Область("R3C"+Строка(НомерЯчейки+1) + ":R3C"+Строка(НомерЯчейки+2)).Объединить();
```
---
Для удобства можете обращаться к области не по имени, а по координатам. Вот выдержка из синтакс-помощника:

Область(<НомерПервойСтроки>, <НомерПервойКолонки>, <НомерПоследнейСтроки>, <НомерПоследнейКолонки>)
Параметры:

<НомерПервойСтроки> (необязательный)
Тип: Число.
Номер первой строки области таблицы.
Если отсутствует, то указывается область, состоящая из колонок.

<НомерПервойКолонки> (необязательный)
Тип: Число.
Номер первой колонки области таблицы.
Если отсутствует, то указывается область, состоящая из строк.

<НомерПоследнейСтроки> (необязательный)
Тип: Число.
Номер последней строки области таблицы.
Если выделяется область из колонок (параметр <НомерПервойСтроки> не задан), то указывается номер строки, из которой берется формат строк.

<НомерПоследнейКолонки> (необязательный)
Тип: Число.
Номер последней колонки области таблицы.
---
к сожалению не то.
---
Вам предложено изобразить что то вроде:
НомерСтроки = 3;
ТабличныйДокумент.Область(НомерСтроки,НомерЯчейки+1,НомерСтроки,НомерЯчейки+2).Объединить();
---
Спасибо, подошло, все понял
---
спасибо, пригодилось
Есть Excel файл, картинка ниже, вырезал информацию только по одному предприятию
Задача: выбрать контрагента в базе куда загружаю, учитывая, что его название не такое же как в этом файле "ГАЗ-СЕРВИС ООО", а "ООО ГАЗ СЕРВИС"
---
По любому если в файле нет скажем ИНН - вам придется делать вручную соответствия - что чему соответствует.
Не труднее заменить все названия в файле - а гораздо проще

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

На пальцах - объяснять 1С что чему соответствует по любому дольше и сложнее чем заменить имена в файле
---
Думал может есть метод, решающий данный вопрос, буду просить поменять формат файла Excel
---
Поотрезайте всякие ООО,ОАО и прочие и ищите в запросе через ПОДОБНО %
Как установить программно ставку ндс 20% в конфигурации БП 2.0? проблема в том что при создании реализации товаров в услугах Ндс 18% нужно 20%. а по умолчанию 18. заранее спасибо.
---
Ответ. может пригодиться кому

```1c
    Процедура УслугиВсегоПриИзменении(Элемент)
    текСтр = элементыФормы.Услуги.ТекущаяСтрока;
    если УчитыватьНДС тогда
    текСтр.СуммаНДС = ?(Дата >= Дата(2019, 1, 1), Элемент.Значение/120*20, Элемент.Значение/118*18);
    если СуммаВключаетНДС тогда
    текСтр.Сумма = Элемент.Значение;
    иначе
    текСтр.Сумма = Элемент.Значение - текСтр.СуммаНДС;
    конецЕсли;
    конецЕсли;
    КонецПроцедуры
```
---
В справочнике Номенклатура изменить реквизит СтавкаНДС с 18% на 20%.
---
справочники номенклатура меняю на 20 но ндс рассчитывает от 18,к примеру пишем всего 100 но рассчитывает как 18
---
Посмотрите событие при изменении Ставки НДС, в ней должна быть процедура общая для расчета Суммы НДС
---
но ндс рассчитывает от 18,к примеру пишем всего 100 но рассчитывает как 18
Посмотрите функцию в общем модуле УчетНДС - ПолучитьСтавкуНДС(СтавкаНДС).
Д.б. так:

```1c
    Функция ПолучитьСтавкуНДС(СтавкаНДС) Экспорт

    Если СтавкаНДС = Перечисления.СтавкиНДС.НДС20 ИЛИ СтавкаНДС = Перечисления.СтавкиНДС.НДС20_120 Тогда
    Возврат 20;

    ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.НДС10 ИЛИ СтавкаНДС = Перечисления.СтавкиНДС.НДС10_110 Тогда
    Возврат 10;

    ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.НДС18 ИЛИ СтавкаНДС = Перечисления.СтавкиНДС.НДС18_118 Тогда
    Возврат 18;

    КонецЕсли;

    Возврат 0;

    КонецФункции
```
---
Возможно у Вас установлен режим НДС сверху, а нужен НДС включен в стоимость.
---
То же самое у меня в модуле
ПолучитьСтавкуНДС(СтавкаНДС) Экспорт

 Если СтавкаНДС = Перечисления.СтавкиНДС.НДС20 ИЛИ СтавкаНДС = Перечисления.СтавкиНДС.НДС20_120 Тогда
  Возврат 20;

 ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.НДС10 ИЛИ СтавкаНДС = Перечисления.СтавкиНДС.НДС10_110 Тогда
  Возврат 10;

 ИначеЕсли СтавкаНДС = Перечисления.СтавкиНДС.НДС18 ИЛИ СтавкаНДС = Перечисления.СтавкиНДС.НДС18_118 Тогда
  Возврат 18;

 КонецЕсли;

 Возврат 0;
---
нооо при ндс 20 процентов от 100 ндс 15,5 жмем заново на ндс выбираем 20 и ндс становится верным 16,67
---
Как первоначально заполняется строка в документе? В какой момент видим ставку НДС 20/120?
---
установил на справочник номенклатуру услуги ндс 20 процентов ,захожу в реализацию товаров услуг создаю,вижу ндс 20 процентов ввожу сумму всего считает как от 18 но написано 20,выбираю заново 20 и тогда расчет ндс верный
---
грубо говоря бухгалтерия считает от обратного они сначала вводят сумму всего
---
и от всего должны заполниться ндс и сумма
---
Посмотрите в отладчике как он считает.
---
Ответ. может пригодиться кому

```1c
    Процедура УслугиВсегоПриИзменении(Элемент)
    текСтр = элементыФормы.Услуги.ТекущаяСтрока;
    если УчитыватьНДС тогда
    текСтр.СуммаНДС = ?(Дата >= Дата(2019, 1, 1), Элемент.Значение/120*20, Элемент.Значение/118*18);
    если СуммаВключаетНДС тогда
    текСтр.Сумма = Элемент.Значение;
    иначе
    текСтр.Сумма = Элемент.Значение - текСтр.СуммаНДС;
    конецЕсли;
    конецЕсли;
    КонецПроцедуры
```
Добрый день! Подскажите, нужно выполнить из 1С программно запрос:
"https://АдресСайта.ru/filesUploadedAndReadyToExchange.php".
Запрос создаст файл на сайте и сайт выполнит загрузку данных. Не разу такого не делал, подскажите кто знает как это делается?
Сам написал такой код. Возвращает код 301. Предполагаю, что не передал нужного параметра.
         Соединение = Новый HTTPСоединение("АдресСайта.ru");
  Запрос = Новый HTTPЗапрос("/filesUploadedAndReadyToExchange.php");
  Ответ = Соединение.ОтправитьДляОбработки(Запрос);

Подскажите, нет времени долго копаться. Срочная работа.
---
Всем спасибо!

Цель была активировать скрипт, выполнив запрос.
Добавил параметр ssl, и все пошло.

         Соединение = Новый HTTPСоединение("адресСайта.ru",,,,,,Новый ЗащищенноеСоединениеOpenSSL);

  Запрос = Новый HTTPЗапрос("/filesUploadedAndReadyToExchange.php");

  Результат = Соединение.ОтправитьДляОбработки(Запрос);
---
Всем спасибо!

Цель была активировать скрипт, выполнив запрос.
Добавил параметр ssl, и все пошло.

         Соединение = Новый HTTPСоединение("адресСайта.ru",,,,,,Новый ЗащищенноеСоединениеOpenSSL);

  Запрос = Новый HTTPЗапрос("/filesUploadedAndReadyToExchange.php");

  Результат = Соединение.ОтправитьДляОбработки(Запрос);
---
Что-то не совсем понятно, что вы хотели. Запросы бывают GET и POST. GET - это получить данные, POST - соответственно отправить. У вас больше похоже на POST, но там данные нужно передавать, заголовки запроса заполнять и т.п. Вы какие данные хотите передать?
---
Возможно, из-за того, что соединение не по http, а по https. Я бы использовал 443 порт:

```1c
    Соединение = Новый HTTPСоединение("АдресСайта.ru", 443);
    Запрос = Новый HTTPЗапрос("/filesUploadedAndReadyToExchange.php");
    Ответ = Соединение.ОтправитьДляОбработки(Запрос);
```
---
Через POST:

WinHttp = Новый COMОбъект("WinHttp.WinHttpRequest.5.1");
WinHttp.Option(2, "utf-8");
WinHttp.Open("POST","https://АдресСайта.ru/filesUploadedAndReadyToExchange.php",0);
WinHttp.SetProxy(2, "192.168.1.1:3128");
WinHttp.SetCredentials("ProxyLogin", "ProxyPassword", 1);
WinHttp.SetRequestHeader("Accept-Language", "ru");
WinHttp.SetRequestHeader("Accept-Charset","utf-8");
WinHttp.setRequestHeader("Content-Language", "ru");
WinHttp.setRequestHeader("Content-Charset", "utf-8");
WinHttp.setRequestHeader("Content-type", "application/json;charset=utf-8");
WinHttp.Send("parametr1=value1&metr2=value2");

ТекстСтраницы = WinHttp.ResponseText();
Доброго времени.
Вопрос собственно в названии темы.
---
```1c
    СтараяСсылка = Справочники.МойСправочник.ИмяПредопределенного;
    СтарыйОбъект = СтараяСсылка.ПолучитьОбъект();
    СтарыйОбъект.ИмяПредопределенныхДанных = ";
    СтарыйОбъект.ОбменДанными.Загрузка = Истина;
    СтарыйОбъект.ПометкаУдаления = Истина;
    СтарыйОбъект.Записать();

    НоваяСсылка = Справочники.МойСправочник.ПолучитьСсылку(Новый УникальныйИдентификатор(ИдентификаторСтрокой));
    НовыйОбъект = Справочники.МойСправочник.СоздатьЭлемент();
    НовыйОбъект.УстановитьСсылкуНового(НоваяСсылка);
    НовыйОбъект.ИмяПредопределенныхДанных = "ИмяПредопределенного";
    НовыйОбъект.ОбменДанными.Загрузка = Истина;
    НовыйОбъект.Записать();
```

Но учтите, что это именно новый объект, который теперь предопределенный. Если в других объектах ИБ остались ссылки на старый, они никуда не денутся: существующие объекты по-прежнему будут ссылаться на старый объект.
---
Буквально "перебить" - нет. Но можно создать новый элемент с нужным уникальным идентификатором и сделать его предопределенным.
---
То есть программно создать новый элемент и назначить его предопределенным. Например:

```1c
    КопияОбъекта = Документы.МойДокумент.СоздатьДокумент();
    КопияОбъекта.УстановитьСсылкуНового(МойGUID);
    КопияОбъекта.Предопределенный = Истина;
    КопияОбъекта.Записать();
```
---
Это если через 1с, а если на прямую в SQL, то думаю можно сделать ("перебить") копию строки таблицы предопределённых, а старую удалить.
---
```1c
    СтараяСсылка = Справочники.МойСправочник.ИмяПредопределенного;
    СтарыйОбъект = СтараяСсылка.ПолучитьОбъект();
    СтарыйОбъект.ИмяПредопределенныхДанных = ";
    СтарыйОбъект.ОбменДанными.Загрузка = Истина;
    СтарыйОбъект.ПометкаУдаления = Истина;
    СтарыйОбъект.Записать();

    НоваяСсылка = Справочники.МойСправочник.ПолучитьСсылку(Новый УникальныйИдентификатор(ИдентификаторСтрокой));
    НовыйОбъект = Справочники.МойСправочник.СоздатьЭлемент();
    НовыйОбъект.УстановитьСсылкуНового(НоваяСсылка);
    НовыйОбъект.ИмяПредопределенныхДанных = "ИмяПредопределенного";
    НовыйОбъект.ОбменДанными.Загрузка = Истина;
    НовыйОбъект.Записать();
```

Но учтите, что это именно новый объект, который теперь предопределенный. Если в других объектах ИБ остались ссылки на старый, они никуда не денутся: существующие объекты по-прежнему будут ссылаться на старый объект.
Здравсвуйте, возникала необходимость передать бинарные данные:

```1c
    Функция GetLoogoAction(ЗапросХТТП)
    ОтветХТТП = Новый HTTPСервисОтвет(200);

    ИмяФайла = "\\192.168.0.1\LOGO\LOGO.bmp";
    //проверим есть ли и сколько весит
    Файл = Новый Файл(ИмяФайла);
    Если Файл.Существует() Тогда
    //все ок, проверим размер норм 250 000
    Размер = Файл.Размер();
    Если Размер>1000000 Тогда
    ОтветХТТП.УстановитьТелоИзСтроки("> 1000000 " + ИмяФайла + " " + Размер);
    Возврат ОтветХТТП;
    КонецЕсли;
    КонецЕсли;

    БинарныйФайл = Новый ДвоичныеДанные(ИмяФайла);

    ////все ок - передадим
    //Попытка
    // ЗаписьJSON = Новый ЗаписьJSON;
    // ЗаписьJSON.УстановитьСтроку();
    //
    // ЗаписьJSON.ЗаписатьНачалоОбъекта();
    //
    // ЗаписьJSON.ЗаписатьИмяСвойства("name");
    // ЗаписьJSON.ЗаписатьЗначение(СокрЛП(ФайлЛого.Имя));
    //
    // ЗаписьJSON.ЗаписатьИмяСвойства("bin");
    // ЗаписьJSON.ЗаписатьЗначение(СокрЛП(БинарныйФайлЛого));
    //
    // ЗаписьJSON.ЗаписатьКонецОбъекта();
    //
    // СтрокаJSON = ЗаписьJSON.Закрыть();
    //Исключение
    // ОтветХТТП.УстановитьТелоИзСтроки(ОписаниеОшибки());
    // Возврат ОтветХТТП;
    //КонецПопытки;

    //ОтветХТТП.УстановитьТелоИзСтроки(СтрокаJSON); //если имя и бинарник

    ОтветХТТП.УстановитьТелоИзДвоичныхДанных(БинарныйФайлЛого); //только файл

    Возврат ОтветХТТП;
    КонецФункции
```

А если передаю имя и бинарные данные строкой - то данные приходят кривые.
ЧЯДНТ?
---
кодировать в BASE64
---
кодировать в BASE64
---
там длина строки уменьшится?
- не уменьшилась, но раскодирует, создает файл из бинарника - файл открывается.

```1c
    //все ок - передадим
    Попытка
    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.УстановитьСтроку();

    ЗаписьJSON.ЗаписатьНачалоОбъекта();

    ЗаписьJSON.ЗаписатьИмяСвойства("name");
    ЗаписьJSON.ЗаписатьЗначение(СокрЛП(Файл.Имя));

    ЗаписьJSON.ЗаписатьИмяСвойства("bin");
    //ЗаписьJSON.ЗаписатьЗначение(СокрЛП(БинарныйФайл)); //Base64Строка(Новый ДвоичныеДанные("D:\Файл.xml"))
    ЗаписьJSON.ЗаписатьЗначение(СокрЛП(Base64Строка(БинарныйФайл)));

    ЗаписьJSON.ЗаписатьКонецОбъекта();

    СтрокаJSON = ЗаписьJSON.Закрыть();
    Исключение
    ОтветХТТП.УстановитьТелоИзСтроки(ОписаниеОшибки());
    Возврат ОтветХТТП;
    КонецПопытки;

    ОтветХТТП.УстановитьТелоИзСтроки(СтрокаJSON); //если имя и бинарник
```
---
мб кому пригодится - раскодировать из строки:
Base64Значение("z/Do4uXyIQ==")
Доброго времени. Конфигурация ERP 2.4.5, не знаю, что произошло, но при попытке запуска штатной обработки по удалению помеченных объектов начала выходить такая ошибка(см. скриншот). Поиски привели меня к такому решению: в свойствах локального кластера сервера 1С есть интервал перезапуска рабочего процесса, и событие не успевает отработать за заданный интервал и происходит перезапуск рабочего процесса, что и приводит к данной ошибке. Скрин настройки кластера прикладываю, там нет ограничений. Следовательно проблема в другом. Может кто сталкивался, куда рыть?
---
Спасибо за идею. Нашел в списках ошибки платформы.
---
поставьте на удаление 1 элемент. Или оно на поиске падает?
Также возможно косячный релиз платформы у вас стоит!
---
На поиске
---
после рестарта сервера тоже падает?
Снимать логи писать в 1С.
---
Спасибо за идею. Нашел в списках ошибки платформы.
---
Может по интервалу превышения допустимого объёма памяти отрубается? Если удалять объекты по одному ошибка воспроизводится? Что в журнале?
---
В том то и дела, что в журнале данная ошибка не регистрируется.
---
Объем памяти увеличили. Теперь ошибка такого плана.