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

Программное добавление возврата в отчет продаж

Автор serg42, 11 сен 2018, 16:15

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

serg42

Создаю программно документ Отчет о розничных продажах и пытаюсь добавить данные в таблицу возвратов.

Делаю так: создаю отчет, добавляю продажи, добавляю возвраты, записываю с проведением.

Если дата возврата товара та же, что дата отчета (т.е. его купили и вернули в тот же день). При проведении возникает ошибка:

ЦитироватьОшибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика - 'ОбработкаПроведения': {ОбщийМодуль.НалоговыйУчетУСН.Модуль(13168)}: Ошибка при вызове метода контекста (Заблокировать): Неверный тип значения: РегистрНакопления.РасходыПриУСН.Партия

В сообщениях:

ЦитироватьДокументом "Отчет о розничных продажах 0000-000247 от 09.09.2018 23:00:00" было реализовано "Какой-то товар" на "1" ед. меньше, чем возвращается.

Пробовал иначе: добавлял продажи, проводил, добавлял возвраты, проводил. Окно сообщений уже не появлялось, но ошибка вознила та же. Докумет создан и проведен, но без возвратов.

При возврате товара проданного в предыдущей день возникает ошибка:

ЦитироватьОшибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика - 'ОбработкаПроведения': {ОбщийМодуль.НалоговыйУчетУСН.Модуль(1044)}: Значение не является значением объектного типа (Метаданные)

При создании документа вручную все проходит нормально. Как решить проблему?

1С:Предприятие 8.3 (8.3.11.3034)
Бухгалтерия предприятия (базовая), редакция 3.0 (3.0.64.54)

LexaK

самое простое, возьмите эти два документа Отчет по продажам 1.созданный программно и 2.созданный вручную
и проверьте заполнение по всем полям, в шапке и ТЧ.

при заполнении вручную, отрабатывает куча процедур ПриИзменении... (и др.) которые заполняют скрытые поля документа
при программном заполнении документа эти события ПриИзменении... (и др.) не возникают, поля остаются не заполненными, отсюда могут быть и ошибки
если помогло нажмите: Спасибо!

serg42

Как выяснилось вручную происходить то же самое. Просто до этого я пробывал в уже проведенном документе добавлял.

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

Таблица Возвраты появилась недавно. Может баг 1С?

Golickoff

Цитироватьвручную происходить то же самое
Цитироватьпробывал
ЦитироватьТо проводиться.
Цитата: serg42 от 11 сен 2018, 21:33
Может баг 1С?
Вряд ли. Скорее, вы не умеете писать.
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

Sy4a

Цитата: serg42 от 11 сен 2018, 21:33Если создаешь новый отчет, добавляешь товар и возврат - ошибка. Если вручную добавить в отчет продажу товара и сохранить. А потом открыть добавить возврат. То проводиться. Программно повторить это не получилось.

Скорее всего некоторые вещи делаются при сохранении документа а не при проведении, либо косяк в том что при проведении движения делаются не в том порядке.
что значит программно повторить не получилось?
Программно просто добавляешь товар, сохраняешь документ, затем проводишь документ. Затем получаешь объект заного только что проведенного документа, добавляешь возврат, сохраняешь, проводишь. (понятно что сохранять, а затем проводить смысла нет, но ктож его знает что у вас там и как понаписано, как минимум попробовать стоит, если пойдет дело то копайте в этом русле).
Исходя из ошибки о блокировке можно попробовать после первого проведения документа (когда продажу товара добавляете) поставить паузу в минуту чтоб наверняка, возможно регламенто что то запускается при проведении,а так как вы дважды проводите возникает ошибка при попытке блокировки заблокированного документа


serg42

Цитата: Sy4a от 12 сен 2018, 14:43
что значит программно повторить не получилось?
Программно просто добавляешь товар, сохраняешь документ, затем проводишь документ. Затем получаешь объект заного только что проведенного документа, добавляешь возврат, сохраняешь, проводишь.
Я это и делал, ничего не вышло.

Цитата: Sy4a от 12 сен 2018, 14:43Исходя из ошибки о блокировке можно попробовать после первого проведения документа (когда продажу товара добавляете) поставить паузу в минуту чтоб наверняка, возможно регламенто что то запускается при проведении,а так как вы дважды проводите возникает ошибка при попытке блокировки заблокированного документа
Т.е. при проведении что-то может выполняться в отдельном потоке? А как же будет работать групповое проведение, обмен данными?

Объясняю подробно, что происходит.

1 Вариант. Открываю документ Отчет о розничных продажах, добавляю в продажи товар с количество 1 шт и ценой 100рублей. Во вкладке "возвраты" добавляю тот же товар 1шт х 450 руб. Провожу. Ошибка "было реализовано "Какой-то товар" на "1" ед. меньше, чем возвращается.". Если сначала сохранить, а потом провести - то же самое.

2 Вариант. Открываю документ Отчет о розничных продажах, добавляю в продажи товар с количество 1 шт и ценой 100рублей. Сохраняю (можно и провести, разницы нет). Открываю снова. Во вкладке "возвраты" добавляю тот же товар 1шт х 450 руб. Провожу. Всё нормально.

Уточню, что это я делаю в самой 1С, а не программно.

Sy4a

Цитата: serg42 от 12 сен 2018, 15:012 Вариант. Открываю документ Отчет о розничных продажах, добавляю в продажи товар с количество 1 шт и ценой 100рублей. Сохраняю (можно и провести, разницы нет). Открываю снова. Во вкладке "возвраты" добавляю тот же товар 1шт х 450 руб. Провожу. Всё нормально.
Вот про это я и писал вот это:
Цитата: Sy4a от 12 сен 2018, 14:43после первого проведения документа (когда продажу товара добавляете) поставить паузу в минуту чтоб наверняка, возможно регламенто что то запускается при проведении,а так как вы дважды проводите возникает ошибка при попытке блокировки заблокированного документа
То есть раз система не дает вам одновременно провести продажи и возврат, а по очери даёт, значит что то система делает после проведении продажи.
Попробуйте программно написать 1 кнопку на добавление строчки в документ продажи товара и еще 1 кнопку на добавление в документ возврата. И нажать сначало 1 как отвиснет сразу 2.
если будет ошибка после нажатия 2 кнопки тогда, нажимаем 1 кнопку идем курить или пить чай приходим и нажимаем 2 кнопку, если ошибок не будет значит как я и писал что то выполняется фоного не в том видимо порядке или вообще пытается сделать это одновременно.

Цитата: serg42 от 12 сен 2018, 15:01А как же будет работать групповое проведение, обмен данными?
Ну исходя из ошибок то ни как не будет :). Если документ типовой и вы внутри него ничего не меняли, то возможно и косяк 1Сников, ещё на всякий случай посмотрите может у вас есть какиенито подписки на события этого документа, которые вам всё и ломают. А также посмотрите по журналу регистрации что происходит после сохранеия (без проведения не проведенного документа).

serg42

Получил ответ от техподдержки 1С: "Это проявление ошибки 10197456."

Теги:

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

Рейтинг@Mail.ru

Поиск