Автоматическая отмена неотгруженных строк заказа при проведении ОТГРУЖЕННОГО расходного ордера на товары. КА 2.5

30.10.24

Задачи пользователя - Адаптация типовых решений

Автоматическая (программная) отмена неотгруженных строк распоряжения (заказа клиента или заказа на перемещение) в 1С: Комплексная Автоматизация 2.5 при проведении расходного ордера на товары в состоянии "Отгружен". Механика следующая: проводим расходный ордер на товары в статусе ОТГРУЖЕН, после его проведения автоматически отменяются необработанные строки распоряжений из табличной части "Товары по распоряжениям".

Добрый день, коллеги.

Давеча потребовалось реализовать в "1С Комплексная автоматизация 2.5" автоматическое (программное) нажатие вот этой кнопочки в документах "Заказ клиента" и "Заказ на перемещение" про проведении "расходного ордера на товары" со статусом "Отгружен".

 

Нужно это для того чтобы автоматически убрать из распоряжений товары, которые не были отгружены ордером.

Механика следующая: проводим расходный ордер на товары в статусе ОТГРУЖЕН, после его проведения автоматически отменяются необработанные строки распоряжений из табличной части "Товары по распоряжениям".

Вышел из положения, создав расширение (дополнение), добавив в него форму документа расходного ордера на товары и добавив в него расширение процедуры "ПослеЗаписиНаСервере".

Код привожу. Авось, облегчит кому-то жизнь. Можно его использовать как базу для дальнейшего развития этой части функционала. Думаю, подойдет и для ERP и для УТ11.

Тестировалось на конфигурации "1С:Комплексная автоматизация 2 (2.5.20.46) "

Само расширение не выкладываю, ибо у меня в нём много посторонней всячины.

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

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

 

Вступайте в нашу телеграмм-группу Инфостарт

Отмена строк заказа Комплексная Автоматизация 2.5

См. также

Адаптация типовых решений 1С:Предприятие 8 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

32330 руб.

29.06.2023    11508    34    15    

41

Печатные формы Адаптация типовых решений Бухгалтер Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение позволяет вывести в табличном документе факсимиле печати и подписей и/или вывести произвольную картинку из прикреплённых файлов организации для 1С УТ 11.5, КА 2.5, ERP 2.5, УНФ 3, Розница 3. Вывод факсимиле возможен в табличные документы УПД, УКД, Счёт-фактура, ТОРГ-12 и другие. Возможно настроить вывод для любых типовых макетов (Акт сверки, М-15, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с соответствующими именами, при выводе на печать в размещённые картинки будут выводиться факсимиле из прикреплённых рисунков. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

5500 руб.

07.02.2023    12361    115    20    

71

Разработка Инструментарий разработчика Работа с интерфейсом Адаптация типовых решений Нейросети 1C:Бухгалтерия 1C:ERP 1С:ЗУП 1С:КА 1С:УНФ 1С:УТ 1С:Розница 1С:ДО 1С:ERP Управление предприятием 2 Платные (руб)

Разработка "Дизайнер форм 1С" реализована в виде расширения 1С и является универсальным инструментом для разработки прототипа форм с целью демонстраций, технических заданий и т.д. Без участия разработчика с возможностью экспорта в файл внешней обработки и генерации формы используя искусственный интеллект.

36600 руб.

28.08.2025    6983    2    2    

6

Адаптация типовых решений 1С 8.3 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Беларусь Россия Платные (руб)

Расширение "Дополнительные документы" предназначено для создания дополнительных документов различного назначения, как форм для внесения данных так и печатных форм в расширяемой конфигурации пользовательскими средствами, без работы в конфигураторе и внесения изменений в структуру данных. Тестировалось для "1С:БП", "1С:УНФ","1С:КА"

21859 руб.

29.12.2025    973    1    8    

2

Банковские операции Адаптация типовых решений Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

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

9760 руб.

17.06.2025    2932    8    0    

8

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Расширение для УНФ, чтобы автоматически отменять старые резервы и не мешалть эффективно продавать.

9150 руб.

02.08.2023    7777    25    5    

41

Адаптация типовых решений 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Расширение для вывода информации об остатках и ценах номенклатуры в форме списка и выбора номенклатуры. (УТ 11, КА 2, ERP). Позволяет получать информацию о ценах, остатках и доступности в разрезе складов и характеристик номенклатуры, информацию по документам резерва.

7930 руб.

16.10.2025    981    1    0    

1
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. victor_d_nikitenko 30.10.24 18:49 Сейчас в теме
Было бы неплохо дополнительно к тексту статьи пояснить:
а зачем нужно делать отмену в распоряжениях для непоставленных строк?
4. alexkozin 62 30.10.24 19:44 Сейчас в теме
(1) у каждого свои требования.
Как минимум для красоты в отчете по состоянию выполнения заказов до момента их закрытия.
У моего заказчика есть отчет по отмененным строкам заказов, пришедших из Битрикса, ему важно видеть отмененные строки заказов сразу после проведения ордера.
2. victor_d_nikitenko 30.10.24 18:51 Сейчас в теме
И еще:
что будет с заказом/распоряжением, если расходных ордеров несколько, а заказ один.
3. alexkozin 62 30.10.24 19:42 Сейчас в теме
(2) да хоть 10 ордеров, происходит программное нажатие на кнопку "Отменить непоставленные строки". Если строки уже отменены или в них скорректировано количество в соответствие с вышестоящими ордерами, то ничего не произойдет.
Для отправки сообщения требуется регистрация/авторизация