Ошибка при вызове метода контекста (Записать)
Здравствуйте. Есть кнопка в обработке. При нажатии на эту кнопку должен создаться документ реализации и провестись. Вот код:
Ошибка:
Ошибка при вызове метода контекста (Записать)
СозданиеРеализации.Записать(РежимЗаписиДокумента.Проведение);
по причине:
Не удалось провести: "Реализация товаров и услуг"!
&НаСервере
Процедура ПрименитьНаСервере()
СозданиеРеализации = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
СозданиеРеализации.Заполнить(Объект.Товары);
СозданиеРеализации.Записать(РежимЗаписиДокумента.Проведение);
КонецПроцедуры
&НаКлиенте
Процедура Применить1(Команда)
ПрименитьНаСервере();
КонецПроцедуры
ПоказатьОшибка:
Ошибка при вызове метода контекста (Записать)
СозданиеРеализации.Записать(РежимЗаписиДокумента.Проведение);
по причине:
Не удалось провести: "Реализация товаров и услуг"!
По теме из базы знаний
- Ошибка при вызове метода контекста (Записать): Не удалось записать: "Реестр документов"!
- Ошибка при вызове метода контекста (Записать): Значение поля "Номер" не уникально
- [Расширение] Обход ошибки при записи документов через COM-соединение в 1С Бухгалтерии 3.0.84.42
- Исправление ошибки "Поле объекта не обнаружено (Регистратор)" при проведении документа "Начисление зарплаты и взносов". ЗУП 3.1
- Исправление ошибки проведения документа "Приобретение товаров и услуг" в ЕРП УХ 3.2.4.2 - 3.2.4.5
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Все правильно Вам программа пишет. Нужно корректно заполнить все реквизиты. Сделайте как Вам советуют. Просто запишите документ и сразу поймете, чего не хватает. Потом программно нужно все эти реквизиты дозаполнить.
(2) Только дата обязательно поле для записи.
Проведения понятно будет требовать и Контрагента и договор и прочее.
Но да однозначно заменить
СозданиеРеализации.Записать(РежимЗаписиДокумента.Проведение);
На
В итоге увидите записанный Вам документ с незаполненными полями
Проведения понятно будет требовать и Контрагента и договор и прочее.
Но да однозначно заменить
СозданиеРеализации.Записать(РежимЗаписиДокумента.Проведение);
На
Попытка
СозданиеРеализации.Записать(РежимЗаписиДокумента.Проведение);
Исключение
СозданиеРеализации.Записать(РежимЗаписиДокумента.Запись);
КонецПопытки;
В итоге увидите записанный Вам документ с незаполненными полями
Если в Объект.Товары это ТЧ Товары в Реализации, то заполнение шапки (Дата, контрагент, договор и т.д) отдельно.
После заполнения шапки, Записать документ. Затем заполнять ТЧ в ранее записанном документе
СозданиеРеализации.Товары.Заполнить(Объект.Товары);
После заполнения шапки, Записать документ. Затем заполнять ТЧ в ранее записанном документе
СозданиеРеализации.Товары.Заполнить(Объект.Товары);
Не знаю, что именно у вас за объект, но если есть заказ, то делать примерно так:
Если документа основания нет, то конечно все необходимые реквизиты необходимо заполнять в коде (пример для УТ 10.3):
&НаСервере
Процедура ПрименитьНаСервере()
СозданиеРеализации = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
СозданиеРеализации.Дата = ТекущаяДата();
СозданиеРеализации.Заполнить(Заказ);
//тут можно даже загрузить товары с обработки
СозданиеРеализации.Товары.Загрузить(Объект.Товары.Выгрузить());
//или с заказа
СозданиеРеализации.Товары.Загрузить(Заказ.Товары.Выгрузить());
СозданиеРеализации.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);
КонецПроцедуры
&НаКлиенте
Процедура Применить1(Команда)
ПрименитьНаСервере();
КонецПроцедуры
ПоказатьЕсли документа основания нет, то конечно все необходимые реквизиты необходимо заполнять в коде (пример для УТ 10.3):
РеализацияПерепродажи.Организация = Справочники.Организации.НайтиПоРеквизиту("ИНН", "88888888888");
РеализацияПерепродажи.ВалютаДокумента = Константы.ВалютаРегламентированногоУчета.Получить();
РеализацияПерепродажи.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.ПродажаКомиссия;
РеализацияПерепродажи.ВидПередачи = Перечисления.ВидыПередачиТоваров.СоСклада;
РеализацияПерепродажи.Склад = Справочники.Склады.НайтиПоКоду("000000001");
РеализацияПерепродажи.Дата = ТекущаяДата();
РеализацияПерепродажи.Контрагент = Справочники.Контрагенты.НайтиПоКоду("000000001");
мСтруктураПараметровДляПолученияДоговора = ЗаполнениеДокументов.ПолучитьСтруктуруПараметровДляПолученияДоговораПродажи();
ЗаполнениеДокументов.ПриИзмененииЗначенияКонтрагента(РеализацияПерепродажи, мСтруктураПараметровДляПолученияДоговора);
РеализацияПерепродажи.КратностьВзаиморасчетов = 1;
РеализацияПерепродажи.КурсВзаиморасчетов = 1;
РеализацияПерепродажи.ОтражатьВБухгалтерскомУчете = Истина;
РеализацияПерепродажи.ОтражатьВНалоговомУчете = Истина;
РеализацияПерепродажи.ОтражатьВУправленческомУчете = Истина;
РеализацияПерепродажи.Комментарий = "Документ перепродажи / Создан автоматически на основании документа " + ЭтотОбъект.Ссылка;
РеализацияПерепродажи.ТипЦен = ТипЦенЗакупПлюс10; //Закупочные + 10%
РеализацияПерепродажи.Ответственный = ПараметрыСеанса.ТекущийПользователь;
РеализацияПерепродажи.Подразделение = РеализацияПерепродажи.Склад.Подразделение;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот