Имя: Пароль:
1C
1С v8
Поле объекта не обнаружено
,
0 SeaJikS
 
naïve
17.02.25
09:44
Добрый вечер!
Выскакивает ошибка в 1С:Предприятие "К сожалению, возникла непредвиденная ошибка"
В журнале ошибка Поле объекта ЗаказПокупателя не обнаружено
Вот функция вызываемая кнопкой

Процедура СформироватьТекстПисьма(Команда)

		ЗаказПокупателя = Объект.ЗаказПокупателя;

		Если ТипЗнч(ЗаказПокупателя) <> Тип("ДокументСсылка.ЗаказПокупателя") Тогда
		Сообщить("Некорректно указан документ 'Заказ покупателя'!");
		Возврат;
	КонецЕсли;

	
	ЗаказОбъект = ЗаказПокупателя.ПолучитьОбъект();

	
	Тема = "Подтверждение заказа " + ЗаказПокупателя.Номер;

		Текст = "Добрый день!" + Символы.ПС +
		   "Заказ " + ЗаказПокупателя.Номер + " подтвержден." + Символы.ПС +
		   "Менеджер заказа: " + ЗаказПокупателя.Ответственный + Символы.ПС +
		   "Создан: " + Формат(ЗаказОбъект.Дата, "ДФ=dd.MM.yyyy") + Символы.ПС +
		   "Сумма заказа: " + Формат(ЗаказОбъект.СуммаДокумента, "ЧДЦ=2; ЧРД=.") + Символы.ПС +
		   "Благодарим за сотрудничество!";

	
	Объект.Тема = Тема;
	Объект.Сообщение = Текст;

КонецПроцедуры


ЗаказПокупателя тип ДокументСсылка.ЗаказПокупателя
доступа к изменению конфигурации нет
Уже чего только не перепробовал и не перепроверил, из-за чего ошибка?
1 Ёпрст
 
16.02.25
22:37
(0) на клиенте нет ПолучитьОбъект,делай это на сервере
2 SeaJikS
 
naïve
16.02.25
23:00
Есть в этом правда, только ошибка возникает в  строке ЗаказПокупателя = Объект.ЗаказПокупателя, и не важно где она находится на сервере или на клиенте, работоспособность остальной программы я даже не могу проверить, потому там могут быть ошибки, я начинающий в 1с, и вообще не знаю от чего могут быть такие нюансы
3 Ёпрст
 
16.02.25
23:03
(2) этот код пишется где хоть? ЗаказПокупателя, это что хоть?..для начала
4 _Дайвер_
 
16.02.25
23:08
ЗаказПокупателя = Объект.Ссылка;
5 SeaJikS
 
naïve
16.02.25
23:12
Так, это внешняя обработка(доступа к конфигурации у меня нет), на форме которой находится поле выбора заказа, тип реквизита ДокументСсылка на документ в конфигурации(он там точно есть), по нажатию на кнопку поля тема и сообщения заполняются по шаблону на основе данных из документа, код пишу в модуле формы обработки, команду на кнопку тоже правильно передал, не понятно почему он не может взять данные из собственного реквизита, так как ошибка даже не на этапе выборки каких то параметров, а на этапе присвоения ссылки на него
6 SeaJikS
 
naïve
16.02.25
23:18
ЗаказПокупателя = Объект.Ссылка, ошибка та же "Поле не обнаружено(Ссылка)"
7 lEvGl
 
гуру
16.02.25
23:24
так а есть в обработке реквизит ЗаказПокупателя?
8 Ёпрст
 
16.02.25
23:26
(5)
//  ЗаказПокупателя = Объект.ЗаказПокупателя;
Вася = Объект.ЗаказПокупателя;


для начала
9 SeaJikS
 
naïve
16.02.25
23:35
(7) Да, с типом ДокументСсылка
10 lEvGl
 
гуру
16.02.25
23:42
(9) не реквизит формы, а реквизит именно обработки
если так, то проверяйте тип реквизита формы Объект, должен быть с типом этой обработки
11 SeaJikS
 
naïve
16.02.25
23:44
(10) Ну да, если я правильно понимаю, там где во главе дерева стоит Объект
12 SeaJikS
 
naïve
16.02.25
23:51
(10) Такой вопрос, не я создавал эту обработку, и вообще это мое первое задание по 1с, НО в типе Объекта у меня название ВнешняяОбработка.ПодтверждениеЗаказа это конечное название?, или же оно на что то опирается, типа на название файла обработки например
13 youalex
 
17.02.25
06:08
(12) >ЗаказПокупателя = Объект.ЗаказПокупателя;
А если ЗаказПокупателя = ЭтотОбъект.ЗаказПокупателя;
14 Stepashkin
 
17.02.25
09:24
(0) Ставишь точку останова на строке ЗаказПокупателя = Объект.ЗаказПокупателя;, нажимаешь Ctrl+F9 вбиваешь в поле "Выражение" Объект, нажимаешь "Рассчитать" и смотришь, что у тебя в этом реквизите. Если есть ЗаказПокупателя, то все гуд. Если нет, смотри, что ты сделал не так.
15 Мультук
 
гуру
17.02.25
09:37
(0)

1) Вот эти "&НаКлиенте" и "&НаСервере" нужны не для красоты

2) 1С реально прямо вот так и пишет "К сожалению, возникла непредвиденная ошибка" ?



&НаКлиенте
Процедура СформироватьТекстПисьма(Команда)
   СформироватьТекстПисьмаНаСервере()
КонецПроцедуры


&НаСервере
Процедура    СформироватьТекстПисьмаНаСервере()

        ЗаказПокупателя = Объект.ЗаказПокупателя;

        Если ТипЗнч(ЗаказПокупателя) <> Тип("ДокументСсылка.ЗаказПокупателя") Тогда
        Сообщить("Некорректно указан документ 'Заказ покупателя'!");
        Возврат;
    КонецЕсли;

    
    ЗаказОбъект = ЗаказПокупателя.ПолучитьОбъект();

    
    Тема = "Подтверждение заказа " + ЗаказПокупателя.Номер;

        Текст = "Добрый день!" + Символы.ПС +
           "Заказ " + ЗаказПокупателя.Номер + " подтвержден." + Символы.ПС +
           "Менеджер заказа: " + ЗаказПокупателя.Ответственный + Символы.ПС +
           "Создан: " + Формат(ЗаказОбъект.Дата, "ДФ=dd.MM.yyyy") + Символы.ПС +
           "Сумма заказа: " + Формат(ЗаказОбъект.СуммаДокумента, "ЧДЦ=2; ЧРД=.") + Символы.ПС +
           "Благодарим за сотрудничество!";

    
    Объект.Тема = Тема;
    Объект.Сообщение = Текст;

КонецПроцедуры 

16 okmail
 
17.02.25
09:49
Непонятно зачем объект получать от заказа покупателя.
Вот тут уже всё прочиталось "ЗаказПокупателя.Номер" и все реквизиты попали в кэш. Нужно получить от ссылки (запросом) реквизиты Номер, Ответственный, Дата, СуммаДокумента и использовать уже их (ну или если БСП, использовать ОбщегоНазначения.ЗначенияРеквизитовОбъекта)
17 Волшебник
 
17.02.25
10:06
А я бы добавил в письмо состав заказа, то есть товары/услуги.
AdBlock убивает бесплатный контент. 1Сергей