arefaste/1C_Forums huggingface dataset:
Суть вопроса в теме. При открытии через предприятие записи в этом регистре видны, а при попытке получения запросом из консоли - ничего не получает. Регистры: расчеты с клиентами/расчеты с клиентами по документам.

```1c
    ВЫБРАТЬ
    РасчетыСКлиентамиОстатки.СуммаОстаток КАК СуммаОстаток
    ИЗ
    РегистрНакопления.РасчетыСКлиентами.Остатки(&Период, ) КАК РасчетыСКлиентамиОстатки
    ГДЕ
    РасчетыСКлиентамиОстатки.ЗаказКлиента = &ЗаказКлиента
```
---
а) &Период > &ЗаказКлиента.Дата - тогда пусто
б) РасчетыСКлиентамиОстатки.ЗаказКлиента - существуют ли остсткаи по ЗаказуКонтрагента? ЗаказКлиента - это ресурс, измерение или реквизит...
З.Ы. Если это измерение то:

```1c
    ВЫБРАТЬ
    РасчетыСКлиентамиОстатки.СуммаОстаток КАК СуммаОстаток
    ИЗ
    РегистрНакопления.РасчетыСКлиентами.Остатки(&Период, ЗаказКлиента = &ЗаказКлиента) КАК РасчетыСКлиентамиОстатки
```
---
а) &Период > &ЗаказКлиента.Дата - тогда пусто
б) РасчетыСКлиентамиОстатки.ЗаказКлиента - существуют ли остсткаи по ЗаказуКонтрагента? ЗаказКлиента - это ресурс, измерение или реквизит...
З.Ы. Если это измерение то:

```1c
    ВЫБРАТЬ
    РасчетыСКлиентамиОстатки.СуммаОстаток КАК СуммаОстаток
    ИЗ
    РегистрНакопления.РасчетыСКлиентами.Остатки(&Период, ЗаказКлиента = &ЗаказКлиента) КАК РасчетыСКлиентамиОстатки
```
---
виртуальные таблицы Остатки выбирают данные на указанную дату не включая саму дату. Попробуйте увеличить дату получения. Или используйте Граница с указанием Включая.
---
скорее всего записи генерируют нулевой остаток по заказу на заданный период
---
Проверьте, какие вы параметры передаете в запрос. В регистре посмотрите, по данному заказу за какой период есть записи - может вы берете слишком ранний период.
Плюс лучше перенесите отбор по заказу клиента в параметры виртуальной таблицы - так будет правильнее
Прошу подсказать, решается ли данная задача без изменения в коде документа, не добавляя ни подписок, ни расширений
---
```1c
    &НаКлиенте
    Процедура ОткрытьНаКлиенте()

    Форма = ПолучитьФорму("Документ.ЗаказКлиента.Форма.ФормаДокумента");

    ЗаполнитьДокумент(ДанныеФормы);
    КопироватьДанныеФормы(ДанныеФормы, Форма.Объект);

    Форма.Открыть();
    КонецПроцедуры
```

```1c
    &НаСервере
    Процедура ЗаполнитьДокумент(ДанныеФормы)

    // Тут заполним данными

    КонецПроцедуры
```
---
Решается
---
Если можно, ткните в какой либо пример
---
```1c
    &НаКлиенте
    Процедура ОткрытьНаКлиенте()

    Форма = ПолучитьФорму("Документ.ЗаказКлиента.Форма.ФормаДокумента");

    ЗаполнитьДокумент(ДанныеФормы);
    КопироватьДанныеФормы(ДанныеФормы, Форма.Объект);

    Форма.Открыть();
    КонецПроцедуры
```

```1c
    &НаСервере
    Процедура ЗаполнитьДокумент(ДанныеФормы)

    // Тут заполним данными

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

```1c
    ЭтаФорма.ЭлементыФормы.Панель.ТекущаяСтраница
    = ЭтаФорма.Панель.Страницы.ПараметрыДоговораПодРеализациб;
```

Пишет что нет "ПараметрыДоговораПодРеализациб"
Это правильное название страницы, беда в том что в списке выбора после знака равенства вообще нет ни одной из страниц
Обычное приложение в режиме совместимости в 8,2,13
---
А что будет, если заменить ЭтаФорма.Панель на ЭтаФорма.ЭлементыФормы.Панель?
---
А что будет, если заменить ЭтаФорма.Панель на ЭтаФорма.ЭлементыФормы.Панель?
---
Не понял, в одном случае сработало, а во втором нет. Страница не активируется
---
Присваивать текущую страницу объекту ЭтаФорма.ЭлементыФормы.Панель нужно из коллекции страниц самого этого объекта, а ЭтаФорма.Панель - уже другой объект

P.S. "ЭтаФорма." спереди можно не писать, и так сообразит
---
ничего не понял, во первых как надо писать не понял, убрать ЭтаФорма?, и?
во вторых почему тот же код в другой форме работает?
---
ЭтаФорма.ЭлементыФормы.Панель и ЭлементыФормы.Панель в модуле формы одно и то же. Можно Этаформа не писать

Что касается во-вторых, то не подскажу. Если страницы добавлены правильно, выбор текущего будет работать корректно. предлагаю сравнить алгоритмы добавления страниц в обоих случаях
Доброго дня Знатоки. Есть задачка импортировать данные из csv в 1С. Все поля импортированы кроме даты.
Подскажите пожалуйста, как прописать импорт Даты из CSV в 1С. Форматы дат в 1С и csv отличаются. Никак не могу додумать алгоритм.
Буду признателен.
---
Да, конечно. Я описал саму суть - как можно сделать.
У вас можно так:

```1c
    НовыйКлиент.ДатаРождения = Дата(Прав(Стр.ДатаРождения,4)+Сред(Стр.ДатаРождения,4,2)+Лев(Стр.ДатаРождения,2)+"000000")
```
---
Так а в каком формате дата в csv файле? Первое, что приходит в голову используя лев, прав, сред получить отдельно каждую часть даты из строки и собрать потом Дата(год, месяц, день, час, минута, секунда).
Если дата все-таки в более менее каноническом виде ("ГГГГММДДччммсс") просто разделители разные - можно попробовать поудалять разделители и получить единую строку
---
Формат ячеек общий для всей таблицы.
---
как выглядит дата в файле? Скопируйте, пожалуйста, одну для примера сюда
---
ФИО ;ПОЛ;Дата рождения;
Вышегородцев Сергей Иванович;М;02.12.1977;
---
По идее должно сработать так:

ИсходнаяДата = "02.12.1997" // ваше значение из csv файла
//Тут хорошо бы добавить хотя бы проверку на то, что дата не пустая и строка содержит именно 10 символов иначе получится ерунда
ИтоговаяДата = Дата(Прав(ИсходнаяДата,4)+Сред(ИсходнаяДата,4,2)+Лев(ИсходнаяДата,2)+"000000");

т.е. мы получаем год + месяц + день и добавляем временем нулевым для преобразования стандартной функцией
---
т.е. мы получаем год + месяц + день и добавляем временем нулевым для преобразования стандартной функцией
Так как у меня есть не 1 дата получается так:
ИсходнаяДата = Стр.Дата;
Если Не Стр.Дата = 0 Тогда
ИтоговаяДата = Дата(Прав(ИсходнаяДата,4)+Сред(ИсходнаяДата,4,2)+Лев(ИсходнаяДата,2)+"000000");
КонецЕсли;
НовыйКлиент.ДатаРождения = ИтоговаяДата;
---
```1c
    ИтоговаяДата = Дата(Стр.Дата+" 00:00:00");
```
---
Да, конечно. Я описал саму суть - как можно сделать.
У вас можно так:

```1c
    НовыйКлиент.ДатаРождения = Дата(Прав(Стр.ДатаРождения,4)+Сред(Стр.ДатаРождения,4,2)+Лев(Стр.ДатаРождения,2)+"000000")
```
---
Дата(Прав(Стр.ДатаРождения,4)+Сред(Стр.ДатаРождения,4,2)+Лев(Стр.ДатаРождения,2)+"000000")
Спасибо Большое - Помогло!
Прописал Ваш код в остальных строках с датами, изменив переменные и все встало на место!
Добрый день!

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

Есть отчет на СКД, который все правильно формирует, но хотелось бы разобраться с типовым
---
снять флаги.. нач остаток и кон. остаток
---
Не помогло
---
не помогло в чем? Что детализация по документам? так она и будет! Вы же запрашиваете ДВИЖЕНИЕ с учетом начального остатка и конечного! ... Закройте взаиморасчет по документам :) Само простое решение ( вести правильно учет)
---
(7)

Спасибо, так будет правильнее все таки. Спасибо за советы!
---
Документом корректировка записей регистров схлопнуть регистр накопления "ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов"
---
По, факту вы смотрите остатки и обороты, а Вам нужна таблица только оборотов.
Как вариант, убрать вывод полей начального и конечного остатков.

Либо есть еще вариант: в отборе поставить условие по приходу, расходу <>0
ТЗ[42].Склад
вот тут я получаю тип справочник склад в отладчике

а вот тут строку:

```1c
    для й=0 по ТЗ.Количество()-1 цикл
    ИмяКолонки = ЗаменитьСпецСимволы(ТЗ[й][колСклад]);
    ЗаголовокКолонки = ТЗ[й][колСклад];
```

колонка склад у меня содержит несколько типов

Склады (места хранения), Строка, Null
---
чудеса

```1c
    для й=0 по ТЗ.Количество()-1 цикл
    Если ТипЗнч(ТЗ[й][колСклад])=Тип("СправочникСсылка.Склады") Тогда
    Сообщить(ТЗ[й][колСклад]);
    КонецЕсли;
```

сначала цикла получаю переменную и тип значения не скидывается на строку!
---
Вы с 7.7 Мигрируете?

Очень удобная конструкция:

```1c
    Для Каждого СтрокаТаблицы из Таблица Цикл
    ;
    КонецЦикла;
```
---
да я из 7.7 приверженец
лучше поздно чем никогда
---
ИмяКолонки = ЗаменитьСпецСимволы(ТЗ[й][колСклад]);
Вот тут получаете строку? Вполне возможно. Нам не видно отсюда что делает функция ЗаменитьСпецСимволы. Возможно она возвращает строку.
---
таблицу использую только для чтения!

я понимаю когда цикл проходит сначала по строковым значениям, далее он тоже получает строковые .
но как
не могу уловить логику
---
чудеса

```1c
    для й=0 по ТЗ.Количество()-1 цикл
    Если ТипЗнч(ТЗ[й][колСклад])=Тип("СправочникСсылка.Склады") Тогда
    Сообщить(ТЗ[й][колСклад]);
    КонецЕсли;
```

сначала цикла получаю переменную и тип значения не скидывается на строку!
---
```1c
    для й=0 по ТЗ.Количество()-1 цикл
    Если ТипЗнч(ТЗ[й][колСклад])=Тип("СправочникСсылка.Склады") Тогда
    Сообщить(ТЗ[й][колСклад]);
    КонецЕсли;
```
---
```1c
    ТЗ[й][колСклад];
```

Это вы образаетесь к значению из Й-строки, в колонке с именем хранящимся в переменной колСклад
---
```1c
    Й = 1; // номер строки - нумерация с 0
    колСклад = "КакоеТоНазваниеКолонки";
    ЗначениеИзСтрокиНомерОдинИКолонкиСКакимТоНазванием = ТЗ[й][колСклад];
```
---
Всем спасибо за советы решение достигло методом подбора)
---
Вот 2 механизма рабочий и нерабочий:
1.

```1c
    для й=0 по ТЗ.Количество()-1 цикл
    Если ТипЗнч(ТЗ[й][колСклад])=Тип("СправочникСсылка.Склады") Тогда
    Сообщить(ТЗ[й][колСклад]);
    КонецЕсли;
    ЗаголовокКолонки = ТЗ[й][колСклад];
    .....
```

2.

```1c
    для й=0 по ТЗ.Количество()-1 цикл
    ЗаголовокКолонки = ТЗ[й][колСклад]; // почему в этом месте происходит преобразование в стркоку для всех последующих ячеек этой колонки!
    Если ТипЗнч(ТЗ[й][колСклад])=Тип("СправочникСсылка.Склады") Тогда
    Сообщить(ТЗ[й][колСклад]);
    КонецЕсли;
    .........
```
---
Я буду настаивать! ;)

Перебирать коллекцию удобно так:

```1c
    Для каждого СтрокаТаблицы из Таблица Цикл
    Сообщить(СтрокаТаблицы[ПеременнаяСодержащаяНаименованиеКолонки]);
    КонецЦикла;
```

Наименование колонки можно посмотреть так:

```1c
    Таблица.Колонки.Получить(0).Имя;
```
Подскажите, пожалуйста, как убить процесс на сервере.
1.
КомандаWindows = "TaskKill /pid " + PID;
WshShell = Новый COMОбъект("WScript.Shell");
 WshShell.Run(КомандаWindows, 0, - 1);
2.
ЗапуститьПриложение("TaskKill /pid " + PID);

Ни первый способ, ни второй не убили нужный процесс по Pid. Оба способа запускались в общем модуле, который исполняется не сервере.
---
Получилось сделать так: регламентным заданием находятся на сервере процессы с Pid-ами, помещается все в bat файл с текстом "TaskKill /pid 123 /pid 456" и планировщиком задач выполняется файл на сервере.
---
который исполняется не сервере - прав то у пользователя агента сервера на такие команды то хватает?
---
Как проверить?
---
а нужно смотреть права пользователя РДП или права пользователя, под которым стартует служба агент сервера?
---
права пользователя, под которым стартует служба агент сервера.
---
Ты хочешь сеансы программы убить? так так ты не их не уберешь, нужно через консоль администрирования делать.
---
Получилось сделать так: регламентным заданием находятся на сервере процессы с Pid-ами, помещается все в bat файл с текстом "TaskKill /pid 123 /pid 456" и планировщиком задач выполняется файл на сервере.
---
```1c
    КомандаСистемы("TaskKill /pid 123 /F")
```
---
На сервере не работает...
---
Да, пардон, на сервере ЗапуститьПриложение. Я имел в виду, TaskKill запускайте с флагом /F.
---
К сожалению не получается таким способом, возможно и правда нет каких то прав...
---
А может быть и поэтому -
При запуске "1С:Предприятия" в пакетном режиме, а также при вызове метода на сервере будет сгенерировано исключение.
Из СП.
Здравствуйте, что можете порекомендовать по склонению слов. ( В 1С есть типовой сервис морфер. Он не подходит, так как превышается лимит запросов)

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

```1c
    ВЫБРАТЬ
    НАЧАЛОПЕРИОДА(Набор.Ссылка.Дата, ДЕНЬ) КАК Набор

    ИЗ
    Документ.Склад.Набор КАК Набор
```

но в результате выходят даты разных месяцев и разных дней.
---
вообще так
---
Можно так, только параметры заполнять в зависимости от необходимости

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

    Запрос.УстановитьПараметр("Год", Год);
    Запрос.УстановитьПараметр("День", День);
    Запрос.УстановитьПараметр("ИспользоватьГод", ИспользоватьГод);
    Запрос.УстановитьПараметр("ИспользоватьДень", ИспользоватьДень);
    Запрос.УстановитьПараметр("ИспользоватьМесяц", ИспользоватьМесяц);
    Запрос.УстановитьПараметр("Месяц", Месяц);
```
---
вообще так
---
или без ТЧ

```1c
    ВЫБРАТЬ
    Набор.Ссылка

    ИЗ
    Документ.Склад КАК Набор
    где
    НАЧАЛОПЕРИОДА(Набор.Дата, ДЕНЬ) = &ДатаДень //или ДатаВремя(2021,8,1) - явное указание даты
    упорядочить по
    1
    Автоупорядочивание
```
Доброго времени суток

Как сделать чтобы число начиналось не с нуля, а с единицы в реквизите формы по умолчанию 1С?
---
Оказалось ларчик просто открывался:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

НазваниеВашегоРеквизита = 1; //без объекта, просто название вашего реквизита, тип реквизита число
Объект.НазваниеВашегоРеквизита = 1; //с объектом

КонецПроцедуры
---
Если именно реквизит формы, то только присвоить ему значение в ПриСозданииНаСервере. Каких-либо способов задать его в свойствах реквизита нет. Для реквизита объекта метаданных есть свойство "Значение заполнения".
---
Значение заполнения
Можете подробнее, что вы имели ввиду?
---
Оказалось ларчик просто открывался:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

НазваниеВашегоРеквизита = 1; //без объекта, просто название вашего реквизита, тип реквизита число
Объект.НазваниеВашегоРеквизита = 1; //с объектом

КонецПроцедуры
---
это никак не ограничит ввод 0 пользователем.
---
В свойствах поля формы, привязанного к этому реквизиту, есть такая настройка или это не то?
---
Как называется свойство?
---
Я ж на скрине выделил свойства.
---
Обновить страничку забыл
---
Не то. Нашел Формат редактирования ЧН=1
---
Жесть. Это просто напросто как на экране показывать нулевое значение числа - 0. В самом реквизите так и останется 0.
Даже если он введет 1, то все равно в реквизите будет 0.
Пользователь даже не сможет ввести ни одного числа начинающегося на 1. Такие как 11, 12, 100 и т.д., ввести не получится.
---
Не мешай человеку самоубиваться. Все хорошо.
---
Спасибо, что помогаешь.
---
Да ты прав, это уже в процессе умножения выяснилось
---
Сообщение было скрыто модератором.
В отчете СКД есть вычисляемое поле, в нем обращаемся к функции из общего модуля которая возвращает структуру.
При выводе отчета результат отображается просто словом "Структура".
Есть возможность вывести значения ключей этой структуры?
Конфигурация закрыта к редактированию, расширение заказчик забанил.
---
если конфигурация на БСП, то там есть функция:
ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Структура, "ИмяКлюча")
---
если конфигурация на БСП, то там есть функция:
ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Структура, "ИмяКлюча")
---
ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(
Спасибо огромное!!!
Это сработало!
---
Структура.Ключ = Значение
---
Это не работает. Первое что попробовал до публикации.
Говорит некорректные данные.
Добрый день! Есть бизнес процесс, который запускается из документа калькуляция, задача должна прийти менеджеру который является в этом документе ответственным.
---
Только не Перед, а ПриСозданииЗадач()

```1c
    Процедура ЗадачаМенеджеруПриСозданииЗадач(ТочкаМаршрутаБизнесПроцесса, ФормируемыеЗадачи, Отказ)
    // Вставить содержимое обработчика.
    Для каждого Задача из ФормируемыеЗадачи Цикл
    Если ТочкаМаршрутаБизнесПроцесса = БизнесПроцессы.ПредварительныйРасчет.ТочкиМаршрута.ЗадачаМенеджеру тогда
    Задача.Исполнитель = Задача.БизнесПроцесс.ОтветственныйМенеджер;
    КонецЕсли;
    КонецЦикла;
    КонецПроцедуры
```

Потому что в процедуре ПередСозданиемЗадач(), их еще не существует. Огромное спасибо что дал пинок в нужном направлении!
---
у точки маршрута есть событие ПередСозданиемЗадач
у задачи есть реквизиты адресации, есть свойство Адресация. с ним может быть связан соответствующий РС
---
Только не Перед, а ПриСозданииЗадач()

```1c
    Процедура ЗадачаМенеджеруПриСозданииЗадач(ТочкаМаршрутаБизнесПроцесса, ФормируемыеЗадачи, Отказ)
    // Вставить содержимое обработчика.
    Для каждого Задача из ФормируемыеЗадачи Цикл
    Если ТочкаМаршрутаБизнесПроцесса = БизнесПроцессы.ПредварительныйРасчет.ТочкиМаршрута.ЗадачаМенеджеру тогда
    Задача.Исполнитель = Задача.БизнесПроцесс.ОтветственныйМенеджер;
    КонецЕсли;
    КонецЦикла;
    КонецПроцедуры
```

Потому что в процедуре ПередСозданиемЗадач(), их еще не существует. Огромное спасибо что дал пинок в нужном направлении!
---
Задача то как возникает?
---
Задача возникает из бизнес-процесса, автоматом.
---
Может подойдет вариант с автоподстановкой?
Нужно получить таблицу:
Документ 1 - Печатная форма 1
Документ 1 - Печатная форма 2

Например у документа Реализация 15 печатных форм.
---
Как-то так

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

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