|   |   | 
| 
 | КД: Добавить категорию перенесенным сотрудникам | ☑ | ||
|---|---|---|---|---|
| 0
    
        KrEAtive 17.07.11✎ 19:55 | 
        Переношу сотрудников из одной базы в другую.
  Во второй базе сотруднику должна добавиться категория "Перенесен". Можно написать в ПКО в ПослеЗагрузки, но если Сотрудника нет в базе, то в регистр КатегорииОбъектов запись не добавить - ссылки еще нет. Как лучше это сделать? | |||
| 1
    
        Amra 17.07.11✎ 19:59 | 
        ПослеЗагрузки ссылка уже есть     | |||
| 2
    
        Aleksey 17.07.11✎ 19:59 | 
        а почему при выгрузке нельзя ее заполнить?     | |||
| 3
    
        Aleksey 17.07.11✎ 20:01 | 
        (1) Объект еще не записан в базу
  Обработчики "Правила конвертации объектов" После загрузки Условия возникновения события Только для платформы V8. Событие выполняется после прочтения и установки атрабутов объекта из файла, но до его записи в информационную базу. Возможна модификация загруженного объекта. Параметры: Отказ - Булево - Если Истина, то объект загружен не будет. Ссылка – Произвольный – ссылка на найденный объект в информационной базе. Т.е. для нового объекта ссылки может и не быть | |||
| 4
    
        KrEAtive 17.07.11✎ 20:03 | 
        (2)Категория вообще всегда одна "перенесен", даже запоминать не надо. Как потом всем перенесенным присвоить, запоминать где-то список?     | |||
| 5
    
        Amra 17.07.11✎ 20:08 | 
        (3) Ну конечно же и в обработчике этого события ее и записать нельзя) Да?)     | |||
| 6
    
        Aleksey 17.07.11✎ 20:09 | 
        (4) Тем более. Дописать конвертацию, что бы при выгрузки физлица автоматом выгружалась по правилу и РС КатегорииОбъектов 
  Вообще, ИМХО, идеология КД подразумевает, что мы по максимуму делаем при выгрузке. В идеале должно тупо загрузиться и все, без выбора | |||
| 7
    
        Aleksey 17.07.11✎ 20:09 | 
        (5) Записать можно     | |||
| 8
    
        KrEAtive 17.07.11✎ 20:11 | 
        (5) Щас попробую записать, спс     | |||
| 9
    
        Amra 17.07.11✎ 20:22 | 
        (7) Спасибо, кэп!))     | |||
| 10
    
        KrEAtive 17.07.11✎ 20:24 | 
        (5)Записать не получается.     | |||
| 11
    
        Amra 17.07.11✎ 20:27 | 
        (10) КАк записываешь?)     | |||
| 12
    
        KrEAtive 17.07.11✎ 20:29 | 
        Я не силен в КД, поэтому прямо в обработчике делаю:
  Объект.Записать(); Естественно, ругается | |||
| 13
    
        KrEAtive 17.07.11✎ 20:32 | 
        Похоже, придется делать ПКО на Категории     | |||
| 14
    
        ДенисЧ 17.07.11✎ 20:33 | 
        (12) КАК ругается?     | |||
| 15
    
        KrEAtive 17.07.11✎ 20:35 | 
        Ругается уже при загрузке на то, что запись в регистр не может сделать.
  Запись не верна! Значение поля "Объект" не может быть пустым!: КатегорииОбъектов Для тех сотр., которых находит, все нормально, категорию переносит | |||
| 16
    
        SIS72 18.07.11✎ 07:56 | 
        Тебе постоянно надо делать обмен сотрудниками или разово?     | |||
| 17
    
        KrEAtive 18.07.11✎ 08:11 | 
        (16) Разово     | |||
| 18
    
        SIS72 18.07.11✎ 09:08 | 
        так не парься - добавь в комментарий (если он есть, баз под рукой нет) например "!!!" через Значение = "!!!"+Значение; и потом обработку сделай  - где в комментарии первые три символа !!! - делай свою категорию. Так намного проще и быстрее, чем с правилами разбираться.
  И еще зайди http://www.mykod.info - там про ковертацию данных с нуля очень доходчиво и на простых примерах | |||
| 19
    
        SIS72 18.07.11✎ 09:10 | 
        Если вдруг нет комментария - можно, например и к фамилии !!! прицепить - а потом в обработке убрать...     | |||
| 20
    
        Синий зуб 18.07.11✎ 09:44 | 
        Теоретически должно прокатить событие После выгрузки в файл в ПКО. Там пишешь ВыгрузитьПоПравилу твой регистр сведений, и при загрузке сначала отработается загрузка сотрудника, а потом запись регистра сведений.     | |||
| 21
    
        KrEAtive 18.07.11✎ 10:53 | 
        Разобрался, почему не записывался регистр.
  Я ссылку брал из Параметра обработчика То есть был код: Объект.Записать(); ... НаборЗаписей.Отбор.Объект.Установить(Ссылка); Сделал так: Объект.Записать(); Ссылка = Объект.Ссылка; ... НаборЗаписей.Отбор.Объект.Установить(Ссылка); | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |