Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Создать документ по подписке на событие и указать Основание
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
kosalex
Добрый день. Подскажите пожалуйста. Есть док "Авансовы отчет", при его проведении нужно создать док "Требование накладная", после того как док "Авансовый отчет" снимается с проведения док. "Требование накладная" должен помечаться на удаление.

Делаю при помощи подписке на событие,код обработчика по событию проведения док "Авансовый отчет":
Процедура СоздатьТребованиеНакладная(Источник, Отказ) Экспорт
Объект = Документы.ТребованиеНакладная.СоздатьДокумент();
Объект.Дата = Источник.Дата;
Объект.ВидОперации = Перечисления.ВидыОперацийТребованиеНакладная.Материалы;
Объект.Организация = Справочники.Организации.НайтиПоНаименованию("Ювелирсервис");
Объект.Склад = Источник.СкладОрдер;
Объект.ОтражатьВУправленческомУчете = Истина;
Объект.Подразделение = Источник.Подразделение;
Объект.Комментарий = "Документ создан автоматически на основании документа " + Источник.Ссылка;
        Для Каждого СтрокаТовары Из Источник.Товары Цикл
            НоваяСтрока = Объект.Материалы.Добавить();
            ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТовары);
            НоваяСтрока.СтатьяЗатрат = СтрокаТовары.Номенклатура.СтатьяЗатрат;
            НоваяСтрока.Качество = Справочники.Качество.Новый;
        КонецЦикла;

        Для Каждого СтрокаПрочее Из Источник.Прочее Цикл
            НоваяСтрока = Объект.Материалы.Добавить();
            ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаПрочее);
            НоваяСтрока.Качество = Справочники.Качество.Новый;
        КонецЦикла;
Объект.Записать();
КонецПроцедуры


Как мне потом найти док "Требование накладная" который был создан док "Авансовый отчет"?

Я понимаю что можно добавить в док требование накладная реквизит "основание" и заполнять его в обработчике подписки. Может существует ещё какой то вариант без добавления реквизита в док "Требование накладная?
alex040269
Можно создать регистр с измерением или регистратором докОснование.
Что бы не задевать конфу поставщика - лучше измерение.
Fynjy
Цитата(alex040269 @ 17.03.14, 9:25) необходимо зарегистрироваться для просмотра ссылки
Можно создать регистр с измерением или регистратором докОснование.
Что бы не задевать конфу поставщика - лучше измерение.

Зачем плодить объекты? Есть критерий отбора СвязанныеДокументы пусть запросом получает связаные ...
Vofka
Цитата(Fynjy @ 17.03.14, 9:56) необходимо зарегистрироваться для просмотра ссылки
Есть критерий отбора СвязанныеДокументы пусть запросом получает связаные ...

Так для начала надо критерий отбора изменить и, если не ошибаюсь, добавить "документ основания" в требование накладную.
kosalex
Цитата(Fynjy @ 17.03.14, 9:56) необходимо зарегистрироваться для просмотра ссылки
Зачем плодить объекты? Есть критерий отбора СвязанныеДокументы пусть запросом получает связаные ...



Чтобы так сделать нужно вводить документ на основании, а я создаю его программно по подписке на событие. В конфигураторе указано что док "Авансовый отчет" является документом на основании которого можно ввести документ "Требование накладная". Но я же не ввожу на основании, а создаю просто док по подписке.
Fynjy
Цитата(kosalex @ 17.03.14, 10:09) необходимо зарегистрироваться для просмотра ссылки
Чтобы так сделать нужно вводить документ на основании, а я создаю его программно по подписке на событие. В конфигураторе указано что док "Авансовый отчет" является документом на основании которого можно ввести документ "Требование накладная". Но я же не ввожу на основании, а создаю просто док по подписке.

Ненужно вводить на основании ... Учите матчасть в направлении, что такое критерий отбора ...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.