kipkoalex
10.11.16, 13:13
Добрый день!
Не нашел на форуме тему про ERP, поэтому пишу сюда, так как по моему мнению УПП чем то схожа с ERP.
Пытаюсь разобраться с работой в этой конфигурации, и возникает очень неприятная ошибка. В системе есть возможность регистрировать наработки узлов объектов эксплуатации "От источника" - т.е., к примеру, есть прокатный стан (объект эксплуатации) и есть клети прокатного стана (узлы объекта эксплуатации). Параметр наработки для них один - время работы в часах. И вот для того, чтобы не регистрировать наработки отдельно для прокатного и стана и для каждой клети, есть возможность привязать время работы клетей к времени работы стана. Но при попытке проведения документа регистрации наработок возникает ошибка. Привожу текст:
Запись с такими ключевыми полями уже существует! : ПериодыАктуальностиОбъектовЭксплуатации: (ТУТ ИДЕТ ДАТА ТЕКУЩЕГО ДОКУМЕНТА РЕГИСТРАЦИИ НАРАБОТОК), Регистрация наработок (НОМЕР ДОКУМЕНТА) от (ДАТА И ВРЕМЯ), Прокатный стан номер 1 (Регистры сведений: Периоды актуальности объектов эксплуатации; Номер строки: 2)
Понимаю, что это не совсем верно, но я попробовал отключить движение этого документа по регистру Периоды актуальности объектов эксплуатации. В таком случае документ проводится без проблем, наработки регистрируются, но пропадает возможность автоматически подбирать ремонтные работы по узлам, в зависимости от количества наработки.
Так же менял периодичность регистра на "в пределах секунды" - не помогло.
Если же не включать регистрацию наработок узла от источника, по которому потом оформляется наработка, то документы проводятся без проблем.
Прошу помочь решить эту проблему.
Заранее спасибо!
1С:Предприятие 8.3 (8.3.8.2197)
1С:ERP Управление предприятием 2 (2.2.1.115)
Создан раздел по ERP, тему перенес
Егор Динин
10.11.16, 13:21
Вряд ли вам кто ответит. Опыт внедрения в Украине - у единиц.
Цитата(kipkoalex @ 10.11.16, 14:13) необходимо зарегистрироваться для просмотра ссылки
УПП чем то схожа с ERP
Это его реинкарнация на управляемых формах.
Цитата(kipkoalex @ 10.11.16, 14:13) необходимо зарегистрироваться для просмотра ссылки
ПериодыАктуальностиОбъектовЭксплуатации
Регистры сведений регистрируют только уникальные записи. Если такая запись есть, происходит исключение. Заверните в модуле проведения по этим регистрам в попытку-исключение.
kipkoalex
10.11.16, 15:59
Acid @ Сегодня, 13:57 необходимо зарегистрироваться для просмотра ссылки
,
Прошу прощения за, возможно, некорректную просьбу, но можете написать что конкретно нужно сделать?) Как я понял, внести изменения в модуль этого регистра, но какие?
Текущий документ пытается добавить запись в регистр сведений Периоды актуальности объектов эксплуатации, которая там уже есть. Надо понять, что в этот регистр пишется (проанализируйте содержимое документа, может интуитивно понятно будет), потом откройте этот регистр и посмотрите кто уже добавил запись, которую сейчас пытается добавить ваш документ. Возможно, после этого, станет понятнее что делать дальше.
Vofka @ Вчера, 17:23 необходимо зарегистрироваться для просмотра ссылки
,
Записал короткое видео (1 минута), в котором показываются мои действия, и записи в регистре сведений "Периоды актуальности объектов эксплуатации" во времени. Вот ссылка:
необходимо зарегистрироваться для просмотра ссылки
andr_andrey
11.11.16, 10:57
Вот что вы пишете в регистр:
Это результат запроса:
////////////////////////////////////////////////////////////////////////////////
// ПериодыАктуальностиОбъектовЭксплуатации
ВЫБРАТЬ РАЗЛИЧНЫЕ
&ДатаРегистрации КАК Период,
ВЫБОР
КОГДА Наработки.ОбъектЭксплуатации ССЫЛКА Справочник.ОбъектыЭксплуатации
ТОГДА Наработки.ОбъектЭксплуатации
ИНАЧЕ Наработки.ОбъектЭксплуатации.Владелец
КОНЕЦ КАК ОбъектЭксплуатации
ИЗ
Документ.РегистрацияНаработок.Наработки КАК Наработки
ГДЕ
Наработки.Ссылка = &Ссылка
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ РАЗЛИЧНЫЕ
&ДатаРегистрации,
ВЫБОР
КОГДА Наработки.ОбъектЭксплуатации ССЫЛКА Справочник.ОбъектыЭксплуатации
ТОГДА Наработки.ОбъектЭксплуатации
ИНАЧЕ Наработки.ОбъектЭксплуатации.Владелец
КОНЕЦ
ИЗ
Документ.РегистрацияНаработок.РасчетныеНаработки КАК Наработки
ГДЕ
Наработки.Ссылка = &Ссылка;
Вот код процедуры проведения без сокращения:
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
ПроведениеСервер.ИнициализироватьДополнительныеСвойстваДляПроведения(Ссылка, ДополнительныеСвойства, РежимПроведения);
Документы.РегистрацияНаработок.ИнициализироватьДанныеДокумента(Ссылка, ДополнительныеСвойства);
ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);
Документы.РегистрацияНаработок.ОтразитьНаработкиОбъектовЭксплуатации(ДополнительныеСвойства, Движения, Отказ);
//++ НЕ УТКА
ОбъектыЭксплуатации.ОтразитьПериодыАктуальностиОбъектовЭксплуатации(ДополнительныеСвойства, Движения, Отказ);
//-- НЕ УТКА
СформироватьСписокРегистровДляКонтроля();
ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);
ПроведениеСервер.ВыполнитьКонтрольРезультатовПроведения(ЭтотОбъект, Отказ);
ПроведениеСервер.ОчиститьДополнительныеСвойстваДляПроведения(ДополнительныеСвойства);
КонецПроцедуры
П.С. Если вы хотите внедрить у себя ERP2, рекомендую не делать этого без толковых 1С-разработчиков, слишком много багов в этом продукте.
Если по простому, то так:
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
ПроведениеСервер.ИнициализироватьДополнительныеСвойстваДляПроведения(Ссылка, ДополнительныеСвойства, РежимПроведения);
Документы.РегистрацияНаработок.ИнициализироватьДанныеДокумента(Ссылка, ДополнительныеСвойства);
ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);
Документы.РегистрацияНаработок.ОтразитьНаработкиОбъектовЭксплуатации(ДополнительныеСвойства, Движения, Отказ);
//++ НЕ УТКА
ОбъектыЭксплуатации.ОтразитьПериодыАктуальностиОбъектовЭксплуатации(ДополнительныеСвойства, Движения, Отказ);
//-- НЕ УТКА
СформироватьСписокРегистровДляКонтроля();
Попытка
ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);
Исключение
сообщить("запись с такими значениями уже присутствует в регистре.");
КонецПопытки;
ПроведениеСервер.ВыполнитьКонтрольРезультатовПроведения(ЭтотОбъект, Отказ);
ПроведениеСервер.ОчиститьДополнительныеСвойстваДляПроведения(ДополнительныеСвойства);
КонецПроцедуры
А если скурпулезно, то нужно залезть в процедуру ПроведениеСервер.ЗаписатьНаборыЗаписей, и там уже вставлять Попытку-Исключение для конкретного регистра.
andr_andrey
11.11.16, 12:00
Acid @ Сегодня, 11:00 необходимо зарегистрироваться для просмотра ссылки
,
Проблема в реализации отбора данных для записи в регистр.
В документе есть две табличных части, одна для заполнения пользователем, вторая для разузлования по узлам объекта эксплуатации, которая заполняется автоматически (корректно).
А запрос для отбора построен таким образом, что дублирует строки и естественно при записи дубликатов в регистр будет ошибка.
kipkoalex
11.11.16, 14:54
Acid @ Сегодня, 11:00
необходимо зарегистрироваться для просмотра ссылки
,
Добавил предложенный вами код, к сожалению проблема не решилась. Привожу полный текст процедуры из документа "РегистрацияНаработок":
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
ПроведениеСервер.ИнициализироватьДополнительныеСвойстваДляПроведения(Ссылка, ДополнительныеСвойства, РежимПроведения);
Документы.РегистрацияНаработок.ИнициализироватьДанныеДокумента(Ссылка, ДополнительныеСвойства);
ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);
Документы.РегистрацияНаработок.ОтразитьНаработкиОбъектовЭксплуатации(ДополнительныеСвойства, Движения, Отказ);
//++ НЕ УТКА
ОбъектыЭксплуатации.ОтразитьПериодыАктуальностиОбъектовЭксплуатации(ДополнительныеСвойства, Движения, Отказ);
//-- НЕ УТКА
СформироватьСписокРегистровДляКонтроля();
Попытка
ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);
Исключение
сообщить("запись с такими значениями уже присутствует в регистре.");
КонецПопытки;
//ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);
ПроведениеСервер.ВыполнитьКонтрольРезультатовПроведения(ЭтотОбъект, Отказ);
ПроведениеСервер.ОчиститьДополнительныеСвойстваДляПроведения(ДополнительныеСвойства);
КонецПроцедуры
andr_andrey @ Сегодня, 10:57
необходимо зарегистрироваться для просмотра ссылки
,
Безусловно - уже сейчас мы видим некоторые вещи, которые хотелось бы добавить в систему. Но, для начала, нам интересно попробовать именно этот модуль - "Управление ремонтами" на небольшом подразделении.
Может знаете кто на форуме разбирается в этой системе (или вы сможете взяться за работу, в перспективе?)?
! |
| необходимо зарегистрироваться для просмотра ссылки: 9
|
max.kolyada
14.04.17, 11:02
kipkoalex @ 11.11.16, 14:54 необходимо зарегистрироваться для просмотра ссылки
,
Сейчас запускаем управленческий учет на ЕРП, но постоянно обновляем релиз. уже 2.2.3.162.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.