arefaste/1C_Forums huggingface dataset:
День добрый!
Платформа 8.3.12.1685, пока что.
Надо изменить и записать 2а объекта, но если один из них не захочет записываться (ошибка и т.п.), то не записывать второй.
Возникает ситуация и вопрос, когда первый, по очереди, объект запишется, а второй нет, то как отменить транзакцию записи первого?
Код типа:

```1c
    Попытка

    Объект1.Записать();
    Объект2.Записать();

    Исключение
    ЗаписьЖурналаРегистрации(...);
    КонецПопытки;
```

не выручает. Если Объект2 не запишется, то Объект1 останется записанным.
---
читал статью с этими методами, но не разобрался куда их писать
ht tps://its.1c.ru/db/metod8dev/content/2313/hdoc

```1c
    Объект1.Наименование = "ТЕСТ 222"; // вношу изменения
    Попытка
    НачатьТранзакцию();

    Объект1.Записать(); // записываю без ошибок первый объект
    Объект2.Выполнена = 1 / 0; // инсценирую ошибку

    ЗафиксироватьТранзакцию();

    Исключение

    а=1; // в итоге Объект1 остаётся с изменениями
    ОтменитьТранзакцию();
    КонецПопытки;
```

этот код не помогает. И вообще, поможет ли какой-нибудь?
---
В принципе, код корректный и должен работать. А как Вы проверяли, что объект с измененными свойствами? Вы его видели таким непосредственно в базе или увидели измененным в отладчике сразу после отмены транзакции?
---
НачатьТранзакцию();
ЗафиксироватьТранзакцию();
ОтменитьТранзакцию();
---
читал статью с этими методами, но не разобрался куда их писать
ht tps://its.1c.ru/db/metod8dev/content/2313/hdoc

```1c
    Объект1.Наименование = "ТЕСТ 222"; // вношу изменения
    Попытка
    НачатьТранзакцию();

    Объект1.Записать(); // записываю без ошибок первый объект
    Объект2.Выполнена = 1 / 0; // инсценирую ошибку

    ЗафиксироватьТранзакцию();

    Исключение

    а=1; // в итоге Объект1 остаётся с изменениями
    ОтменитьТранзакцию();
    КонецПопытки;
```

этот код не помогает. И вообще, поможет ли какой-нибудь?
---
В принципе, код корректный и должен работать. А как Вы проверяли, что объект с измененными свойствами? Вы его видели таким непосредственно в базе или увидели измененным в отладчике сразу после отмены транзакции?
---
да, вы правы, работает. Я проверял в отладке, после отмены, и был не прав. Спасибо!
Создается документ КадровыйПриемСписком. В процессе создаются новые сотрудники. В случае ошибок происходит отмена транзакции. Документа нет, но в справочнике Сотрудников остаются пустые сотрудники. Как можно это исправить? Подскажите, пожалуйста.

```1c
    НачатьТранзакцию();
    НовыйДок = Документы.ПриемНаРаботуСписком.СоздатьДокумент();

    ...заполнение табличной части Сотрудники в цикле...

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

Помогло использование параметра номера счета фактуры, который создается в ПКС ПКО Реализация товаров и услуг. Он содержит номер счета фактуры в документе. Если номера нет = пустое значение. Следовательно цикл инициализируется если Значение заполнено, если будут еще у кого идеи буду рад узнать
---
```1c
    Если СчФактура = Неопределено И ЗначениеЗаполнено(ПараметрыОбъекта["НомерСчетаФактуры"]) Тогда
    СчФактура = Документы.СчетФактураПолученный.СоздатьДокументНаОсновании(Объект.Ссылка, ПараметрыОбъекта["НомерСчетаФактуры"], Объект.Дата);
    ОбъектСчетаФактуры = СчФактура.ПолучитьОбъект();
    ОбъектСчетаФактуры.Контрагент = Объект.Контрагент;
    ОбъектСчетаФактуры.ДоговорКонтрагента = Объект.ДоговорКонтрагента;
    ОбъектСчетаФактуры.НомерВходящегоДокумента = ПараметрыОбъекта["НомерСчетаФактуры"];
    ОбъектСчетаФактуры.ДатаВходящегоДокумента = Объект.Дата;
    ОбъектСчетаФактуры.Записать(РежимЗаписиДокумента.Проведение);
    КонецЕсли;
```

Помогло использование параметра номера счета фактуры, который создается в ПКС ПКО Реализация товаров и услуг. Он содержит номер счета фактуры в документе. Если номера нет = пустое значение. Следовательно цикл инициализируется если Значение заполнено, если будут еще у кого идеи буду рад узнать
Добрый день, коллеги.

Нарисовалась странная ситуация - невозможность получения значения одного перечисления - получаем Неопределено.
Пробовал сделать реструктуризацию - не помогло. Скопировал перечисление - обращение к значению работает.
Проблема именно с конкретным перечислением. Что это может быть?
ЗЫ: поведение одинаково при получении значения через ПеречисленияМенеджер и ПредопределенноеЗначение()
---
Бубен не помогает. Ещё и ошибки sdbl пошли... решено забить на эту тестовую базу.
---
кеш.
---
В (2) предлагали почистить кеш. Делали?
---
А Вы добавили его в список типов ПланВидовХарактеристик ?
---
ПланВидовХарактеристик
---
проверьте значение в табло, если скопировать имя из перечисления и вставить в ПредопределенноеЗначение(...). Может имя некорректно задано:
помню в одной типовой как-то в имени модуля была латинская С вместо кириллицы. А потом кто-то изменил на кириллицу. Вот мы "веселились"...
---
Так я же скопировал данное перечисление!
---
Сделайте так. Напишите строку: Перечисление.НазваниеПеречисления.[как только ставите точку, выбираете из предложенных вариантов]
Все это копируете и вставляете в функцию ПредопределенноеЗначение.
Если отрабатывает, то ищите ошибку в символе. Если нет, то удалите перечисление и заного добавьте.
Можно также выгрузить конфигурацию в файлы и посмотреть по структуре, что там по описаниям.
---
Не отрабатывает, разумеется, я пользуюсь контекстной подсказкой и не ввожу все это руками.
---
Очень важная заметка - значения проблемного перечисления отображаются только в управляемой форме (обычное приложение)
При попытке выбрать его в обычной форме вижу "Пустое значение"
---
Тогда скиньте конфигурацию, посмотрим :-)
---
коммерческая тайна
---
Ну тогда ни чем помочь не можем :-)
Как писал выше, либо переделайте перечисление, либо выгрузите конфигурацию в файлы и смотрите, что не так с перечислением.
---
может какие-нибудь функциональные опции влияют?
---
Бубен не помогает. Ещё и ошибки sdbl пошли... решено забить на эту тестовую базу.
Товарищи, помогите, пожалуйста, очень устал биться с ошибкой криптографии. Что может быть?

Использую конфигурацию Медицина: Больничные. Платформа 8.3.12. ViPNet 4.2.11. Алгоритм подписи по ГОСТ 2012.

В программе стоят значения:
Infotecs GOST 2012/512 Cryptographic Service Provider
Тип: 77
Алгоритм подписи: GOST 34.10-2012 512
Алгоритм хеширования: GOST 34.11-2012 256
Алгоритм шифрования: GOST 28147-89

Загружаю в 1С свой сертификат. Я пытаюсь его проверить, и происходит ситуация, как на скриншоте. Всё проходит, кроме расшифровки данных, и ошибка встает "0x80100001". Гугл по ней ничего не дает.

Я уже, кажется, всё сделал: и платформу менял, и релиз конфигурации, и версию VipNet, и сертификаты переустанавливал по сто раз, и в 1С отлаживался. Нет понимания даже примерного, почему может быть проблема при расшифровке.

Помогите, а?
---
Для гуглящих (если есть ещё такие счастливчики).

Проблема была в Rutoken'е. Хотя из всех претендентов это был один из последних.

Как нашли: решили обратиться к 1С-франчайзи, с которыми у нас договор, и сделать сертификат для 1С-отчетности на одно из лиц, для которых были сделаны Rutoken'ы. Сертификат заказали для того же криптопровайдера и того же ГОСТ'а. И этот новый сертификат нормально отработал, в отличие от того, что бы на Rutoken'е.
---
Апну от безнадёги
---
А режиме отладки проверяли, что алгоритмы установлены верные.
Была проблема на УТ 10.3 в настройках выставлял нужный алгоритм, но подтягивал при настройках старый. Тупо прописал новый везде, почему не определял из настроек, так и не разобрался.
---
Спасибо за ответ. Алгоритмы проверял во время глубокой отладки - там всё нормально.
---
Попробуйте еще такой вариант, поставить все на другом компьюторе, маловероятно, но других идей нет.
Разве что, дело в самой программе VipNet
---
Это я тоже делал, увы, с разными версиями VipNet.
---
Для гуглящих (если есть ещё такие счастливчики).

Проблема была в Rutoken'е. Хотя из всех претендентов это был один из последних.

Как нашли: решили обратиться к 1С-франчайзи, с которыми у нас договор, и сделать сертификат для 1С-отчетности на одно из лиц, для которых были сделаны Rutoken'ы. Сертификат заказали для того же криптопровайдера и того же ГОСТ'а. И этот новый сертификат нормально отработал, в отличие от того, что бы на Rutoken'е.
Во внешней обработке в запросе формирую ТЗ, потом хочу записать её в регистр, подскажите как это можно сделать? Делал вот так, но это лажа, потому что нельзя сделать отбор по нескольким полям

```1c
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    Набор = РегистрыНакопления.******.СоздатьНаборЗаписей();
    Набор.Отбор.Регистратор.Установить(ВыборкаДетальныеЗаписи.Ссылка); // беру из запроса

    Набор.Прочитать();
    Движение = Набор.Добавить();
    мой список полей

    Набор.Записать();

    КонецЦикла;
```
---
Ну вот смотрите у вас есть Регистр Накопления, делаете

```1c
    НаборЗаписей = РегистрыНакопления.ИмяРегистр.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(СсылкаНаДокумент)
    Таблица = НаборЗаписей.Выгрузить();

    // тут что то делаете

    НаборЗаписей.Загрузить(Таблица);
    НаборЗаписей.Записать();
```

То есть выгрузили таблицу - она содержит структуру регистра, что то там сделали и обратно загрузили
---
У вас в коде все хорошо должно все работать. В чем ошибка?? какой вам еще отбор нужно добавить?
---
Ваш вопрос заключается в том что как записать данные в регистр установить отбор по регистратору и еще одному полю?
---
ага
---
мне нужно еще два отбора
---
вам нужен другой подход. В регистре накопления если я не ошибаюсь можно установить отбор только по регистратору.
---
Ввиду того что можно сделать отбор только по регистратору. Вы когда установили отбор по регистратору, выгружаете все в таблицу значений и далее на ней делаете фильтр и дальнейшие какие то действие и далее таблицу загружаете в регистр
---
ок, в том то и вопрос как загрузить таблицу в регистр?
---
Ну вот смотрите у вас есть Регистр Накопления, делаете

```1c
    НаборЗаписей = РегистрыНакопления.ИмяРегистр.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(СсылкаНаДокумент)
    Таблица = НаборЗаписей.Выгрузить();

    // тут что то делаете

    НаборЗаписей.Загрузить(Таблица);
    НаборЗаписей.Записать();
```

То есть выгрузили таблицу - она содержит структуру регистра, что то там сделали и обратно загрузили
---
спасибо, сейчас попробую допилить
---
это же не независимый регистр сведений.
Подчиненные регистратору - вы прописываете движняк в конкретный документ - регистратор. И только на него и можно установить отбор.

Загрузить таблицу,
НаборЗаписей.Загрузить(ТаблицаЗначений);
---
Ну вот смотрите у вас есть Регистр Накопления, делаете

```1c
    НаборЗаписей = РегистрыНакопления.ИмяРегистр.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(СсылкаНаДокумент)
    Таблица = НаборЗаписей.Выгрузить();

    // тут что то делаете

    НаборЗаписей.Загрузить(Таблица);
    НаборЗаписей.Записать();
```

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

```1c
    ВЫБРАТЬ
    бит_кзн_ПланируемыйРасходДенежныхСредств.ДокументПланирования.Контрагент КАК КонтрагентРасход,
    бит_кзн_ПланируемыйРасходДенежныхСредств.Сумма КАК СуммаРасхода,
    бит_кзн_ПланируемыйРасходДенежныхСредств.Период КАК ПериодРасход,
    бит_кзн_ПланируемыйРасходДенежныхСредств.Регистратор КАК Регистратор,
    бит_кзн_ПланируемыйРасходДенежныхСредств.ДокументПланирования КАК ДокументПланирования,
    бит_кзн_ПланируемоеПоступлениеДенежныхСредств.ДокументПланирования КАК ДокументПланирования1,
    бит_кзн_ПланируемоеПоступлениеДенежныхСредств.Период КАК ПериодПриход,
    бит_кзн_ПланируемоеПоступлениеДенежныхСредств.Регистратор КАК Регистратор1,
    бит_кзн_ПланируемоеПоступлениеДенежныхСредств.ДокументПланирования.Контрагент КАК КонтрагентПриход,
    бит_кзн_ПланируемоеПоступлениеДенежныхСредств.Сумма КАК СуммаПриход,
    бит_кзн_ПланируемыйРасходДенежныхСредств.ДокументПланирования.НазначениеПлатежаУпр КАК ДокументПланированияНазначениеПлатежаУпр
    ИЗ
    РегистрНакопления.бит_кзн_ПланируемыйРасходДенежныхСредств КАК бит_кзн_ПланируемыйРасходДенежныхСредств
    ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.бит_кзн_ПланируемоеПоступлениеДенежныхСредств КАК бит_кзн_ПланируемоеПоступлениеДенежныхСредств
    ПО бит_кзн_ПланируемыйРасходДенежныхСредств.Период = бит_кзн_ПланируемоеПоступлениеДенежныхСредств.Период
```

Группировка по периодам двух таблиц. Если есть приход и расход в 1 день то все выстраивается как мне надо, одна табличка под второй за каждый день. А вот если есть приход но нет расхода эти записи поднимаются вверх отчета. Можно как то объединить ПериодПриход и ПериодРасход что бы даже если по какому то из периодов нету записей порядок дат в отчете не ломался?
---
порядок дат в отчете не ломался?
Добавить поле:

```1c
    |ЕСТЬNULL(бит_кзн_ПланируемыйРасходДенежныхСредств.Период, бит_кзн_ПланируемоеПоступлениеДенежныхСредств.Период) КАК ОбщийПериод
```

и по этому полю сортировать отчёт
---
порядок дат в отчете не ломался?
Добавить поле:

```1c
    |ЕСТЬNULL(бит_кзн_ПланируемыйРасходДенежныхСредств.Период, бит_кзн_ПланируемоеПоступлениеДенежныхСредств.Период) КАК ОбщийПериод
```

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

сгенерить в пакетном запросе таблицу периодов "ВтПериоды" и синхронизировать записи показателей приход/расход с ВтПериоды.

если непонятно, то ждите толмача.
Каким образом можно закрыть доступ на редактирование дополнительных реквизитов всем ролям и открыть его только одной роли?
Например, есть дополнительный реквизит "Оценка риска", по ходу движения документа этот реквизит может отредактировать пользователь с ролью "Главный технолог", остальные не могут его редактировать.
---
Как тебе ответили ниже: вначале тебе придется на момент "первой отрисовки формы" запомнить/определить имя РеквизитаФормы и далее установить ему .Доступность = Ложь
по условию проверки роли ...

Я бы сразу предложил более простое решение: Создать этот реквизит в ЭлементеСправочника ВнутренниеДокументы (если речь идет именно об этом Справочнике)
Проверку доступности выполнять прямо в Форме;
Старые документы с Реквизитом обработать и выставить Наш реквизит в значение Дополнительного. Затем Дополнительный Реквизит Убрать из Списка; Если критично заполнять его программно значением нашего нового Реквизита Элемента в событии ПриЗаписи()
---
Версия документооборота ?
---
Документооборот 8 КОРП, редакция 2.1 (2.1.12.2), платформа 8.3 (8.3.13.1690)
---
Как тебе ответили ниже: вначале тебе придется на момент "первой отрисовки формы" запомнить/определить имя РеквизитаФормы и далее установить ему .Доступность = Ложь
по условию проверки роли ...

Я бы сразу предложил более простое решение: Создать этот реквизит в ЭлементеСправочника ВнутренниеДокументы (если речь идет именно об этом Справочнике)
Проверку доступности выполнять прямо в Форме;
Старые документы с Реквизитом обработать и выставить Наш реквизит в значение Дополнительного. Затем Дополнительный Реквизит Убрать из Списка; Если критично заполнять его программно значением нашего нового Реквизита Элемента в событии ПриЗаписи()
---
О, спасибо! Так и сделаю!
---
Добрый день. Если программно, то анализируете имя реквизита на форме (он будет выглядеть примерно так ДополнительныйРеквизитЗначение_61A6CF34x8F23x11E7x80D8x00505­6A12DF6_0B7E248Fx51CEx11E7x80D6x005056A12DF6) и устанавливайте для него доступность по наличию роли. Если у вас на роль завязано какое-либо значение на форме, то в настройках Дополнительных реквизитов можно указать видимость и доступность по значению на форме.
У меня есть таблица значение (реквизит формы). Открывая одну из ячеек (тип - строка), у меня открывается форма ввода текста. Я ввожу там этот текст и при закрытии этой формы в этой ячейке должен появиться этот написанный текст.

Подскажите, как реализовать момент записи текста в ячейку. То есть, вот я текст ввела, закрываю форму, но ячейка остается пустой. Как правильно описать эту ситуацию??

Вот код:

```1c
    &НаКлиенте
    Процедура СписокРеквизитовЦельНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)

    ПараметрыФормы = Новый Структура("Заголовок, ТекстовоеПоле", "Укажите цель создания запроса", ");

    ОткрытьФорму("ВнешняяОбработка.СозданиеЗапросов.Форма.ФормаОткрытияТекстовогоПоля", ПараметрыФормы,,,,,Новый ОписаниеОповещения("ЗакрытьТекстовоеПоле", ЭтаФорма, Параметры),РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);

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

    &НаКлиенте

    Процедура ЗакрытьТекстовоеПоле(Результат, Параметры) Экспорт

    Если ТипЗнч(Результат) = Тип("Строка") Тогда

    ??? = Результат;

    КонецЕсли;

    КонецПроцедуры
```
---
попробуй так

```1c
    Элемент.Родитель.ТекущиеДанные.МояЯчейка= Результат;
```
---
```1c
    Элементы.СписокРеквизитов.ТекущиеДанные.Цель = Результат;
```
---
```1c
    Элементы.СписокРеквизитов.ТекущиеДанные.Цель = Результат;
```
---
(2) Можно тогда еще такой вопрос:

В этой таблице значений есть колонка "ЗапросОснование" с типом справочник "Запросы". Вот я ее заполнила рукамии по нажатию кнопки Создать запрос, у меня должен создаваться Новый элемент справочника "Запросы" с аналогичными значениями реквизитов как у запроса из ячейки "ЗапросОснование".

Я пишу так:

```1c
    &НаСервере
    Процедура СоздатьЗапросНаСервере()

    Для Каждого Стр Из СписокРеквизитов Цикл

    Запрос = Справочники.Запросы.СоздатьЭлемент();

    Если ЗначениеЗаполнено(Стр.ЗапросОснование) Тогда

    ЗаполнитьЗначенияСвойств(Запрос , Стр.ЗапросОснование);
    ЗаполнитьЗначенияСвойств(Запрос.Требования , Стр.ЗапросОснование);
    ЗаполнитьЗначенияСвойств(Запрос.ЗаинтересованныеЛица, Стр.ЗапросОснование);
    ЗаполнитьЗначенияСвойств(Запрос.Тематики , Стр.ЗапросОснование);

    КонецЕсли;

    ЗаписатьЗапрос(Запрос, Стр.Ошибка);

    КонецЦикла;

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

 Но значение не заполняются. В чем может быть проблем?? Данные в "запросеОснования" есть.
---
ЗаписатьЗапрос(Запрос, Стр.Ошибка)

А там что написано в этой процедуре ?
---
Что такое "Требования" и т.д. Если это табличные части то нужно так:

```1c
    ЗаполнитьЗначенияСвойств(Запрос.Требования , Стр.ЗапросОснование.Требования);
```

Если это реквизиты, то эти строчки нужно убрать и оставить

```1c
    ЗаполнитьЗначенияСвойств(Запрос , Стр.ЗапросОснование);
```
---
попробуй так

```1c
    Элемент.Родитель.ТекущиеДанные.МояЯчейка= Результат;
```
Добрый день, на форме отчета стоит два параметра. рядом с ними галочки, я так понимаю если убрать эти галочки то параметр не должен применяться к отчету? Снимаю галочку, отчет пустой, как сделать так чтоб очтет формировался по всем имеющимся данным?
---
```1c
    {ГДЕ
    (Таблица.Реквизит=&ВашПараметр),
    (Таблица.Реквизит2=&ВашПараметр2)}
```
---
Если это СКД, можно использовать структуру в запросе

```1c
    .....
    ИЗ Таблица
    {ГДЕ Таблица.Реквизит=&ВашПараметр}
```

в таком случае если ВашПараметр не заполнен то условие игнорируется
---
а если допустим будет 2 параметра и один из них не заполнен?
---
```1c
    {ГДЕ
    (Таблица.Реквизит=&ВашПараметр),
    (Таблица.Реквизит2=&ВашПараметр2)}
```
---
Спасибо!