Как лучше сделать иерархию договоров в ERP

1. StAsya_1C 122 03.10.24 11:56 Сейчас в теме
Добрый день! На проекте идет поэтапный ввод ERP, когда перенесем блок продаж, тогда понятно, что не будет нужна данная функциональность, но пока идет синхронизация со старыми учетными системами, возникла потребность в ERP в справочнике "Договоры контрагентов" иметь иерархическую структуру. Папка - это договор, элемент - это заказ. Сделать это можно несколькими способами, может быть был у кого то опыт, и поможете выбрать наилучший способ.
1)Например, сделать новый справочник или через иерархические доп.реквизиты, "Папки договоров" назвать , добавить реквизит в договор, настроить формы договоров. Минусы: новый справочник, права на него менеджерам, искусственная структура, менять формы списка/выбора, менять перенос, в т.ч. перенос в БП3 через универсальный формат
2) Включить в договорах иерархию групп и элементов. Реквизит контрагент сделать доступным для группы. Может быть послетают всякие обработчики "При записи" , ну добавим туда проверку, что "если это не группа, тогда". Зато привычная органичная структура. (от которой потом никто уже не захочет отказываться и будут эти папки вечно). Изменения переносов выглядят не особо сложными.
3) Включить в договорах иерархию элементов. Добавлять проверки, чтобы подчинялись договора только одного контрагента друг другу. Зато потом, когда продажи перейдут в ЕРП, договора-заказы ставим, что закрыты, и используем уже "головной" договор. Но тут конечно с обменом будет сложно, в каком случае переносить в папку, в каком случае переносить в элемент.
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
11. StAsya_1C 122 22.10.24 10:41 Сейчас в теме +1 $m
Решила включить иерархию групп и элементов.
Из дописей: для реквизита партнер сделать, что он доступен для группы тоже.
В обработке заполнения прописать заполнение партнера из данных заполнения для группы и дальше не заполнять. При записи и в обработке проверки заполнения тоже поставить возврат для группы. Перед записью еще проверяю, что и партнер и контрагент заполнены, и если кого-то нет, то заполняю. И вылезло еще в ОбщегоНазначенияУТ.ОбработкаЗаполнения , что оно пытается заполнить валюту-организацию и тд, тоже пришлось заглушку поставить для группы договора.

Формы группы и формы выбора группы добавить. В форме списка, чтобы при режиме просмотра "иерархический список" или "дерево" чтобы не отображались "чужие" папки пришлось сделать через оформление, по-другому не нашла как победить.

Если Параметры.Свойство("Партнер") Тогда //
		ПартнерДляОтбора  = Параметры.Партнер; 
		Если ЗначениеЗаполнено( ПартнерДляОтбора) Тогда
						
			ЭлементОформления = список.УсловноеОформление.Элементы.Добавить();
			
			ЭлементОтбора  = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
			ЭлементОтбора.ЛевоеЗначение  =  Новый ПолеКомпоновкиДанных("Партнер"); 
			ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно; 
			ЭлементОтбора.ПравоеЗначение  = ПартнерДляОтбора;
			ЭлементОтбора.Использование  = Истина;    
			
			ЭлементОформления.Оформление.УстановитьЗначениеПараметра("Видимость", Ложь);
			
			
		КонецЕсли; 
	КонецЕсли;
Показать


А так вроде все, ну и обмены тоже дописывать пришлось , у нас и КД2 и КД3, с КД2 попроще конечно
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
6. user1880116 04.10.24 09:36 Сейчас в теме
(1)
"Договоры контрагентов"

А зачем вы вообще тащите заказы в справочник, а не в документ? В форме списка которого можно просто настроить группировку по договору.
7. user2108241 05.10.24 09:10 Сейчас в теме
(1) ) В ЕРП такого сделать нельзя. Создавать две разные карточки одного договора и формировать акт в целом по контрагенту. ... В БП ввиду того что справочник договоров иерархический, можно красиво сформировать акт по иерархии.
2. user2033930 03.10.24 12:02 Сейчас в теме
А зачем? Чтобы детализировать взаиморасчеты по заказам? Так это можно и без того, чтобы плодить договора на каждую поставку.
3. StAsya_1C 122 03.10.24 12:06 Сейчас в теме
(2) В ЕРП взаиморасчетов нет, продажи не вводят заказов тем более нет. Но сейчас ЕРП это "мастер-база" по вводу новой НСИ, и эта НСИ перегружается в базы УТ 10.3 и БП3
Я написала выше, что потом будем детализировать по заказам типовыми средствами
5. muskul 04.10.24 01:49 Сейчас в теме
(3) Все равно не понятно зачем вам там именно иерархия, Договор - Заказ 1545 от 03.10.24. они все равно идут по конкретному партнеру и контрагенту.
user1880116; +1 Ответить
10. user2107184 05.10.24 13:42 Сейчас в теме
(5) С партнерами промашка. Контрагент один, да. С которым договор. А вот партнеры могут быть разные.
4. duhin 03.10.24 13:42 Сейчас в теме
Опыта нет, но для иерархии можно добавить просто реквизит в Договоры "Папка договора". А форму с деревом наверное не проблема нарисовать.
8. CheBurator 2712 05.10.24 12:13 Сейчас в теме
Еще раз убеждаюсь, что параллельная работа в двух системах - только добавляет проблем. ССЗБ.
9. CheBurator 2712 05.10.24 12:33 Сейчас в теме
Переносите НСИ из старой системы в новую и не трогайте ЕРП, пока полностью на нее не перейдете.
11. StAsya_1C 122 22.10.24 10:41 Сейчас в теме +1 $m
Решила включить иерархию групп и элементов.
Из дописей: для реквизита партнер сделать, что он доступен для группы тоже.
В обработке заполнения прописать заполнение партнера из данных заполнения для группы и дальше не заполнять. При записи и в обработке проверки заполнения тоже поставить возврат для группы. Перед записью еще проверяю, что и партнер и контрагент заполнены, и если кого-то нет, то заполняю. И вылезло еще в ОбщегоНазначенияУТ.ОбработкаЗаполнения , что оно пытается заполнить валюту-организацию и тд, тоже пришлось заглушку поставить для группы договора.

Формы группы и формы выбора группы добавить. В форме списка, чтобы при режиме просмотра "иерархический список" или "дерево" чтобы не отображались "чужие" папки пришлось сделать через оформление, по-другому не нашла как победить.

Если Параметры.Свойство("Партнер") Тогда //
		ПартнерДляОтбора  = Параметры.Партнер; 
		Если ЗначениеЗаполнено( ПартнерДляОтбора) Тогда
						
			ЭлементОформления = список.УсловноеОформление.Элементы.Добавить();
			
			ЭлементОтбора  = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
			ЭлементОтбора.ЛевоеЗначение  =  Новый ПолеКомпоновкиДанных("Партнер"); 
			ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно; 
			ЭлементОтбора.ПравоеЗначение  = ПартнерДляОтбора;
			ЭлементОтбора.Использование  = Истина;    
			
			ЭлементОформления.Оформление.УстановитьЗначениеПараметра("Видимость", Ложь);
			
			
		КонецЕсли; 
	КонецЕсли;
Показать


А так вроде все, ну и обмены тоже дописывать пришлось , у нас и КД2 и КД3, с КД2 попроще конечно
Оставьте свое сообщение

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