arefaste/1C_Forums huggingface dataset:
Добрый день!
Может кто помочь, есть Табл.Значений в ней всего 0-30 индексов
Хочу узнать можно ли как то обойти это сообщение "Индекс находится за границей массива"
я хочу проверить индекс на заполнение через :

```1c
    Если ЗначениеЗаполнено(ТЗ_Календарь[31]) Тогда
    День31 = "W";
    Иначе
    День31 = "P";
    КонецЕсли;
```

У меня в Таб.Значений нет 31 индекса и я хочу задать условие, но при попытках на его проверку ошибка "Индекс находится за границей массива"
---
так с индексами не работают. Нужно проверять на попадание в индекс.
Для массива:

```1c
    Если МассивКалендарь.ВГраница() >= 31 И ЗначениеЗаполнено(МассивКалендарь[31]) Тогда
    День31 = "W";
    Иначе
    День31 = "P";
    КонецЕсли;
```

Для ТЗ вместо ВГраница() использовать Количество(), с условием, что вернется количество, т.е. на единицу больше индекса.
---
Если именно 31 индекс это 31 день, то 0 индекс это 0 день? В каком календаре такое?
Может не учли особенности индексов начинаться с 0?
Скорее всего индекс 30 это и есть 31 день.
---
Хочу просто понять когда ссылаешь на несуществующий индекс он все также будет выбивать ошибку

Хотел по типу Если индекс(33) не найден тогда

!Условная операция!

Иначе

!УсловнаяОперация!

КонецЕсли
---
так с индексами не работают. Нужно проверять на попадание в индекс.
Для массива:

```1c
    Если МассивКалендарь.ВГраница() >= 31 И ЗначениеЗаполнено(МассивКалендарь[31]) Тогда
    День31 = "W";
    Иначе
    День31 = "P";
    КонецЕсли;
```

Для ТЗ вместо ВГраница() использовать Количество(), с условием, что вернется количество, т.е. на единицу больше индекса.
---
Спасибо, должно сработать
---
НовЗначение = ТЗ.Получить(31) ;

Если НовЗначение = Неопределено Тогда
.........
КонецЕсли

Тоже выбивает ошибку
Почему 1С ругается на Параметр=2, а на Параметр=1 не ругается

Если Параметр=1 ИЛИ Параметр=2 Тогда
...
КонецЕсли;
---
вот так вроде нужно для составного условия, если правильно еще помню:

```1c
    Если (Параметр=1) ИЛИ (Параметр=2) Тогда
```
---
вот так вроде нужно для составного условия, если правильно еще помню:

```1c
    Если (Параметр=1) ИЛИ (Параметр=2) Тогда
```
---
вот так вроде нужно для составного условия, если правильно еще помню:

Спасибо, именно так, получилось.
В самописной конфигурации (Платформа 8.3.14) возникла задача выводить разное представление одного и того же документа в зависимости от роли пользователя.

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

До этой хотелки у меня представление этого документа было описано в модуле менеждера в виде связки двух процедур - ОбработкаПолученияПолейПредставления и ОбработкаПолученияПредсталения

Попытался использовать в процедуре ОбработкаПолученияПредставления фнкцию РольДоступна() - она там вместо того, чтобы вернуть Ложь вызывает исключение. Когда у пользователя нужна роль есть, - все нормально получаем Истина и все работет.

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

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

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

Можно и без условия наверно ?

```1c
    РезультатЗапроса.Следующий();
    СтрокаТабличнойЧасти.Цена = РезультатЗапроса.Цена;
```
---
```1c
    Если РезультатЗапроса.Следующий() Тогда
    СтрокаТабличнойЧасти.Цена = РезультатЗапроса.Цена;
    КонецЕсли;
```
---
РезультатЗапроса.Следующий() Тогда
СтрокаТабличнойЧасти.Цена = РезультатЗапроса.Цена;

Можно и без условия наверно ?

```1c
    РезультатЗапроса.Следующий();
    СтрокаТабличнойЧасти.Цена = РезультатЗапроса.Цена;
```
---
Если цены по какой-то причине нет, то можно в Иначе как-то по другому отработать.
---
Это не "РезультатЗапроса" у вас, а выборка. Чтобы получить из нее первый элемент нужны выбрать его методом "Следующий()"
Помогите разобраться, у меня ничего не получается. Второй день бьюсь, но что-то никак.

Во вложении пример обработки(делалась на БУХ 3.0).Её цель из любого документа "Реализация товаров услуг" заполнить ТЧ тТовары,
затем выделить несколько строк и одним махом перенести их все в другую таблицу нажатием кн.Добавить.

когда выделяются в первый раз первые две строки, заполнение табл. товарыВыбор происходит корректно.
при выделении первых двух строк во второй раз переносятся следующие две строки.
всё это происходит потому что при выполнении строки кода:
```1c
    массивВыделенныхСтрок = элементы.тТовары.ВыделенныеСтроки;
```

в массив выделенных строк попадают индексы не 0 и 1, а 3 и 4.

и в этом случае переносятся совсем другие строки.
---
Весь код в 5 строк (и не надо для этого "ходить" на сервер)
---
Прикрепленный файлик скачайте - там все есть.
---
Это не индексы строки а идентификаторы строки. Следовательно надо с ними работать именно как с идентификаторами строки.
---
```1c
    &НаКлиенте
    Процедура добавить(Команда)
    Для каждого СтрокаКоллекции Из Элементы.тТовары.ВыделенныеСтроки Цикл
    СтрокаИсточника=тТовары.НайтиПоИдентификатору(СтрокаКоллекции);
    СтрокаПриемника=товарыВыбор.Добавить();
    ЗаполнитьЗначенияСвойств(СтрокаПриемника, СтрокаИсточника);
    КонецЦикла;
    КонецПроцедуры
```
---
Для каждого СтрокаКоллекции Из Элементы.тТовары.ВыделенныеСтроки Цикл
СтрокаИсточника=тТовары.НайтиПоИдентификатору(СтрокаКоллекции);
СтрокаПриемника=товарыВыбор.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаПриемника, СтрокаИсточника);
КонецЦикла;

спасибо большое за отклик, но мне надо ещё удалить строку из исходной таблицы.
---
Прикрепленный файлик скачайте - там все есть.
---
Весь код в 5 строк (и не надо для этого "ходить" на сервер)
---
огромное спасибо. вы мне очень помогли.
Есть отчет и несколько схем СКД. Как в результирующем табличном документ добавить группировку областей (результатов) с "+" ? Делаю так:

```1c
    ДокументРезультат.НачатьАвтогруппировкуСтрок();
    ТабДок = Новый ТабличныйДокумент;
    ВывестиСКДВТабличныйДокумент(СхемаКомпоновкиДанных, ТабДок, КомпоновщикНастроек, Набор1);
    ДокументРезультат.Вывести(ТабДок, 1);

    ТабДок = Новый ТабличныйДокумент;
    ВывестиСКДВТабличныйДокумент(ПолучитьМакет("Схема2"), ДокументРезультат, КомпоновщикНастроек, Набор2);
    ДокументРезультат.Вывести(ТабДок, 2);
    ДокументРезультат.ЗакончитьАвтогруппировкуСтрок();
```

ВывестиСКДВТабличныйДокумент - возвращает табличный документ.
В каждом ТабДок есть свои группировки. Что я делаю не так?
---
вот пример
---
а почему группировка делается не на уровне настроек схемы СКД?
---
нужные мне табличные документы грубо это макеты печатных форм, в СКД им делать нечего. ДокументРезультат - это же обычный табличный документ и для него должна работать группировка как в СП написано. Скорее всего я что-то неправильно делаю, а что не знаю
---
вот пример
---
хм, странно. Перебором ячеек тоже делал, но не взлетело. Возможно где-то допустил ошибку (хотя негде их в двух строчках допускать). Проверю - отпишусь, спасибо!
Конфигурация УТ
Документ заказ покупателя
У меня в Доставке есть поле АдресДоставки, добавил кнопку, необходимо чтобы по нажатию на кнопку открывалась форма выбора (создал и назвал ФормаВыбораТерминала)

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

а-а-а, наверно на клиенте вложения надо делать?
Всем привет. У нас стоит 1С 8 3. Самописная конфа. Сейчас делаем вывод QR кода на печать при формировании СФ (построение самого кода уже готово). Так как ведём несколько компаний, то для каждой есть свой макет счёта, который зашит в Общих макетах конфигурации.

Проблема: при попытке вывода QR-кода в выбранный програмино макет - выдаётся ошибка, что в макете нет рисунка. Хотя на экране в макете рисунок прописан и виден (пустой). Когда програмно проверяю наличие Рисунков в макете (Отладчиком), то их просто нет в параметрах макета.
Пыталась добавить рисунки ещё раз - добавляет на экран, нумерует, но по прежнему програмно не видит эти рисунки и не даёт выводить туда изображение.
В чём проблема? Всем спасибо за советы.
---
Всем спасибо, проблема решена. Проанализировала код (((( Сама виновата, сначала обратилась к области, а только после этого её назвала. Макет тут ни при чем.

Правильный код:

лкОбласть=лкМакет.ПолучитьОбласть("Счет");

ВывестиQRКод(ТекстСсылки ,лкОбласть);
---
Проверьте ваш рисунок не выходит за рамки области, или не соприкасается с краями?
---
Нет не выходит и не соприкасается. У меня их 2 и ни к одному не могу программно обратиться((((
---
{Обработка.ОсновноеОкноПрограммы.Форма.Форма1.Форма(177)}: Поле об`єкту не виявлено (КартинкаQRКода)
    ОбластьМакета.Рисунки["КартинкаQRКода"].Картинка = КартинкаQRКода;
---
А "КартинкаQRКода" в библиотеку не добавлено?
Либо попробуйте через конструктор
```1c
    ОбластьМакета.Рисунки["КартинкаQRКода"].Картинка = Новый картинка();
```
---
Всем спасибо, проблема решена. Проанализировала код (((( Сама виновата, сначала обратилась к области, а только после этого её назвала. Макет тут ни при чем.

Правильный код:

лкОбласть=лкМакет.ПолучитьОбласть("Счет");

ВывестиQRКод(ТекстСсылки ,лкОбласть);
Добрый день!
В запросе в СКД нужно сделать так, чтобы одно из условий было необязательным. Я могу только все условие ГДЕ облачить в {}, но мне так не подходит, т.к. нужно только одно из условий в ГДЕ.
Подскажите, как можно сделать?
Спасибо!
---
Предлагаю очевидную вещь: заменить условие "&ВидТовара = &Овощи" условием "&ЭтоОвощи". И в момент формирования отчета передавать именно этот параметр.
---
Не нужно все облачать:

```1c
    ...
    ГДЕ
    ... // обязательные условия
    {ГДЕ
    ... } // необязательные условия
```
---
Почему то так не работает. Если не задаю параметр, то ругается..
---
У Вас в фигурных скобках перечислено несколько условий? Если так, то перечислены они через запятую или союз "И"? Нужно через запятую.
---
У меня вот так

```1c
    {ГДЕ
    (ВЫБОР
    КОГДА &ВидТовара= &Овощи
    ТОГДА Виды.Ссылка
    ИНАЧЕ Виды.Ссылка
    КОНЕЦ)}
```

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

```1c
    НовыйЭлемент.Подсказка = Нстр("ru ='Признак фиксированной суммы'");
    НовыйЭлемент.ОтображениеПодсказки = ОтображениеПодсказки.Всплывающая;
```

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

Для руководства и бухгалтерии важны только два параметра.

Чтобы в отчет попадали документы которые меняли задним числом, в которых изменился контрагент или сумма.

Это надо разрабатывать или можно на основе Истории изменений сделать?

Может уже есть готовые решения ?
---
Во многих конфигурациях есть возможность версионирования объектов, которая позволяет сохранять историю изменения того или иного объекта (с точностью до реквизита). Однако в стандартной реализации можно просматривать историю изменений конкретного объекта (непосредственно из его карточки).
https://infostart.ru/public/182004/
---
Чтобы в отчет попадали документы которые меняли задним числом, в которых изменился контрагент или сумма.
Если режим версионирования объектов включен, то пишите отчет, который и даст вам необходимые данные.
---
отчет, который и даст вам необходимые данные.

а что такого отчета нет ?
---
Во многих конфигурациях есть возможность версионирования объектов, которая позволяет сохранять историю изменения того или иного объекта (с точностью до реквизита). Однако в стандартной реализации можно просматривать историю изменений конкретного объекта (непосредственно из его карточки).
https://infostart.ru/public/182004/
---
Однако в стандартной реализации можно просматривать историю изменений конкретного объекта (непосредственно из его карточки).

Нужен отчет. Что меняли задним числом.

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

ИскомаяСтатьяДДС =
Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоНаименованию("Оплата от покупателей");
ДокументПКО.СтатьяДвиженияДенежныхСредств = ИскомаяСтатьяДДС;
---
Насколько я помню, в ПКО статью и остальные данные, которые будут в проводках, надо писать не только в реквизиты документа, в табл. часть РасшифровкаПлатежа, хоть ее и не видно на форме.
ДокументПКО.РасшифровкаПлатежа.Очистить();
строка1 = ДокументПКО.РасшифровкаПлатежа.Добавить();
строка1.СтатьяДвиженияДенежныхСредств = нужная;
и так все поля строки
---
ИскомаяСтатьяДДС =
Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоНаименованию("Оплата от покупателей"); Вот после этого неплохо бы проверить отладчиком - чему равно ИскомаяСтатьяДДС?

А то, может быть, не получается найти, а не присвоить?
---
Находит. Проверил через Сообшить (ИскомаяСтатьяДДС )
---
Насколько я помню, в ПКО статью и остальные данные, которые будут в проводках, надо писать не только в реквизиты документа, в табл. часть РасшифровкаПлатежа, хоть ее и не видно на форме.
ДокументПКО.РасшифровкаПлатежа.Очистить();
строка1 = ДокументПКО.РасшифровкаПлатежа.Добавить();
строка1.СтатьяДвиженияДенежныхСредств = нужная;
и так все поля строки
---
Да, все верно так сработало:

ИскомаяСтатьяДДС =
Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоНаименованию("Оплата от покупателей");

ДокументПКО.СтатьяДвиженияДенежныхСредств = ИскомаяСтатьяДДС.Ссылка;
СтрокаРП = ДокументПКО.РасшифровкаПлатежа.Добавить();
СтрокаРП.СтатьяДвиженияДенежныхСредств = ИскомаяСтатьяДДС.Ссылка;
---
Благодарю !