Ошибка при вызове метода контекста (Записать)

1. Varlant1n 19.01.21 17:08 Сейчас в теме
Здравствуйте. Есть кнопка в обработке. При нажатии на эту кнопку должен создаться документ реализации и провестись. Вот код:

&НаСервере
Процедура ПрименитьНаСервере()
	
	СозданиеРеализации = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
	СозданиеРеализации.Заполнить(Объект.Товары);
	СозданиеРеализации.Записать(РежимЗаписиДокумента.Проведение);
	
КонецПроцедуры

&НаКлиенте
Процедура Применить1(Команда)
	ПрименитьНаСервере();
КонецПроцедуры
Показать


Ошибка:

Ошибка при вызове метода контекста (Записать)
СозданиеРеализации.Записать(РежимЗаписиДокумента.Проведение);
по причине:
Не удалось провести: "Реализация товаров и услуг"!
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. lefthander 19.01.21 17:11 Сейчас в теме
(1)Как минимум надо указать в реквизитах нового документа дату, Организацию, контрагента, договор и еще наверно какие то обязательные реквизиты.
Кстати, а документ записывается?
ЗЫ а что у вас в процедуре Заполнить(Объект.Товары)
11. Varlant1n 21.01.21 09:59 Сейчас в теме
(2)(Объект.Товары) - это табличная часть документа ЗаказКлиента
3. FatPanzer 19.01.21 17:23 Сейчас в теме
Вы опять пришли в автосервис к специалистам спрашивать "в какую сторону крутить гайку и чем"?
10. Varlant1n 21.01.21 09:58 Сейчас в теме
4. na688 19.01.21 17:24 Сейчас в теме
Сначала просто запишите документ
СозданиеРеализации.Записать(РежимЗаписиДокумента.Запись);

Потом попробуйте провести вручную. И исправьте ошибки из-за которых не проводится.
5. user868505 19.01.21 17:24 Сейчас в теме
А что вы хотите сделать этой строкой?
СозданиеРеализации.Заполнить(Объект.Товары);

Заполнить ТЧ Товары в реализации по ТЧ Товары в обработке?)
6. pyrkin_vanya 488 19.01.21 19:09 Сейчас в теме
Все правильно Вам программа пишет. Нужно корректно заполнить все реквизиты. Сделайте как Вам советуют. Просто запишите документ и сразу поймете, чего не хватает. Потом программно нужно все эти реквизиты дозаполнить.
7. Guyer 20 19.01.21 19:11 Сейчас в теме
(2) Только дата обязательно поле для записи.
Проведения понятно будет требовать и Контрагента и договор и прочее.
Но да однозначно заменить
СозданиеРеализации.Записать(РежимЗаписиДокумента.Проведение);

На

Попытка
СозданиеРеализации.Записать(РежимЗаписиДокумента.Проведение);
Исключение
СозданиеРеализации.Записать(РежимЗаписиДокумента.Запись);
КонецПопытки;


В итоге увидите записанный Вам документ с незаполненными полями
mistervoron; user809597; Vyacheslide; +3 Ответить
8. гаврюша 2 20.01.21 19:15 Сейчас в теме
Если в Объект.Товары это ТЧ Товары в Реализации, то заполнение шапки (Дата, контрагент, договор и т.д) отдельно.
После заполнения шапки, Записать документ. Затем заполнять ТЧ в ранее записанном документе
СозданиеРеализации.Товары.Заполнить(Объект.Товары);
9. insurgut 207 21.01.21 08:25 Сейчас в теме +0.1 $m
Не знаю, что именно у вас за объект, но если есть заказ, то делать примерно так:

&НаСервере
Процедура ПрименитьНаСервере()
    
    СозданиеРеализации = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
    СозданиеРеализации.Дата = ТекущаяДата();
    СозданиеРеализации.Заполнить(Заказ);
    //тут можно даже загрузить товары с обработки
    СозданиеРеализации.Товары.Загрузить(Объект.Товары.Выгрузить());
    //или с заказа
    СозданиеРеализации.Товары.Загрузить(Заказ.Товары.Выгрузить());
    СозданиеРеализации.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);
    
КонецПроцедуры

&НаКлиенте
Процедура Применить1(Команда)
    ПрименитьНаСервере();
КонецПроцедуры
Показать


Если документа основания нет, то конечно все необходимые реквизиты необходимо заполнять в коде (пример для УТ 10.3):

	РеализацияПерепродажи.Организация = Справочники.Организации.НайтиПоРеквизиту("ИНН", "88888888888");
	РеализацияПерепродажи.ВалютаДокумента = Константы.ВалютаРегламентированногоУчета.Получить();
	РеализацияПерепродажи.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.ПродажаКомиссия;
	РеализацияПерепродажи.ВидПередачи = Перечисления.ВидыПередачиТоваров.СоСклада;
	РеализацияПерепродажи.Склад = Справочники.Склады.НайтиПоКоду("000000001");
	РеализацияПерепродажи.Дата = ТекущаяДата();
	РеализацияПерепродажи.Контрагент = Справочники.Контрагенты.НайтиПоКоду("000000001");
	мСтруктураПараметровДляПолученияДоговора = ЗаполнениеДокументов.ПолучитьСтруктуруПараметровДляПолученияДоговораПродажи();
	ЗаполнениеДокументов.ПриИзмененииЗначенияКонтрагента(РеализацияПерепродажи, мСтруктураПараметровДляПолученияДоговора);
	РеализацияПерепродажи.КратностьВзаиморасчетов = 1;
	РеализацияПерепродажи.КурсВзаиморасчетов = 1;
	РеализацияПерепродажи.ОтражатьВБухгалтерскомУчете = Истина;
	РеализацияПерепродажи.ОтражатьВНалоговомУчете = Истина;
	РеализацияПерепродажи.ОтражатьВУправленческомУчете = Истина;
	РеализацияПерепродажи.Комментарий = "Документ перепродажи / Создан автоматически на основании документа " + ЭтотОбъект.Ссылка;
	РеализацияПерепродажи.ТипЦен = ТипЦенЗакупПлюс10; //Закупочные + 10%
	РеализацияПерепродажи.Ответственный = ПараметрыСеанса.ТекущийПользователь;
	РеализацияПерепродажи.Подразделение = РеализацияПерепродажи.Склад.Подразделение;
Показать
Оставьте свое сообщение

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