Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Вопрос по регистрации наработок оборудования в ERP , Проблема при проведении документа          
kipkoalex Подменю пользователя
сообщение 10.11.16, 13:13
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0

Добрый день!
Не нашел на форуме тему про ERP, поэтому пишу сюда, так как по моему мнению УПП чем то схожа с ERP.
Пытаюсь разобраться с работой в этой конфигурации, и возникает очень неприятная ошибка. В системе есть возможность регистрировать наработки узлов объектов эксплуатации "От источника" - т.е., к примеру, есть прокатный стан (объект эксплуатации) и есть клети прокатного стана (узлы объекта эксплуатации). Параметр наработки для них один - время работы в часах. И вот для того, чтобы не регистрировать наработки отдельно для прокатного и стана и для каждой клети, есть возможность привязать время работы клетей к времени работы стана. Но при попытке проведения документа регистрации наработок возникает ошибка. Привожу текст:
Запись с такими ключевыми полями уже существует! : ПериодыАктуальностиОбъектовЭксплуатации: (ТУТ ИДЕТ ДАТА ТЕКУЩЕГО ДОКУМЕНТА РЕГИСТРАЦИИ НАРАБОТОК), Регистрация наработок (НОМЕР ДОКУМЕНТА) от (ДАТА И ВРЕМЯ), Прокатный стан номер 1 (Регистры сведений: Периоды актуальности объектов эксплуатации; Номер строки: 2)
Понимаю, что это не совсем верно, но я попробовал отключить движение этого документа по регистру Периоды актуальности объектов эксплуатации. В таком случае документ проводится без проблем, наработки регистрируются, но пропадает возможность автоматически подбирать ремонтные работы по узлам, в зависимости от количества наработки.
Так же менял периодичность регистра на "в пределах секунды" - не помогло.
Если же не включать регистрацию наработок узла от источника, по которому потом оформляется наработка, то документы проводятся без проблем.
Прошу помочь решить эту проблему.
Заранее спасибо!

1С:Предприятие 8.3 (8.3.8.2197)
1С:ERP Управление предприятием 2 (2.2.1.115)

Vofka Подменю пользователя
сообщение 10.11.16, 13:20
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Создан раздел по ERP, тему перенес

Егор Динин Подменю пользователя
сообщение 10.11.16, 13:21
Сообщение #3

Почти крутой
Иконка группы
Группа: Местный
Сообщений: 1454
Из: Киев
Спасибо сказали: 548 раз
Рейтинг: 0

Вряд ли вам кто ответит. Опыт внедрения в Украине - у единиц.

Acid Подменю пользователя
сообщение 10.11.16, 13:57
Сообщение #4

Про1С-ник
Иконка группы
За заслуги на форуме в 2010 году
Группа: Местный
Сообщений: 2104
Из: Занзибар
Спасибо сказали: 377 раз
Рейтинг: 260.7

Цитата(kipkoalex @ 10.11.16, 14:13) *
УПП чем то схожа с ERP

Это его реинкарнация на управляемых формах.

Цитата(kipkoalex @ 10.11.16, 14:13) *
ПериодыАктуальностиОбъектовЭксплуатации

Регистры сведений регистрируют только уникальные записи. Если такая запись есть, происходит исключение. Заверните в модуле проведения по этим регистрам в попытку-исключение.

kipkoalex Подменю пользователя
сообщение 10.11.16, 15:59
Сообщение #5

Общительный
**
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0

Acid @ Сегодня, 13:57 * ,
Прошу прощения за, возможно, некорректную просьбу, но можете написать что конкретно нужно сделать?) Как я понял, внести изменения в модуль этого регистра, но какие?

Vofka Подменю пользователя
сообщение 10.11.16, 17:23
Сообщение #6

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Текущий документ пытается добавить запись в регистр сведений Периоды актуальности объектов эксплуатации, которая там уже есть. Надо понять, что в этот регистр пишется (проанализируйте содержимое документа, может интуитивно понятно будет), потом откройте этот регистр и посмотрите кто уже добавил запись, которую сейчас пытается добавить ваш документ. Возможно, после этого, станет понятнее что делать дальше.

Сообщение отредактировал Vofka - 10.11.16, 17:24

kipkoalex Подменю пользователя
сообщение 11.11.16, 0:44
Сообщение #7

Общительный
**
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0

Vofka @ Вчера, 17:23 * ,
Записал короткое видео (1 минута), в котором показываются мои действия, и записи в регистре сведений "Периоды актуальности объектов эксплуатации" во времени. Вот ссылка:
[необходимо зарегистрироваться для просмотра ссылки]

andr_andrey Подменю пользователя
сообщение 11.11.16, 10:57
Сообщение #8

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 623
Спасибо сказали: 166 раз
Рейтинг: 130.8

Вот что вы пишете в регистр:


Это результат запроса:
////////////////////////////////////////////////////////////////////////////////
// ПериодыАктуальностиОбъектовЭксплуатации
ВЫБРАТЬ РАЗЛИЧНЫЕ
    &ДатаРегистрации КАК Период,
    ВЫБОР
        КОГДА Наработки.ОбъектЭксплуатации ССЫЛКА Справочник.ОбъектыЭксплуатации
            ТОГДА Наработки.ОбъектЭксплуатации
        ИНАЧЕ Наработки.ОбъектЭксплуатации.Владелец
    КОНЕЦ КАК ОбъектЭксплуатации
ИЗ
    Документ.РегистрацияНаработок.Наработки КАК Наработки
ГДЕ
    Наработки.Ссылка = &Ссылка

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ РАЗЛИЧНЫЕ
    &ДатаРегистрации,
    ВЫБОР
        КОГДА Наработки.ОбъектЭксплуатации ССЫЛКА Справочник.ОбъектыЭксплуатации
            ТОГДА Наработки.ОбъектЭксплуатации
        ИНАЧЕ Наработки.ОбъектЭксплуатации.Владелец
    КОНЕЦ
ИЗ
    Документ.РегистрацияНаработок.РасчетныеНаработки КАК Наработки
ГДЕ
    Наработки.Ссылка = &Ссылка;


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


П.С. Если вы хотите внедрить у себя ERP2, рекомендую не делать этого без толковых 1С-разработчиков, слишком много багов в этом продукте.


Signature
#define private public
enum BOOL { FALSE, TRUE, FILENOTFOUND } is made my day

Acid Подменю пользователя
сообщение 11.11.16, 11:00
Сообщение #9

Про1С-ник
Иконка группы
За заслуги на форуме в 2010 году
Группа: Местный
Сообщений: 2104
Из: Занзибар
Спасибо сказали: 377 раз
Рейтинг: 260.7

Если по простому, то так:
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
    
    ПроведениеСервер.ИнициализироватьДополнительныеСвойстваДляПроведения(Ссылка, ДополнительныеСвойства, РежимПроведения);
    
    Документы.РегистрацияНаработок.ИнициализироватьДанныеДокумента(Ссылка, ДополнительныеСвойства);
    
    ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);
    
    Документы.РегистрацияНаработок.ОтразитьНаработкиОбъектовЭксплуатации(ДополнительныеСвойства, Движения, Отказ);
    //++ НЕ УТКА
    ОбъектыЭксплуатации.ОтразитьПериодыАктуальностиОбъектовЭксплуатации(ДополнительныеСвойства, Движения, Отказ);
    //-- НЕ УТКА
    
    СформироватьСписокРегистровДляКонтроля();


   Попытка
       ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);
   Исключение
       сообщить("запись с такими значениями уже присутствует в регистре.");
   КонецПопытки;

    ПроведениеСервер.ВыполнитьКонтрольРезультатовПроведения(ЭтотОбъект, Отказ);
    
    ПроведениеСервер.ОчиститьДополнительныеСвойстваДляПроведения(ДополнительныеСвойства);
    
КонецПроцедуры

А если скурпулезно, то нужно залезть в процедуру ПроведениеСервер.ЗаписатьНаборыЗаписей, и там уже вставлять Попытку-Исключение для конкретного регистра.

andr_andrey Подменю пользователя
сообщение 11.11.16, 12:00
Сообщение #10

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 623
Спасибо сказали: 166 раз
Рейтинг: 130.8

Acid @ Сегодня, 11:00 * ,
Проблема в реализации отбора данных для записи в регистр.
В документе есть две табличных части, одна для заполнения пользователем, вторая для разузлования по узлам объекта эксплуатации, которая заполняется автоматически (корректно).
А запрос для отбора построен таким образом, что дублирует строки и естественно при записи дубликатов в регистр будет ошибка.


Signature
#define private public
enum BOOL { FALSE, TRUE, FILENOTFOUND } is made my day

kipkoalex Подменю пользователя
сообщение 11.11.16, 14:54
Сообщение #11

Общительный
**
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0

Acid @ Сегодня, 11:00 * ,
Добавил предложенный вами код, к сожалению проблема не решилась. Привожу полный текст процедуры из документа "РегистрацияНаработок":

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


andr_andrey @ Сегодня, 10:57 * ,
Безусловно - уже сейчас мы видим некоторые вещи, которые хотелось бы добавить в систему. Но, для начала, нам интересно попробовать именно этот модуль - "Управление ремонтами" на небольшом подразделении.
Может знаете кто на форуме разбирается в этой системе (или вы сможете взяться за работу, в перспективе?)?


 ! 

Правила: 9
 


Сообщение отредактировал Vofka - 11.11.16, 15:07

max.kolyada Подменю пользователя
сообщение 14.04.17, 11:02
Сообщение #12

Молчаливый
*
Группа: Пользователи
Сообщений: 4
Спасибо сказали: 0 раз
Рейтинг: 0

kipkoalex @ 11.11.16, 14:54 * ,
Сейчас запускаем управленческий учет на ЕРП, но постоянно обновляем релиз. уже 2.2.3.162.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 10:03
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!