Имя: Пароль:
1C
1С v8
Конвертация данных, не сохраняется ссылка
,
0 asa
 
04.09.15
14:18
Выгружаю из 7.7 документ прием на работу в ЗУП 3 – это для информации значения большого не имеет
В документе прием 7.7 есть должность в ЗУП в приеме тоже есть должность. Все выгружается нормально.
В должности ЗУП 3 есть реквизит Тарифная группа в 7.7 эта информация в разряде. Что делаю:
- в ПКС должности для ПКО "Прием на работу" в ПередВыгрузкой в ИсходящиеДанные добавляю в структуру с именем "ТарифнаяСетка" элемент с именем "Наименование" и строковым параметром названия сетки. ПКС "должности" выгружается по ПКО "должности"
- для свойства "Тарифная сетка" в ПКО "Должности" ставлю получить из входящих данных

Результат:
- прием на работу переносится
- должность создается и подставляется в прием
- тарифная сетка создается НО не подставляется в должность

Уже голову сломал.
1 Cyberhawk
 
04.09.15
14:22
Кидани-ка ПОД
2 asa
 
04.09.15
14:23
Код в ПередВыгрузкой в ПКС Должности

ТарифнаяСетка = Источник.Получить("ТарифнаяСетка");
ЗначениеТарифнойГруппы = СоздатьОбъект("СписокЗначений");
ИсходящиеДанные = СоздатьОбъект("СписокЗначений");
Сообщить("Тарифная группа:" + ТарифнаяСетка);
Если ПустоеЗначение(ТарифнаяСетка) = 0 Тогда
    ЗначениеТарифнойГруппы.Установить("Наименование", ТарифнаяСетка);
    ИсходящиеДанные.Установить("ТарифнаяСетка", ЗначениеТарифнойГруппы);
КонецЕсли;
3 asa
 
04.09.15
14:27
Извиняюсь конец не дописал

Соответственно для свойства Тарифная сетка в ПКО должности есть ПКО "Тарифные сетки" у которого Источника нет, Приемник Справочник ТарифныеСетки. Свойсво одно Наименование, и по нему же идет поиск. Так же стоит галочка не запоминать выгружаемые объекты.
4 asa
 
04.09.15
14:34
Настройки в правилах сложно словами описать, кто готов помочь спрашивайте не стесняйтесь, опишу что не понятно. Сам пока бросил эту задачу, переключился на другую, голова уже не "варит".
5 Cyberhawk
 
04.09.15
14:48
Я в (1) имел в виду ПОД кидануть в виде файла
6 asa
 
04.09.15
14:55
(5) Там файл огромный часть стандартных правил 1С часть переписанных - стоит ли?
7 KoZuB
 
04.09.15
15:11
Перенеси в ПриВыгрузке
8 Franchiser
 
гуру
04.09.15
15:31
Случайно не подчиненный справочник переносишь?
9 Franchiser
 
гуру
04.09.15
15:32
если да, могла возникнуть циклическая ссылка. Проверить, можно так: открыть файл выгрузки и если в нем есть теги вида <НПП> </НПП> в узле свойства, это 100% циклическая ссылка.
10 asa
 
04.09.15
15:32
(7) ок, сейчас попробую, смущает что элемент в справочнике ТарифныеСетки создается а ссылка в создаваемую должность не подставляется, такое ощущение что какая нибудь галочка
(8) нет, ТарифныеСетки не подчиненный
11 Franchiser
 
гуру
04.09.15
15:34
(10) попробуй галочку "Не запоминать выгруженные"
12 Franchiser
 
гуру
04.09.15
15:41
Может так:
ТарифнаяСетка = Источник.Получить("ТарифнаяСетка");
//ЗначениеТарифнойГруппы = СоздатьОбъект("СписокЗначений");
ИсходящиеДанные = СоздатьОбъект("СписокЗначений");
Сообщить("Тарифная группа:" + ТарифнаяСетка);
Если ПустоеЗначение(ТарифнаяСетка) = 0 Тогда
   // ЗначениеТарифнойГруппы.Установить("Наименование", ТарифнаяСетка);
    ИсходящиеДанные.Установить("ТарифнаяСетка", ТарифнаяСетка);
КонецЕсли;
13 Franchiser
 
гуру
04.09.15
15:43
И если ПустоеЗначение, тебе пустую ссылку надо передавать по ходу
14 Franchiser
 
гуру
04.09.15
15:47
если код такой, то в Тарифной Сетке пишешь соответствие наименованию Значение периодического реквизита.
15 Franchiser
 
гуру
04.09.15
15:48
так и не понял в твоем коде ТарифнаяСетка - вроде как ссылка, у устанавливаешь эту ссылку в наименование.
16 asa
 
04.09.15
15:49
(11) Галочка стоит и для ПКО ТарифныеСтавки и для ПКО
(12) Списибо что вник, но у меня в Источнике Тарифная сетка это строка, сответствено если ее передавать без структуры в ИсходящиеДанные то она не загрузится при установке галочки получить из входящих данных

У меня все заработало, только нужно разобраться в чем причина, либо в (7) либо в особенности входящих данных, обратил внимание что есть должности у которых у одного человека есть ТарифнаяСтавка а у другого нет, соответственно реквизит мог просто затираться. Проверю еще раз внимательно позже и отпишусь.

Всем спасибо.
17 Franchiser
 
гуру
04.09.15
15:53
Если ты сделаешь ПКС на тарифную сетку (даже если там строка), то по этому ПКС можно выполнить преобразование написава в ПередВыгрузкой свойства "Наименование" - Значение = Истинчик
18 asa
 
05.09.15
10:19
(17) Хорошо, я это и имел ввиду что получить из входящих данных не будет работать

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