Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 09:20

Ввод на основании: изменение данных в документе источника

Автор Constantus, 14 окт 2015, 11:04

0 Пользователей и 1 гость просматривают эту тему.

Constantus

Приветствую, Форумчане!

УТ 10.3  1с8.2

Имеется документ "ОплатаАбонентов" (не входит в состав типовой конфигурации)
После заполнения данных выводится "ДокументНаОсновании" - "Расходный Кассовый Ордер", котором автоматом заполняются некоторые позиции из документа-источника. (В частности ссылка на документ-источник)

Требуется, чтобы при сохранении РКО произвелись изменения и в документе-источнике, т.е. в "Оплата Абонентов, а имено заполнились данные: ссылка на сделанный РКО, его дата оплаты...

Т.е. типа взаимное заполнение 2-х документов.

Как такое осуществить?

ferrari314

1 вариант - простой, но тупиковый для развития:
Определить какой документ родитель, а какой наследник.
В оба документа добавить реквизиты родитель и наследник, со ссылками друг на друга
При записи/ проведении обоих документов прописать процедуры, соответственно проверяющие данные из документа родителя/насленика.
Либо допилить в них кнопки (завязать на ивент изменения реквизитов) - заполнить от родителя/наследника.

2 вариант - сложный, но крутанский.
Создать регистр связей документов.
При привязке документов делать запись в регистр, на основании этой записи и менять данные в документах связки. Можно делать связки любых доков и обрабатывать как душе угодно.

Можно гибридизировать оба варианта.

Constantus

Есть такая мысль:

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

Как можно эту мысль осуществить?

(опыта нет и предложенные 2-а варианта я не понял)

Golickoff

Цитата: Constantus от 14 окт 2015, 11:27
Есть такая мысль:

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

Как можно эту мысль осуществить?

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

cska-fanat-kz

плохой подход на самом деле...

когда создался РКО на основании ОплатыАбонентов форма документа открылась, но ссылки на РКО в базе еще нет - посему нечего прописывать в Оплату. Ссылка появится только после записи. У объекта нет события что-то типа ПослеЗаписи().
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Vladimir_Sh

Уточните цель данного изменения.
Это необходимо информативно или будет в дальнейшем использоваться? А если будет создано на основании несколько документов?
Цитироватьплохой подход на самом деле...

когда создался РКО на основании ОплатыАбонентов форма документа открылась, но ссылки на РКО в базе еще нет - посему нечего прописывать в Оплату. Ссылка появится только после записи. У объекта нет события что-то типа ПослеЗаписи().
Есть еще одна проблема. Если из формы документа будет происходить создание на основании. При этом создании для изменения источника необходимо будет получить объект(так как там передается только ссылка) и записать его для принятия изменений, что в свою очередь при необходимости что-то поправить в открытой форме источника вызовет исключение, а именно не соответствие данных на форме и в базе.
Если я Вам помог, нажми - Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск