Вход | Регистрация

  1  2
1С:Предприятие ::

Метки: 

Конвертация реквизита (ТиС 7.7) в доп.реквизит (УТ 8.3)

Я
   DenYuliya
 
30.10.17 - 09:40
Добрый день.

Переношу реквизиты (их штук 20, тип в основном либо булево, либо строк. Самопись, добавленная в спр. Контрагенты, ТиС (7.7)) в доп.реквизиты спр. Партнеры (УТ 11). Доп.реквизиты спр.партнеры - это ТЧ справочника.

Создала ПКГС  с пустым Источником и "ДополнительныеРеквизиты" в Приемнике.
В обработчике "ПередОбработкой" создала ТЗ  с колонками "Свойство", "Значение" и "ТекстоваяСтрока", и попыталась создать и заполнить строки.
КоллекцияОбъектов = СоздатьОбъект("ТаблицаЗначений";);
КоллекцияОбъектов.НоваяКолонка("Свойство";);
КоллекцияОбъектов.НоваяКолонка("Значение";);
КоллекцияОбъектов.НоваяКолонка("ТекстоваяСтрока";);

ПРМЗ = Источник.ПРМЗ;//самописно-добавленный в базу-Источник реквизит.


Если ПустоеЗначение(ПРМЗ) = 0 Тогда
 КоллекцияОбъектов.НоваяСтрока(); 
 КоллекцияОбъектов.Значение = Источник.ПРМЗ;
 КоллекцияОбъектов.ТекстоваяСтрока = "ПРМЗ";
КонецЕсли;сегодня в 09:26

Понимаю, что в ПКС надо теперь тоже что-то прописать. А вот что и в каком обработчике - не знаю. Мне кажется, что в "ПриВыгрузке", но не уверена. Пыталась заполнить ПКС "Свойство", в "ПриВыгрузке" вставила
Значение = Источник.ПРМЗ;

Но что-то ничего не происходит, ошибок тоже не выдается ни при выгрузке, ни при загрузке. Явно я что-то делаю не так...
Наставьте "На путь истинный", пожалуйста? Третий день не могу перенос реквизита в доп реквизита побороть. Просто не знаю - в ту ли сторону я вообще движусь, и в чем моя ошибка?
 
  Рекламное место пустует
   DenYuliya
 
101 - 31.10.17 - 16:22
(96)
Неа, не это)). Мне надо, чтобы значения (то, что написано в строке, например) в Доп.Реквизитах Приемника заполнились значениями из Реквизитов Источника.

Пример:
Дано:
Источник(спр.Контрагенты).Комментарий(реквизит, тип строка)  = "Мама мыла раму";

Приемник(Спр.Партнеры).КомментарийПартнера(доп.реквизит, с наименованием "Комментарий партнера" и типом значения Строка);

Решение: приемник.КомментарийПартнера = Источник.Комментарий;

Результат:  "КомментарийПартнера" в Приемнике заполнен текстом "мама мыла раму", как и "Комментарий" в Источнике.
   Ёпрст
 
102 - 31.10.17 - 16:22
Или тебе нужно одно пвх с именем, вася, например, и к нему кучку значений ?
Тогда в коде, замени заполнение СЗ, пихай в наименование свойства то, что тебе нужно, "Вася" там, например
   DenYuliya
 
103 - 31.10.17 - 16:39
(96) не совсем.
Мне нужно перенести значение, и все.

Пример:
Дано:
Источник: Спр.Контрагенты.Комментарий = "Мама мыла раму";, где
Комментарий  - реквизит Спр.Контрагенты с типом значения "Строка".
Приемник: Спр.Партнеры.КомментарийПартнера;, где "КомментарийПартнера" - доп.реквизит спр. Партнеры с типом значения "Строка".

Решение:
Спр.Партнеры.КомментарийПартнера = Спр.Контрагенты.Комментарий;

Итог: Приемник Спр.Партнеры.КомментарийПартнера = "Мама мыла раму";

Не уверена, что достаточно правильно объясняю...Просто перенести значение реквизита в однотипный до.реквизит
   DenYuliya
 
104 - 31.10.17 - 16:40
А сейчас у меня есть:
Источник: Спр.Контрагенты.Комментарий = "Мама мыла раму",

а в приемнике в результате создается доп.реквизит с наименованием "Мама мыла раму" и пустым значением.
   DenYuliya
 
105 - 31.10.17 - 16:47
(102) да, именно!
Есть куча контрагентов, у них у всех есть доп.реквизит (он же ПВХ) "Вася".
Но у всех "Вася" заполнен (или не заполнен) разными значениями.

Сейчас попробую так...
   DenYuliya
 
106 - 31.10.17 - 16:54
(103) что то у меня отправка сообщений подвисает...Я умала предыдущее не отправилось. И получение тоже с задержкой.
   DenYuliya
 
107 - 31.10.17 - 17:16
И все равно фигня в итоге.

http://dropmefiles.com/0YSG7

Изначально в ПВХ было только одно ПВХ, и в спр.Партнеры только один пустой доп реквизит (по ссылке файлы "ПВХ_доЗагрузки" и "спрПартнеры_ДоЗагрузки.").

А теперь - 2 ПВХ, оба пустые, и один из них к тому же "кривой")))
(по ссылке файлы "ПВХ" и "спрПартнеры")


В ПКГС код:

КоллекцияОбъектов = СоздатьОбъект("ТаблицаЗначений");
КоллекцияОбъектов.НоваяКолонка("Свойство");
КоллекцияОбъектов.НоваяКолонка("Значение");
КоллекцияОбъектов.НоваяКолонка("ТекстоваяСтрока");

КоллекцияОбъектов.НоваяСтрока(); 
КоллекцияОбъектов.Значение = Источник.ПРМЗ;
КоллекцияОбъектов.ТекстоваяСтрока =  "ПРМЗ";

СЗ = СоздатьОбъект("СписокЗначений");
СЗ.ДобавитьЗначение("ПРМЗ (Общие)","Наименование");
КоллекцияОбъектов.Свойство = СЗ;

В ПКС для ПКГС ПКС "Свойство", "Значение" и "ТекстоваяСтрока " созданы, но обработчики в них пустых. Поиск - не стоит. правила - ДопРеквизитыИСвойства.

В ПКО для ПВХ - поиск по Наименованию, обработчики - пустые.
   Ёпрст
 
108 - 31.10.17 - 17:18
(107) а откуда взяла "ПРМЗ (Общие)" ? когда как на картинке, просто "ПРМЗ"
   DenYuliya
 
109 - 31.10.17 - 17:21
Может надо вместо 

СЗ.ДобавитьЗначение("ПРМЗ (Общие)","Наименование");
использовать 
СЗ.Установить("ПРМЗ (Общие)","Наименование"); ?

В типовых правилах выгрузки Контактной информации так:

ВходящиеДанные = СоздатьОбъект("СписокЗначений");
КоллекцияОбъектов = СоздатьОбъект("ТаблицаЗначений");
КоллекцияОбъектов.НоваяКолонка("Вид");
КоллекцияОбъектов.НоваяКолонка("Представление");
КоллекцияОбъектов.НоваяКолонка("Тип");

ВходящиеДанные.Установить("Адрес",Источник.ЮрФизЛицо.ЮрАдрес);
ВходящиеДанные.Установить("Вид", "АдресПартнера");
   Ёпрст
 
110 - 31.10.17 - 17:22
(109) это пофик, ты каждый раз СЗ создаешь для каждой строки
 
  Рекламное место пустует
   Ёпрст
 
111 - 31.10.17 - 17:23
только нужно

СЗ.ДобавитьЗначение("ПРМЗ","Наименование");
   DenYuliya
 
112 - 31.10.17 - 17:23
(108)
я в (93) писала...
сейчас еще так попробую, ага.
Нашла консолью запросов по наименованию.
В приемнике (в УТ 11) доп.реквизит называется не "ПРМЗ", а "ПРМЗ(Общие)". Хотя при интерактивном (по кнопке +)создание элемента он называется просто ПРМЗ.

Видимо, это связано с тем, что в УТ нельзя просто записать доп.реквизит в корень спр.Партнеры, реквизит попадает либо в "Общие", либо по типу взаимоотношений - "Клиенты" и т.д.
   Ёпрст
 
113 - 31.10.17 - 17:23
судя по твоей последней картинке
   DenYuliya
 
114 - 31.10.17 - 17:43
http://dropmefiles.com/nPzEh  

Консолью видно, что наименование ПВХ не "ПРМЗ", а "ПРМЗ (Общие)"
   DenYuliya
 
115 - 31.10.17 - 17:45
на последнем скрине наименование не "ПРМЗ", а "ПРВЗ", но это я поправила, в КД в ПКГС прописано нормально.
   Ёпрст
 
116 - 31.10.17 - 17:45
(114) создай своё ,"Вася" к примеру, для чистоты экспериметна, потом грузи :)

Или в пкгс напиши так:

СЗ.ДобавитьЗначение("Вася","Наименование");
   DenYuliya
 
117 - 31.10.17 - 17:54
(116) ругнулся при выгрузке на 
"Ошибка исполнения обработчика:  ПКГС_ПередОбработкойВыгрузки_Контрагенты_Партнеры_ДополнительныеРеквизиты_ТабличнаяЧасть7"

Новый ПВХ не создался, старый не удалился.
   DenYuliya
 
118 - 01.11.17 - 08:08
Я тут нашла тему, при в ПКС ПВХ в контексте данной задачи надо типизировать значения,  установив параметр "тип".
А ведь и правда может помочь...Только вот почему - то в ПКС у меня неактивна кнопка "передавать в параметр". Никто случайно не знает, почему и как это исправить?  Все настройки облазила уже.
   бомболюк
 
119 - 01.11.17 - 08:24
(118) потому что у тебя выгрузка из 7ки. смотри пост (4)
   DenYuliya
 
120 - 01.11.17 - 08:53
Аа...понятно. так,  а если на вкладку "параметры" добавить? Не в ПКС,а в самом правиле.
Там вроде много параметров
   DenYuliya
 
121 - 03.11.17 - 10:55
В итоге вопрос был отложен, т.к. идею с переносом в доп.реквизиты начальство забраковало, сказав менять конфу.

У меня еще такой вопрос...
В Источнике (спр.Контрагент, ТиС) есть реквизит.
В Приемнике аналогичный реквизит - это реквизит ФОРМЫ справочника,а не реквизит самого справочники (в "данных" его нет).
Как передать реквизит Источника в реквизит формы элемента Приемника?
   Ёпрст
 
122 - 03.11.17 - 10:59
(121) никак.

Посмотреть, как он заполняется в самой конфе и из какого поля тащит своё значение (в ПриОткрытии, ПередОткрытием гляди).
   DenYuliya
 
123 - 03.11.17 - 11:23
(122) никак не заполняется.
Единственное событие, которое привязано к данному элементу - это ПриИзменение();

&НаКлиенте
Процедура КаналПервичногоИнтересаПриИзменении(Элемент)
ПартнерыИКонтрагентыКлиент.ПартнерФормаЭлементаКаналПервичногоИнтересаПриИзменении(ЭтаФорма, Элемент);
КонецПроцедуры

КаналПервичногоИнтереса - это ПВХ.
   Ёпрст
 
124 - 03.11.17 - 11:35
(123) реквизит формы живет, пока форма открыта, форму закрыли - нет реквизита. Такие реквизиты переносить не надо.
   DenYuliya
 
125 - 03.11.17 - 11:51
(124) ну значит в регистр перетащу, спасибо.

  1  2

Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует