arefaste/1C_Forums huggingface dataset:
Добрый день. Начинающий программист. Подскажите пожалуйста, возможно глупый вопрос, но никак не могу понять, как в одном запросе сделать так, чтобы для "Документ.СписаниеТоваров" отображалась "Стоимость" в одной колонке, а для Документ.ОприходованиеТоваров отображалась "Стоимость" в другой колонке.

```1c
    ВЫБРАТЬ
    ПартииТоваровНаСкладах.Период КАК ДатаДокумента,
    ПартииТоваровНаСкладах.Регистратор КАК Документ,
    ПартииТоваровНаСкладах.Регистратор.ИнвентаризацияТоваровНаСкладе КАК ДокументИнвентаризации,
    ПартииТоваровНаСкладах.Склад КАК Склад,
    ПартииТоваровНаСкладах.Номенклатура КАК Номенклатура,
    ПартииТоваровНаСкладах.Стоимость КАК СтоимостьОприходования
    ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах
    ГДЕ
    ПартииТоваровНаСкладах.Период МЕЖДУ &Период1 И &Период2
    И (ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.СписаниеТоваров
    ИЛИ ПартииТоваровНаСкладах.Регистратор ССЫЛКА Документ.ОприходованиеТоваров)
    И НЕ ПартииТоваровНаСкладах.Регистратор.ИнвентаризацияТоваровНаСкладе = ЗНАЧЕНИЕ(Документ.ИнвентаризацияТоваровНаСкладе.ПустаяСсылка)
```
---
```1c
    Выбор когда ПартииТоваровНаСкладах.Регистратор Ссылка Документ.СписаниеТоваров тогда ПартииТоваровНаСкладах.Стоимость иначе 0 конец КАК СтоимостьСписания,
    Выбор когда ПартииТоваровНаСкладах.Регистратор Ссылка Документ.ОприходованиеТоваров тогда ПартииТоваровНаСкладах.Стоимость иначе 0 конец КАК СтоимостьОприходования
```
---
```1c
    Выбор когда ПартииТоваровНаСкладах.Регистратор Ссылка Документ.СписаниеТоваров тогда ПартииТоваровНаСкладах.Стоимость иначе 0 конец КАК СтоимостьСписания,
    Выбор когда ПартииТоваровНаСкладах.Регистратор Ссылка Документ.ОприходованиеТоваров тогда ПартииТоваровНаСкладах.Стоимость иначе 0 конец КАК СтоимостьОприходования
```
---
Стыдно. В голове крутилось такое условие, но всё никак не мог сформулировать и правильно записать. Спасибо большое, помогло.
Ошибка {Документ.удДоговор.Форма.ФормаДокумента.Форма(54)}: Преобразование значения к типу Число не может быть выполнено
   СписокМесяцев.Добавить(Число(Сред(СтрокаМесяцев, ПерваяПозиция, Ном-ПерваяПозиция)));

```1c
    Функция ПрочитатьМесяцы(СтрокаМесяцев)

    СписокМесяцев = Новый Массив;
    ПерваяПозиция = 1;

    Ном = 0;

    Пока СтрДлина(СтрокаМесяцев) >= Ном Цикл
    Ном = Ном + 1;
    Если Сред(СтрокаМесяцев, Ном, 1) = "," Тогда
    СписокМесяцев.Добавить(Число(Сред(СтрокаМесяцев, ПерваяПозиция, Ном-ПерваяПозиция)));
    ПерваяПозиция = Ном+1;
    КонецЕсли;
    КонецЦикла;

    Если Ном > ПерваяПозиция Тогда
    СписокМесяцев.Добавить(Число(Сред(СтрокаМесяцев, ПерваяПозиция, Ном-ПерваяПозиция)));
    КонецЕсли;

    Возврат СписокМесяцев;

    КонецФункции
```
---
В строке были "1,2,3", но так как информации очень много и в одной строке допустили опечатку и напечатали две запятые, так как проблемы была в одном случае, то это было странно, но причина нашлась)
---
Отладчиком встаньте на эту строку и проверьте. Первым делом я бы глянул переменную "СтрокаМесяцев".
---
а шо у вас в строке месяцев лежит? "1,2,3,4,5..."? Или "январь,февраль...."?
---
В строке были "1,2,3", но так как информации очень много и в одной строке допустили опечатку и напечатали две запятые, так как проблемы была в одном случае, то это было странно, но причина нашлась)
---
СписокМесяцев = СтрРазделить(СтрокаМесяцев, ",", Ложь);
Без добавления БСПных процедур - открывается, еще на форме есть реквизит список значений со ссылкой на другой документ, я его на форму да же не вывожу,, реквизит есть - форма не открывается, удаляю - открывается. Текст ошибки
Отсутствует отображение для типа '{http://v8.1c.ru/8.1/data/enterprise/current-config}DocumentObject.АИС_АПК_НазначениеОтчетностиСХТП'
---
Ключевое - DocumentObject
У вас список значений из объектов? Не ссылок?
---
Значит вы на клиент пытаетесь получить тип объекта, который там быть не может.
---
И куда рыть? форма списка документа АИС_АПК_НазначениеОтчетностиСХТП открывается, и какой тип объекта на клиенте просто при добавлении реквизита формы?
---
Ключевое - DocumentObject
У вас список значений из объектов? Не ссылок?
---
Ну заполнял свойство реквизита список значений раздел - объект, тип значения - СправочникСсылка.АИС_АПК_ВидыОтчетовСХТП
все платфоменное, как то противоречиво, значение - ссылка
---
Сдается мне, это была комедия. Зачем вам документОбьект на клиенте? На клиенте может жить мало типов. И никаких мутабельных типов. Никаких!
---
Ой действительно было документ объект
Добрый день,подскажите пожалуйста неумёхе,как сделать,чтобы реквизит формы автоматически заполнялся,беря информацию из табличной части.
То есть есть таб. часть,в который указывается список товаров и сумма,нужно чтобы при изменении реквизита "сумма" табличной части,эта сумма добавлялась в реквизит "всего".
Я это сделал так:

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

    Строка = Элементы.СписокТоваров.ТекущиеДанные;
    Объект.всего = Объект.всего + Строка.сумма;

    КонецПроцедуры
```
---
```1c
    &НаКлиенте
    Процедура СписокТоваровСуммаПриИзменении(Элемент)

    Объект.всего = Объект.СписокТоваров.Итог("Сумма");

    КонецПроцедуры
```

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

    Объект.всего = Объект.СписокТоваров.Итог("Сумма");

    КонецПроцедуры
```

Это не работает? Проверьте, точно ли в процедуру входит
---
роцедура СписокТоваровСуммаПриИзменении(Элемент)

Объект.всего = Объект.СписокТоваров.Итог("Сумма");
Всё,заработало,спасибо
Когда запускаю типовый отчет из Программы, скажем ведомость расчетов с поставщиками, то если меняю настройки на вывод детальных записей с объектом расчетов и конечным остатком, то выдает их норм, но когда загружаю объект схемы прочитанный из xml

```1c
    ЧтениеXMLДанных = Новый ЧтениеXML;
    ЧтениеXMLДанных.УстановитьСтроку(СтрокаXML);
    Схема = СериализаторXDTO.ПрочитатьXML(ЧтениеXMLДанных);
    ЧтениеXMLДанных.Закрыть();

    _отчет = отчеты.ВедомостьРасчетовСПоставщиками.Создать();
    _отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Схема.НастройкиПоУмолчанию);
    _отчет.КомпоновщикНастроек.Инициализировать(
    Новый ИсточникДоступныхНастроекКомпоновкиДанных(Схема));
```

, а затем делаю

```1c
    _отчет.СкомпоноватьРезультат (ТабДок)
```

, то выдает объект расчетов нормально, но остатки пустыми?

С некоторыми другими типовыми отчетами подобное прокатывает нормально.
---
Прошу прощения, нашел ответ сам - в конфигурации два типовых отчета с одним и тем же синонимом, один из которых не рабочий.
---
Прошу прощения, нашел ответ сам - в конфигурации два типовых отчета с одним и тем же синонимом, один из которых не рабочий.
---
```1c
    _отчет.КомпоновщикНастроек.Инициализировать(
    Новый ИсточникДоступныхНастроекКомпоновкиДанных(Схема));
```

тоже не совсем то (это хорошо только для того чтобы пользовательские настройки сохранялись после отчета, если компоновщик настроек меняется в отчете с изначального), вот так правильнее:

```1c
    _отчет.схемакомпоновкиданных = схема;
```
Добрый день!

Не могу найти нормальную техническую документацию по работе расширений. Моя проблема: создал свой документ в расширении, но его нет в пользовательском режиме. Расширение работает точно.
Просьба подсказать в каком направлении рыть или подсказать, где про это можно почитать?

Заранее спасибо!

П.С. на ИТС очень слабая документация, описывающая возможности в двух предложениях.
---
Добавить пользователю роли из расширения.
---
Добавить пользователю роли из расширения.
---
Друг, ты гений, огромное спасибо! Не подумал про роль(
---
Может ваш документ не относится ни к одной подсистеме ?
Всем доброго дня.
Возникла такая странная ситуация.
Есть реквизит документа, тип ДАТА. (дата и время)
В форме документа вводим дату, т.е. выбираем руками день. Допустим 26/12/2019.
После ввода отображается 26/12/2019 00:12:00. Разве не 00:00:00 должно быть?
Причем есть зависимость. Если выбирать месяц, например, ноябрь (11), то время заполняется как 00:11:00.
При попытке руками исправить минуты на 00, система ругается и не дает этого сделать.
Что происходит, кто знает?
---
Что происходит, кто знает?
В поле стоит формат кривой))
Для минут (mm) стоит формат как для месяцев (MM).
---
Например, в свойствах элемента формы.
---
Так смотрите свое поле...
может там прописано минуты = номер месяца...
Кто ж его знает что вы там напрограммировали?
Или это в типовой конфигурации на поддержке?
---
ничего не прописывалось. новый реквизит. никаких формул к нему.
---
Что происходит, кто знает?
В поле стоит формат кривой))
Для минут (mm) стоит формат как для месяцев (MM).
---
где это могли указать, если и в реквизите новом и в стандартном (дата документа) - одинаковая проблема?
---
Я в (12) рекомендовал СБРОСИТЬ формат...вы явно не сделали...
---
Например, в свойствах элемента формы.
---
скорее всего там понаставили. сейчас уберу. спасибо!!!
---
Да. так и было. Спасибо, Вы верно подметили)
---
Платформа? Конфа? Текст ругани?
---
1С:ERP Управление Предприятием
---
Вас что пытать нужно, чтобы вы представили полную информацию?
Платформа? Конфа?
Ну ГДЕ мы должны искать ошибку?
---
1С:Предприятие 8.3 (8.3.15.1656)
1С:ERP Управление предприятием 2 (2.4.9.98)
При изменении минут Ошибка "В поле введены некорректные данные"
---
ну это же вы все насоздавали....
значит банально сделайте еще раз правильно...
Или выкладывайте тут то что вы настрочили.
Ну нету тут телепатов!
Все работает нормально, если нормально сделать...
---
сейчас напишу, подгрузится
---
не спорю. но ошибку-то надо найти
---
В 7 7 время документа было недоступно для обычного редактирования пользователем, иногда делали автоинкремент (т.е. автоматическое размещение документов в пределах дня по какому-то алгоритму). Возможно, у вас нечто похожее как нибудь не так работает.
---
Сбрось формат редактирования у поля для начала....
26/12/2019 вот так дата не должна по умолчанию отображаться.....
ты как минимум его менял

Обычный вид у даты 26.12.2019 00:00:00
---
26.12.2019 - так отображается. В вопросе неверно записала. сори.
---
Ну так может лучше картинки тогда выкладывать - по ним гораздо яснее все будет
Конфигуратор с тем реквизитом и чтоб свойства были видны
---
свойства
---
не пойму , на самом деле , вам что жалко информацию выдать полную?
зачем такие вырезки
Нужны подобные
---
Не то.
Свойства поля формы надо.
---
ошибка
---
Сейчас заметила, что и дата документа автоматически подставилась с минутами, равными 12.
---
Если при изменении минут (например, указать 10), у вас меняется и месяц, то проблема в формате.
---
.
---
Все еще не то.
---
Спасибо за столь подробную помощь!!! Через некоторое время напишу результат. Но скорее всего именно это! СПАСИБО!
Добрый день

база: 1С Бухгалтерия, редакция 3

У глбухгалтера новая гениальная идея возникла, лучше я не буду писать какая ((, просто приступлю к сути:

необходимо во всех проводках за определенный период проставить галочку "Ручная корректировка".

Возможно ли это сделать не в ручном режиме и если да, то как ?
---
У записей регистра бухгалтерии нет такого реквизита, которая отвечает, что мол данная проводка введена вручную. Проверить справедливость этих слов можно с помощью запроса к любой записи регистра бухгалтерии "Хозрасчетный".

Если хотите проставить признак ручная корректировка у документов, тогда вам поможет обработка "Групповое изменение реквизитов" (найти можно через "Все функции"). В обработке выбираете вид документа и устанавливаете отбор (в вашем случае дата документа) и в качестве изменяемого реквизита выбираете "Ручная корректировка".
---
Универсальный подбор и обработка или написать самому
---
а можно по-подробнее как через универсальный подбор и обработку и как самому..
---
```1c
    Выбрать Различные Регистратор КАК Объект из РегистрБухгалтерии.Хозрасчетный
```
---
У записей регистра бухгалтерии нет такого реквизита, которая отвечает, что мол данная проводка введена вручную. Проверить справедливость этих слов можно с помощью запроса к любой записи регистра бухгалтерии "Хозрасчетный".

Если хотите проставить признак ручная корректировка у документов, тогда вам поможет обработка "Групповое изменение реквизитов" (найти можно через "Все функции"). В обработке выбираете вид документа и устанавливаете отбор (в вашем случае дата документа) и в качестве изменяемого реквизита выбираете "Ручная корректировка".
Есть отчет на СКД, который собирает данные из разных баз потом формирует из внешнего набора.
Сейчас встала задача параллельно на форму в ТЗ грузануть кое какие выборки из готового отчета.

Пытаюсь в процедуре ПриКомпоновкеРезультата как то увидеть свою таблицу
и через ЭтотОбьект и через Отчет не виден контекст.

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

У меня есть обработка которая исчёт данные в определенной папке на компьютере, мне нужно эту папку изменить. Не могу найти настройку в обработке.
По тексту ошибки (которая появляется если я удалю папку) нашел в коде обработки следующий кусок

Перем НП;
Перем глТекущийПользователь ;

Процедура ОрганизацияПриИзменении(Элемент)
 Если ЗначениеЗаполнено(Организация) Тогда
  РабочийКаталог = нрОбщий.ПолучитьЗначениеДопПараметра("Путь_EDI_"+Организация.Префикс);
  Если НЕ ЗначениеЗаполнено( РабочийКаталог ) Тогда
   Сообщить("Не получилось определить путь к данным для данной организации! Установлен путь по умолчанию!");
   РабочийКаталог = нрОбщий.ПолучитьЗначениеДопПараметра("Путь_EDI");
  КонецЕсли;
 КонецЕсли;
 Если НЕ ЗначениеЗаполнено( РабочийКаталог ) Тогда
  Предупреждение("Не получилось определить путь к данным! Обратитесь к администратору!");
 КонецЕсли;

 кнЗагрузитьДеревоНажатие(Неопределено);
КонецПроцедуры

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

```1c
    {ОбщийМодуль.ЭлектронныеДокументы.Модуль(1205)}: Ошибка при вызове метода контекста (Выполнить)
    Если Запрос.Выполнить().Пустой() Тогда
    по причине:
    Ошибка выполнения запроса
    по причине:
    Ошибка в ограничении доступа к данным.
    объект: 'РегистрСведений.СостоянияКонтрагентовБЭД', поле: 'Состояние'; право: 'Чтение'
    Синтаксическая ошибка "Шаблон 'Контрагент' не существует"
    по причине:
    Синтаксическая ошибка "Шаблон 'Контрагент' не существует"
```
---
Посмотрите, у какой роли для РС СостоянияКонтрагентовБЭД установлены ограничения на уровне РЛС. Где в ограничение доступа к данным есть что-то типо #Контрагент("Контрагент"), у этой роли должно быть что-то произошло с шаблоном ограничений. Можно посмотреть у типовой роли одноименный шаблон и создать такой же в роли, в которой ошибка
---
УПП нетиповая, обновляюсь с 1.3.122 до 1.3.126.2. Стала вылетать эта ошибка.
Подскажите,пожалуйста,в каком направлении копать))
---
Посмотрите, у какой роли для РС СостоянияКонтрагентовБЭД установлены ограничения на уровне РЛС. Где в ограничение доступа к данным есть что-то типо #Контрагент("Контрагент"), у этой роли должно быть что-то произошло с шаблоном ограничений. Можно посмотреть у типовой роли одноименный шаблон и создать такой же в роли, в которой ошибка
Добрый день!

Стоит задача на кастомизацию ролей в базе Бухгалтерия для Казахстана 3.0.32.1, в базе так же используются ограничения на уровне записей по складам и кассам.

С первых попыток добавить в типовую конфигурацию своих ролей на основе роли
 ДобавлениеИзменениеДанныхБухгалтерии" и настройки профиля задачу решить не удалось.
При создании своих ролей с нуля, я копировал шаблоны РЛС для объектов метаданных из соответствующих ролей, результат был: пользователю не видны документы.

Методом проб дошел до простого эксперимента:
 - копируем профиль Бухгалтер, называем его "Бухгалтер (Алматы)", устанавливаем ограничения по складам и кассам
 - назначаем пользователю профиль "Бухгалтер (Алматы)" (в этот профиль входит роль ДобавлениеИзменениеДанныхБухгалтерии), заходим под пользователем: РЛС четко отрабатывается, пользователь видит все документы по доступным ему складам и кассам.
 - в конфигураторе копируем роль ДобавлениеИзменениеДанныхБухгалтерии (имеем стандартное название ДобавлениеИзменениеДанныхБухгалтерии1) без каких либо изменений и подменяем в профиле "Бухгалтер (Алматы)" оригинальную роль ДобавлениеИзменениеДанныхБухгалтерии на скопированную ДобавлениеИзменениеДанныхБухгалтерии1, заходим под пользователем: пользователь не видит документы вообще (при попытке создать и записать документ) ошибка что нет прав над операцией над базой данных, в Информации для тех поддержки ошибка (сообщение) не фиксируется.

Поиск по конфигурации "ДобавлениеИзменениеДанныхБухгалтерии" не показал что где-то железно прописано зависимость по наименованию роли.

Каким образом правильно создавать свои роли по которым будут отрабатываться ограничения РЛС?
---
Воспользуйся обработкой "Обновление вспомогательных данных", должно быть в "Все функции". Иногда помогает.
---
если прочитаны все инструкции с ИТС, то
1. не забывать включать роли в доступные пользователю подсистемы - иначе кукиш
2. не забывать выключать роли которые дают больше прав - иначе кукиш
---
Да, я читал документацию, постарался все учесть, в том числе и рекомендации по сочетанию ролей с учетом РЛС грозящих просадом производительности. Но вот не понятно почему не отрабатывается просто скопированная идентичная роль. Хотя бы это понять и будет от чего плясать.
---
Воспользуйся обработкой "Обновление вспомогательных данных", должно быть в "Все функции". Иногда помогает.
---
Спасибо, возможно это решение! В конфигурации такой обработки не нашел, но нашел в шаблонах БСП и к сожалению она не сможет работать в моей конфигурации так как в тексте неоднократно ссылается на несуществующие модули, возможно это из-за особенности казахстанской конфигурации БП.
---
Подобрал обработку из соответствующей версии БСП, обновил, заработало! Спасибо Вам, очень выручили!
---
отлично, сам недавно на подобное натыкался)
Добрый день. Есть потребность записывать коротенькие JSONы в строку, использую такой корявый вариант

```1c
    СтрокаЗапроса = "{" + Символ(34) + "requests" + Символ(34) + ":[{" + Символ(34) + "addSheet" + Символ(34) + ":{" + Символ(34) + "properties" + Символ(34) + ":{" + Символ(34) + "title" + Символ(34) + ":" + Символ(34) + "Deposits" + Символ(34) + "," + Символ(34) + "gridProperties" + Символ(34) + ":{" + Символ(34) + "rowCount" + Символ(34) + ":20," + Символ(34) + "columnCount" + Символ(34) + ":12}," + Символ(34) + "tabColor" + Символ(34) + ":{" + Символ(34) + "red" + Символ(34) + ":1," + Символ(34) + "green" + Символ(34) + ":0.3," + Символ(34) + "blue" + Символ(34) + ":0.4}}}}]}";
```

Есть ли способ делать это как-то более элегантно?)
---
или так

```1c
    с3 = "
    |{
    | "requests": [{
    | "addSheet": {
    | "properties": {
    | "title": "Deposits",
    | "gridProperties": {
    | "rowCount": 20,
    | "columnCount": 12
    | },
    | "tabColor": {
    | "red": 1,
    | "green": 0.3,
    | "blue": 0.4
    | }
    | }
    | }
    | }]
    |}";
    Сообщить(с3);
```
---
Структуру создайте и ЗаписьJson используйте
---
+ """ +
---
+ """" + тогда уж :)
---
Вечно путаюсь в количестве, обычно через отладку докидываю недостающих :)
---
Найдите в синтакс-помощнике "ЗаписьJSON". Будет элегантнее, но в одну строку не войдет.
---
А ЗаписьJSON - не?

```1c
    СтрокаЗапроса = "{"requests":[{"addSheet":{"properties":{"title":"Deposits","gridProperties":{"rowCount":20,"columnCount":12},"tabColor":{"red":1,"green":0.3,"blue":0.4}}}}]}";
```
---
Можно еще так извратиться

```1c
    Кв = Символ(34);

    СтрокаЗапроса = "{" + Кв + "requests" + Кв ;
```
---
```1c
    мСтроки = Новый Массив;
    мСтроки.Добавить("{");
    мСтроки.Добавить("requests");
    мСтроки.Добавить(":[{");
    мСтроки.Добавить("addSheet");
    мСтроки.Добавить(":{");
    мСтроки.Добавить("properties");
    мСтроки.Добавить(":{");
    мСтроки.Добавить("title");
    мСтроки.Добавить(":");
    мСтроки.Добавить("Deposits");
    мСтроки.Добавить(",");
    мСтроки.Добавить("gridProperties");
    мСтроки.Добавить(":{");
    мСтроки.Добавить("rowCount");
    мСтроки.Добавить(":20,");
    мСтроки.Добавить("columnCount");
    мСтроки.Добавить(":12},");
    мСтроки.Добавить("tabColor");
    мСтроки.Добавить(":{");
    мСтроки.Добавить("red");
    мСтроки.Добавить(":1,");
    мСтроки.Добавить("green");
    мСтроки.Добавить(":0.3,");
    мСтроки.Добавить("blue");
    мСтроки.Добавить(":0.4}}}}]}");
    с2 = СтрСоединить(мСтроки, "");
```
---
или так

```1c
    с3 = "
    |{
    | "requests": [{
    | "addSheet": {
    | "properties": {
    | "title": "Deposits",
    | "gridProperties": {
    | "rowCount": 20,
    | "columnCount": 12
    | },
    | "tabColor": {
    | "red": 1,
    | "green": 0.3,
    | "blue": 0.4
    | }
    | }
    | }
    | }]
    |}";
    Сообщить(с3);
```