Доброго времени суток. При проведении документа "Реализация товаров и услуг" нужно автоматически создавать документ "Приходный ордер на товары". с этим проблем не возникло. а как перезаполнить ТЧ "ПрихОрдера", если документ реализации был изменен? и в каком месте должен прописываться код?
1с 8.3, УПП 1.3 (1.3.24.2)
Вот код добавления документа "ПрихОрдера" при проведении реализации:
Если НЕ Отказ Тогда
Если ЭтотОбъект.Организация = Справочники.Организации.НайтиПоКоду("000000009") И ЭтотОбъект.Контрагент = Справочники.Контрагенты.НайтиПоКоду("000000001") Тогда
ЭтотОбъект.УтвержденоДиректором = Истина;
ЭтотОбъект.Записать();
ЗапросОснование = Новый запрос;
ЗапросОснование.Текст = "ВЫБРАТЬ
|ПриходныйОрдерНаТовары.Ссылка
|ИЗ
|Документ.ПриходныйОрдерНаТовары КАК ПриходныйОрдерНаТовары
|ГДЕ
|НЕ ПриходныйОрдерНаТовары.ПометкаУдаления
|И ПриходныйОрдерНаТовары.Основание = &Основание";
ЗапросОснование.УстановитьПараметр("Основание", Ссылка);
Результат = ЗапросОснование.Выполнить().Выбрать();
(0) Можно точно там же, где и при автоматическом создании, но с отложенным проведением документов.
Но, на мой непросвещённый взгляд, не стоит идти по этому пути.
Лучше в форме списка "Приходный ордер на товары" добавить колонку "Изменено основание" и если такое изменение было, то выделить строку например красным. Понятно, что периодически нужно туда заглядывать, чего многие юзвери делать не хотят, но иначе придётся программисту искать почему остатки не идут.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший