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

   БухОперацияСсылка = БухОперация.Ссылка;
   Проводка = БухОперация.ЭтотОбъект.Движения.Хозрасчетный.Добавить();

   БухОперация.ПолучитьФорму().Открыть();
Показать полностью
---
Это наверно для обычного приложения, надо для управляемого (не сказал сразу), так не заработает, надо получать на клиенте форму нового, заполнять реквизиты формы (там есть ХозрасчетныйНаборЗаписей) и потом открывать
---
Это наверно для обычного приложения, надо для управляемогоДа без разницы, принцип работы отбора по регистру един в ОФ и УФ.
---
вот так получается, но приходится все делать на клиенте
  Форма = ПолучитьФорму("Документ.ОперацияБух.ФормаОбъекта");
  проводка = Форма.ХозрасчетныйНаборЗаписей.Добавить();
  //заполняем
  проводка = Форма.ХозрасчетныйНаборЗаписей.Добавить();
  //заполняем
  проводка = Форма.ХозрасчетныйНаборЗаписей.Добавить();
  //заполняем
  Форма.Открыть();
---
вот так получаетсяНичего "так" у вас не получается, либо - получается совсем не то, что запросили в (1)
но приходится все делать на клиенте Вы в любом случае "все" делаете на клиенте. Вы же с формой работаете.
А отбор по регистру - он будет на сервере, но у вас же ничего нет, поэтому и отбор вы сделать не сможете никак.
---
ну здасьте! попробуите или вам видео запостить?
---
А для других регистров можно воспользоваться Экспортной процедурой Формы Операции - НастроитьСоставРегистровЗавершение

И закинуть туда Нужное, например%

```1c
    Фрм = ПолучитьФорму("Документ.ОперацияБух.Форма.ФормаДокумента");
    Фрм.Открыть();
    СписокИзменений = Новый СписокЗначений;
    СписокИзменений.Добавить("НДСПредъявленный", "НДС предъявленный", Истина);
    Фрм.НастроитьСоставРегистровЗавершение(СписокИзменений, Неопределено);
```

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

(13) Как вы собираетесь показать на незаписанном доке (соответственно, нет ссылки) как хочет автор
Очень просто, заполнить данные формы и показать ее пользователю, ему только останется нажать "записать и закрыть"