Закрытие заказов клиента и заказов поставщика ежедневно

1. Lllypuk 29.04.21 14:19 Сейчас в теме
Всем привет. 1С:Комплексная автоматизация 2 (2.4.13.149). Пытаюсь сделать закрытие заказа программным кодом так:
Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ЗаказКлиента.Ссылка КАК Ссылка,
		|	СостоянияЗаказовКлиентов.Ссылка КАК Состояние
		|ИЗ
		|	Документ.ЗаказКлиента КАК ЗаказКлиента
		|		ЛЕВОЕ СОЕДИНЕНИЕ Перечисление.СостоянияЗаказовКлиентов КАК СостоянияЗаказовКлиентов
		|		ПО ЗаказКлиента.Ссылка = СостоянияЗаказовКлиентов.Ссылка";
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	        
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		  
		  Если ВыборкаДетальныеЗаписи.Состояние = Перечисления.СостоянияЗаказовКлиентов.ГотовКЗакрытию Тогда 
			Объект.Статус = Перечисления.СтатусыЗаказовКлиентов.Закрыт;  

		 КонецЕсли;
	КонецЦикла;
Показать

но почему-то не работает, подскажите в чем ошибка? Пробую пока на заказе клиента по кнопке, как заработает перенесу в регламентное задание и по аналогии сделаю с заказом поставщику, может есть другие способы выполнять ежедневно.? За ранее спасибо огромное за ответы!
По теме из базы знаний
Найденные решения
2. WasiliyMay 8 29.04.21 14:48 Сейчас в теме
(1)Вам не сперечислением, а с регистром сведений нужно связывать. Там должен быть регистр сведений Состояния заказов клиентов. (В УТ по крайней мере есть. В комплексной тоже, наверное)
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. WasiliyMay 8 29.04.21 14:48 Сейчас в теме
(1)Вам не сперечислением, а с регистром сведений нужно связывать. Там должен быть регистр сведений Состояния заказов клиентов. (В УТ по крайней мере есть. В комплексной тоже, наверное)
3. Lllypuk 29.04.21 15:30 Сейчас в теме
(2) Да, есть. А по каким полям их связать ?
Прикрепленные файлы:
4. WasiliyMay 8 29.04.21 15:37 Сейчас в теме
5. Lllypuk 30.04.21 10:17 Сейчас в теме
(4)Спасибо, заработало. Теперь сделал регламентное задание, ругалось на "Объект.Статус", добавил в запрос поле и указал обращение к нему как "ВыборкаДетальныеЗаписи.Статус"
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ЗаказКлиента.Ссылка КАК Ссылка,
		|	СостоянияЗаказовКлиентов.Заказ КАК Заказ,
		|	СостоянияЗаказовКлиентов.Состояние КАК Состояние,
		|	ЗаказКлиента.Статус КАК Статус
		|ИЗ
		|	РегистрСведений.СостоянияЗаказовКлиентов КАК СостоянияЗаказовКлиентов
		|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента КАК ЗаказКлиента
		|		ПО СостоянияЗаказовКлиентов.Заказ = ЗаказКлиента.Ссылка";
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	        
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		
			Если ВыборкаДетальныеЗаписи.Состояние = Перечисления.СостоянияЗаказовКлиентов.ГотовКЗакрытию Тогда 
		    	ВыборкаДетальныеЗаписи.Статус = Перечисления.СтатусыЗаказовКлиентов.Закрыт;
				//ЭтаФорма.Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Проведение));

				ЭтотОбъект.Записать(Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Проведение));
				
				//Объект.Записать(РежимЗаписиДокумента.Проведение);
			КонецЕсли;
		
		КонецЦикла;

Показать


но еще ругается на "ЭтотОбъект" в задании поставил галочки "Сервер" и "Привелигированный".
6. Lllypuk 30.04.21 15:55 Сейчас в теме
(5) Сделал вот так:
Процедура ЗакрытиеЗаказовКлиентовИПоставщиков() Экспорт
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ЗаказКлиента.Ссылка КАК Ссылка,
		|	СостоянияЗаказовКлиентов.Заказ КАК Заказ,
		|	СостоянияЗаказовКлиентов.Состояние КАК Состояние,
		|	ЗаказКлиента.Статус КАК Статус
		|ИЗ
		|	РегистрСведений.СостоянияЗаказовКлиентов КАК СостоянияЗаказовКлиентов
		|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента КАК ЗаказКлиента
		|		ПО СостоянияЗаказовКлиентов.Заказ = ЗаказКлиента.Ссылка";
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	        
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		 
		
		Если ВыборкаДетальныеЗаписи.Состояние = Перечисления.СостоянияЗаказовКлиентов.ГотовКЗакрытию Тогда
				ДокументОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
				
                                Статус = ВыборкаДетальныеЗаписи.Статус; 
				Статус = Перечисления.СтатусыЗаказовКлиентов.Закрыт;
				
				 ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
				
			КонецЕсли;
		
		КонецЦикла;

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

Показать

Задание выполняется успешно, но заказы которые есть к закрытию, не закрываются, так же висят как и были
Оставьте свое сообщение

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