Как при проведении документа добавить новый товары в таблицу и провести документ?

1. user1202776 14.10.21 09:44 Сейчас в теме
При проведении или при/перед записи нужно в таблицу Запасы документа Отчёт о розничных продажах добавить новую строку с товарам и провести документ.
Проблема в том,если при проведении или при записи получить объект этого документа и записать, то выдает ошибку "Аварийная ошибка". Без каких-то объяснений по ошибке
Использую обработку проведения из-за того,что из кассы поступает отчёт по продажам и автоматически создаётся и проводится документ.
Для доработки использую Расширение. Пытался делать перед проведением и после проведения.
Если перед проведением или после проведения добавить новую строку и не записывать,то этот новый документ не попадает в движения по регистрам, а если записывать,выдает ошибку "Аварийная ошибка"
По теме из базы знаний
Ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. TokarevV 30 14.10.21 09:49 Сейчас в теме
ПередЗаписью пробовали?
3. user1202776 14.10.21 09:54 Сейчас в теме
(2)да, пробовал. Новая запись в таблицу записывается, но по регистрам почему-то не проводится
6. RustamZz 14.10.21 10:09 Сейчас в теме
(3) А при повторной записи (интерактивной) появляются движения?
TokarevV; +1 Ответить
8. user1202776 14.10.21 13:44 Сейчас в теме
(6)нет, не появляются. Несколько раз проверил, не появляются
9. RustamZz 14.10.21 14:17 Сейчас в теме
(8) Давайте тогда еще раз. Допустим у нас документ с пустой ТЧ. Перед записью этого документа идет обращение к РС и заполняется ТЧ. Мы снова открываем этот же документ и теперь в нем появилась заполненная строка с нужными данными. Мы проводим документ ошибок при проведении нет, но и проводок у него нет. Правильно?
10. user1202776 14.10.21 15:32 Сейчас в теме
11. user1202776 14.10.21 15:32 Сейчас в теме
(9) проводки есть, но в проводке все товары, кроме моего нового товара
12. Release 14.10.21 15:49 Сейчас в теме
(11) А какая конфигурация? Типовая на поддержке или изменённая?
14. user1202776 14.10.21 16:06 Сейчас в теме
(12)УНФ. Релиз сейчас не смогу сказать. Один из самых новых. На поддержке. Дорабатываю через Расширение
16. Release 14.10.21 16:18 Сейчас в теме
(14) Схема реализации по добавленной строке заполняется?
17. user1202776 15.10.21 17:11 Сейчас в теме
(16)что значит схема реализации?
25. Release 15.10.21 22:43 Сейчас в теме
(17) Извиняюсь, в УНФ этого нет.

Можно проверить есть ли ваша новая строка на момент проведения.
Поставьте точку останова в процедуре ОбработкаПроведения() модуля объекта в её начале или на строке:
// Инициализация данных документа.
Документы.ОтчетОРозничныхПродажах.ИнициализироватьДанныеДокумента(Ссылка, ДополнительныеСвойства);
И через "Ссылка.Запасы" проверьте, есть ли там эта новая строка.

Если её нет, то тут уже нужно смотреть ваш код добавления строки в расширении.
26. user1202776 16.10.21 08:52 Сейчас в теме
27. Release 16.10.21 09:46 Сейчас в теме
(26) Тогда даже не знаю, я сделал подобное расширение и у меня по регистрам всё отлично отразилось. При добавлении просто копировал данные первой строки:
&Перед("ПередЗаписью")
Процедура Расш1_ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
	НоваяСтрока = Запасы.Добавить();
	
	ЗаполнитьЗначенияСвойств(НоваяСтрока, Запасы.Получить(0));
КонецПроцедуры

Там при проведении, в запросе, только одна проверка в ТЧ Запасы по каждой строке на значение в поле "Всего" > 0. Ну и на остатки ещё, но тогда бы ругалось, что не хватает на остатке и не проводилось.

Пробуйте, для эксперимента, сделать как я - копировать данные первой строки в новую. Главное, чтобы по ней остатки были. Если так по новой строке проводки будут (они должны свернуться с первой, т.е. числовые значения удвоятся), то проверяйте всё же ваше заполнение новой строки при добавлении.
13. RustamZz 14.10.21 15:57 Сейчас в теме
(11) У меня в примере нет ничего в ТЧ, а у вас какие-то проводки. Вы можете для тестовых целей удалить все строки из документа перед его записью?
15. user1202776 14.10.21 16:08 Сейчас в теме
(13)да. Через несколько часов сделаю, когда будет доступ к компу
18. user1202776 15.10.21 17:16 Сейчас в теме
(13) удалил все строки перед записью. В таблицу добавился мой новыйтовар, но в проводках нет этого товара
19. user1202776 15.10.21 17:17 Сейчас в теме
(13) если второй раз интерактивно провести документ, все равно проводки по этому товару не появляются
20. RustamZz 15.10.21 17:20 Сейчас в теме
(19) А ошибка какая? Это же УНФ? ТипНоменклатурыЗапас не забыл заполнить?
21. user1202776 15.10.21 17:27 Сейчас в теме
(20)никакой ошибки нет. Просто не проводится и все
22. user1202776 15.10.21 17:27 Сейчас в теме
(20) очень странно конечно, но проводок нет
23. user1202776 15.10.21 17:47 Сейчас в теме
(20)да, УНФ 1.6
Такого реквизита вообще не нахожу
24. user1202776 15.10.21 18:30 Сейчас в теме
(20)у номенклатуры тип Номенклатуры установлен запас
4. RustamZz 14.10.21 09:54 Сейчас в теме
(1) Если добавлять, то уж ПередЗаписью, но то что делаете очень похоже на абсурд. Сколько раз будет записываться документ столько добавится строк? Бухгалтера иногда по нескольку раз закрывают месяц в этот момент перепроводятся, а значит перезаписываются все документы.
VladimirB; +1 Ответить
5. user1202776 14.10.21 09:58 Сейчас в теме
(4)не абсурд. С базой будет работать только человек,который знает что и как работает. Из регистра сведений будет добавляться одна строка (при определенных условиях) и после этого эта запись будет удалена из регистра. Таким образом в документ будет добавлять одна одна строка
7. TokarevV 30 14.10.21 10:36 Сейчас в теме
(5) Ответьте на 3. А при повторной записи (интерактивной) появляются движения?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот