![]() |
|
Перезаполнение табличной части документа при проведении документа-основания | ☑ | ||
---|---|---|---|---|
0
NovichokAlena
15.03.16
✎
10:42
|
Доброго времени суток. При проведении документа "Реализация товаров и услуг" нужно автоматически создавать документ "Приходный ордер на товары". с этим проблем не возникло. а как перезаполнить ТЧ "ПрихОрдера", если документ реализации был изменен? и в каком месте должен прописываться код?
1с 8.3, УПП 1.3 (1.3.24.2) Вот код добавления документа "ПрихОрдера" при проведении реализации: Если НЕ Отказ Тогда Если ЭтотОбъект.Организация = Справочники.Организации.НайтиПоКоду("000000009") И ЭтотОбъект.Контрагент = Справочники.Контрагенты.НайтиПоКоду("000000001") Тогда ЭтотОбъект.УтвержденоДиректором = Истина; ЭтотОбъект.Записать(); ЗапросОснование = Новый запрос; ЗапросОснование.Текст = "ВЫБРАТЬ |ПриходныйОрдерНаТовары.Ссылка |ИЗ |Документ.ПриходныйОрдерНаТовары КАК ПриходныйОрдерНаТовары |ГДЕ |НЕ ПриходныйОрдерНаТовары.ПометкаУдаления |И ПриходныйОрдерНаТовары.Основание = &Основание"; ЗапросОснование.УстановитьПараметр("Основание", Ссылка); Результат = ЗапросОснование.Выполнить().Выбрать(); Если Результат.Количество() = 0 Тогда новДокПрихОрдер = Документы.ПриходныйОрдерНаТовары.СоздатьДокумент(); новДокПрихОрдер.Основание = ЭтотОбъект.Ссылка; новДокПрихОрдер.Дата = НачалоДня(ЭтотОбъект.Дата); новДокПрихОрдер.Организация = Справочники.Организации.НайтиПоКоду("000000002"); новДокПрихОрдер.Склад = Справочники.Склады.НайтиПоКоду("000000031"); новДокПрихОрдер.Контрагент = Справочники.Контрагенты.НайтиПоКоду("000000075"); новДокПрихОрдер.Подразделение = ЭтотОбъект.Подразделение; новДокПрихОрдер.Ответственный = ЭтотОбъект.Ответственный; Для каждого стр Из Товары Цикл новСтр = новДокПрихОрдер.Товары.Добавить(); ЗаполнитьЗначенияСвойств(новСтр, стр); КонецЦикла; новДокПрихОрдер.БезПраваПродажи = Истина; новДокПрихОрдер.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный); Сообщить("Создан документ Приходный ордер на товары "+новДокПрихОрдер.Номер+" от "+новДокПрихОрдер.Дата); КонецЕсли; КонецЕсли; КонецЕсли; |
|||
1
Rie
15.03.16
✎
11:38
|
(0) Можно точно там же, где и при автоматическом создании, но с отложенным проведением документов.
Но, на мой непросвещённый взгляд, не стоит идти по этому пути. |
|||
2
George Wheels
15.03.16
✎
11:46
|
Лучше в форме списка "Приходный ордер на товары" добавить колонку "Изменено основание" и если такое изменение было, то выделить строку например красным. Понятно, что периодически нужно туда заглядывать, чего многие юзвери делать не хотят, но иначе придётся программисту искать почему остатки не идут.
|
|||
3
Rie
15.03.16
✎
11:49
|
(2) Может заглядывать регламентное задание.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |