|   |   | 
| 
 | Конвертация данных из строки в табличную часть. | ☑ | ||
|---|---|---|---|---|
| 0
    
        ТутЯ 18.12.12✎ 10:17 | 
        Подскажите, пожалуйста, как выполнить такой перенос данных.
  В 1с7.7 есть справочник "Контрагенты" с реквизитами "Адрес", "ЮрАдрес", "Телефон". В 1с8.2 есть справочник "Контрагенты" с табличной частью "Контактная информация", где реквизиты "Тип"(Перечисление), "Вид"(Справочник с предопределенными элементами), "Представление". На форуме нашла v8: Конвертация данных, подчиненный справочник в табличную часть справочника. Написала для примера КПС Источник - получить значение из входящих данных Приемник - КонтактнаяИнформация В "ПередВыгрузкой" код: КоллекцияОбъектов = СоздатьОбъект("ТаблицаЗначений"); КоллекцияОбъектов.НоваяКолонка("Тип"); КоллекцияОбъектов.НоваяКолонка("Представление"); КоллекцияОбъектов.НоваяСтрока(); КоллекцияОбъектов.Тип = "Адрес"; КоллекцияОбъектов.Представление = Источник.Адрес; КоллекцияОбъектов.НоваяСтрока(); КоллекцияОбъектов.Тип = "ЮрАдрес"; КоллекцияОбъектов.Представление = Источник.ЮрАдрес; Вопросы: 1) как нарисовать тип и вид, если мы выгружаем из 7.7? 2) как обработать полученную ТЗ? 3) или это делается не так? | |||
| 1
    
        floody 18.12.12✎ 10:23 | 
        а фото то где     | |||
| 2
    
        lEvGl гуру 18.12.12✎ 10:27 | 
        (1) Achtung!!!     | |||
| 3
    
        Alex S D 18.12.12✎ 10:28 | 
        (1)+1     | |||
| 4
    
        Lokli 18.12.12✎ 10:29 | 
        Хм... Вообще-то в 8.2 обычно используется не табличная часть, а регистр сведений. Ну да ладно, пока это не важно. 
  В указанной вами тебе есть очень хороший пост №2. Цитирую: "Блин, наверно без прочтения мануалов нахрапом не взять, туго понимаю механизм. Пойду читать." (2), (3)Сами вы ахтунг. :))) Пишет, то "нашла", "написала". | |||
| 5
    
        Alex S D 18.12.12✎ 10:30 | 
        (4) сам ты ахтунг, я тут причем)     | |||
| 6
    
        Alex S D 18.12.12✎ 10:31 | 
        (4) ты плохо знаешь например ут 11 - там КИ в таб. части     | |||
| 7
    
        floody 18.12.12✎ 10:31 | 
        народ похоже вообще темы не читает, тупо смотрит сразу пол, если "м", переходят к следующей)     | |||
| 8
    
        Rlogin 18.12.12✎ 10:32 | 
        (4) Топикстартер палится "Нашла.." "Написала .."     | |||
| 9
    
        ТутЯ 18.12.12✎ 10:53 | 
        (4) А сами читали? Туго и плохо знаю, поэтому и спрашиваю!
  (8) пол женский, фото показывала | |||
| 10
    
        ТутЯ 18.12.12✎ 10:54 | 
        Спросить быстрее чем прочитать...     | |||
| 11
    
        Lokli 18.12.12✎ 11:14 | 
        Я бы сделал так:
  У ПКО Номенклатуры создал бы группу свойств аналогичную ТЧ приёмника. А в обработчике события "ГруппаСвойств.Перед обработкой" заполнял бы предопределённую переменную "Входящие данные". | |||
| 12
    
        ТутЯ 18.12.12✎ 11:20 | 
        Спасибо. Ответ найден и вопрос закрыт.     | |||
| 13
    
        Lokli 18.12.12✎ 11:21 | 
        Ну дык поделись своим вариантом решения. Интересно же.     | |||
| 14
    
        ТутЯ 18.12.12✎ 11:34 | 
        (11) все так + http://www.mykod.info/prostie-primeri/prostie-primeri-5     | |||
| 15
    
        ТутЯ 18.12.12✎ 11:52 | 
        т.к. код писать нужно 1с77, то получается так:
  КоллекцияОбъектов = СоздатьОбъект("ТаблицаЗначений"); КоллекцияОбъектов.НоваяКолонка("Тип"); КоллекцияОбъектов.НоваяКолонка("Вид"); КоллекцияОбъектов.НоваяКолонка("Представление"); КоллекцияОбъектов.НоваяСтрока(); КоллекцияОбъектов.Тип = "Адрес"; КоллекцияОбъектов.Представление = Источник.Адрес; КоллекцияОбъектов.НоваяСтрока(); КоллекцияОбъектов.Тип = "ЮрАдрес"; КоллекцияОбъектов.Представление = Источник.ЮрАдрес; | |||
| 16
    
        ТутЯ 18.12.12✎ 11:52 | 
        Остается прикрутить только "Вид", а так работает.     | |||
| 17
    
        Aprobator 18.12.12✎ 11:55 | 
        да Вид вообще прикрутить раз плюнуть. Там же ссылка на предопределенные элементы. Тупо строкой имя предопределенного значения из конфигуратора. Даже правило конвертации значения рисовать не надо.     | |||
| 18
    
        ТутЯ 18.12.12✎ 12:03 | 
        Спасибо. Пробую, тестирую     | |||
| 19
    
        ТутЯ 21.12.12✎ 15:33 | 
        все получилось, но возник другой вопрос:
  В справочнике Номенклатура 1с77 есть поля склад стеллаж полка ячейка в 1с8 в справочнике "Номенклатура" есть таличная часть "Адресное хранение" с реквизитами: склад ЗоныСкладов сталлажи полки ячейки где "Ячейки" - справочник, подчиненный справочнику "Полки" "Полки" подчинен справочнику "Сталлажи" "Сталлажи" подчинен справочнику "Зоны складов" "Зоны складов" подчинен справочнику "Склады" Как реализовать перенос с подчиненными? Как в предыдущем вопросе для ПКО Номенклатура->Номенклатура создала ПКГС ...- >"Адресное хранение" (получать из входящих данных) в обработчике "Перед обработкой" код КоллекцияОбъектов = СоздатьОбъект("ТаблицаЗначений"); КоллекцияОбъектов.НоваяКолонка("Склад"); КоллекцияОбъектов.НоваяКолонка("Зона"); КоллекцияОбъектов.НоваяКолонка("Стеллаж"); КоллекцияОбъектов.НоваяКолонка("Полка"); КоллекцияОбъектов.НоваяКолонка("Ячейка"); КоллекцияОбъектов.НоваяСтрока(); КоллекцияОбъектов.Склад = Источник.Склад; КоллекцияОбъектов.Зона = "Основная"; КоллекцияОбъектов.Стеллаж = Источник.Стеллаж; КоллекцияОбъектов.Полка = Источник.Полка; КоллекцияОбъектов.Ячейка = Источник.Ячейка; Подскажите, плиз, как создать подчинение? | |||
| 20
    
        Aprobator 21.12.12✎ 15:48 | 
  | |||
| 21
    
        Aprobator 21.12.12✎ 15:49 | 
        ну и у адресных данных галку взвести "Получать из внешних данных".     | |||
| 22
    
        Aprobator 21.12.12✎ 15:50 | 
        код добавить в том же обработчике только чуть ниже. И я бы не стал использовать имя переменной КоллекцияОбъектов.     | |||
| 23
    
        ТутЯ 21.12.12✎ 15:50 | 
        Что дает (20)?     | |||
| 24
    
        Aprobator 21.12.12✎ 15:51 | 
        (23) указываешь имя подчиненной коллекции объектов. В данно случае ТЧ "АдресноеХранение".     | |||
| 25
    
        Aprobator 21.12.12✎ 15:52 | 
        а ты в ПКГС напрямую все делаешь.     | |||
| 26
    
        Aprobator 21.12.12✎ 15:52 | 
        тогда соррь     | |||
| 27
    
        ТутЯ 21.12.12✎ 15:53 | 
        внутри группы добавлены строчки     | |||
| 28
    
        Aprobator 21.12.12✎ 15:53 | 
        хотя при данном коде галка получать из входящих данных не нужна, поскольку ты явно заполняешь состав коллекции.     | |||
| 29
    
        ТутЯ 21.12.12✎ 15:54 | 
        да, и там же и правила нужно нарисовать как я понимаю...     | |||
| 30
    
        Aprobator 21.12.12✎ 15:54 | 
        (29) нет - ссылка на правила указывается у реквизитов внутри группы     | |||
| 31
    
        ТутЯ 21.12.12✎ 15:55 | 
        я про это     | |||
| 32
    
        Aprobator 21.12.12✎ 15:57 | 
        а все понял про  что ты     | |||
| 33
    
        Aprobator 21.12.12✎ 16:00 | 
        внутри группы у реквизитов делаешь так:
  Для Ячейки к примеру 
 и в ПКО куда это передается для владельца ставишь галку Получать из входящих данных. | |||
| 34
    
        Aprobator 21.12.12✎ 16:00 | 
        также в перед выгрузкой.     | |||
| 35
    
        ТутЯ 21.12.12✎ 16:02 | 
        Смущает текст "ПолкаВладелец"     | |||
| 36
    
        Aprobator 21.12.12✎ 16:04 | 
        (35) ну пропиши просто Источник.Владелец ). Я просто к примеру показал.     | |||
| 37
    
        Aprobator 21.12.12✎ 16:05 | 
        тьфу Источник.Полка.     | |||
| 38
    
        acsent 21.12.12✎ 16:05 | 
        (20) зачем такой изврат?     | |||
| 39
    
        Aprobator 21.12.12✎ 16:05 | 
        если что я фотки еще не видел )     | |||
| 40
    
        Aprobator 21.12.12✎ 16:05 | 
        (38) да косякнул чего то )     | |||
| 41
    
        Aprobator 21.12.12✎ 16:07 | 
        +(40) у меня эта КД просто мозг выела. Достали эти переносы. Механизм КД сам по себе - чудесный. Но блин, как тяжко разгребать кривые данные и "выпрямлять" их для переноса.     | |||
| 42
    
        acsent 21.12.12✎ 16:08 | 
        (38) хотя в типовых правилах такое сплошь и рядом. Но зачем     | |||
| 43
    
        Aprobator 21.12.12✎ 16:11 | 
        (42) в типовых хз зачем. Я просто такие вещи прописываю не в ПКГС, а в ПКО (вот по привычке тут и ляпнул). Потом чисто удобнее лазить и смотреть где и что заполнял. Сразу в объект залез и там сразу все видишь. А не каждое ПКГС ковырять отдельно еще.     | |||
| 44
    
        ТутЯ 21.12.12✎ 16:11 | 
        фото добавила     | |||
| 45
    
        Aprobator 21.12.12✎ 16:13 | 
        помогло?     | |||
| 46
    
        ТутЯ 21.12.12✎ 16:15 | 
        Ошибка исполнения обработчика:  ПКС_ПередВыгрузкой_Номенклатура_АдресноеХранение_Стеллаж_Реквизит16
  - Поле агрегатного объекта не обнаружено (Зона) | |||
| 47
    
        Aprobator 21.12.12✎ 16:16 | 
        галка у ПКГС получать из входящих данных убрана?     | |||
| 48
    
        ТутЯ 21.12.12✎ 16:18 | 
        и с галкой и без галки ошибка одинаковая     | |||
| 49
    
        Aprobator 21.12.12✎ 16:21 | 
        ну дык там надо:
  
  | |||
| 50
    
        Aprobator 21.12.12✎ 16:21 | 
        а не Источни.Зона ))))     | |||
| 51
    
        Aprobator 21.12.12✎ 16:21 | 
        Источник.Зона ))))     | |||
| 52
    
        ТутЯ 21.12.12✎ 16:23 | 
        дада, щас пробую     | |||
| 53
    
        ТутЯ 21.12.12✎ 16:35 | 
        ЗоныСкладов пустое наименование
  Сталлажи не создалась запись | |||
| 54
    
        Aprobator 21.12.12✎ 16:44 | 
        значит что то не так в ПКО для свойств стеллажи и Зоны складов.     | |||
| 55
    
        ТутЯ 21.12.12✎ 16:48 | 
        Зону складов заполнила)     | |||
| 56
    
        ТутЯ 21.12.12✎ 16:50 | 
        Стеллаж не записывает.     | |||
| 57
    
        Aprobator 21.12.12✎ 16:50 | 
        ))))ладно - дальше сама разберешься. Пшел работать. Тоже КД ковыряю.     | |||
| 58
    
        Aprobator 21.12.12✎ 16:51 | 
        (56) смотри отладчиком - почему. Правило конвертации не забыла указать?     | |||
| 59
    
        ТутЯ 21.12.12✎ 16:51 | 
        Спасиб.)     | |||
| 60
    
        Stim 21.12.12✎ 17:00 | 
        охх,ёё. посмотрел фото, сразу забыл, что хотел написать, чтобы помочь..     | |||
| 61
    
        ТутЯ 21.12.12✎ 17:02 | 
        Вопрос актуальный еще. Настроить ПКО для Стеллажей)     | |||
| 62
    
        Stim 21.12.12✎ 17:03 | 
        ради Бога, поставьте поскромнее фото..     | |||
| 63
    
        ТутЯ 21.12.12✎ 17:06 | 
        Тогда в другой раз фото. Только что в той не скромного...     | |||
| 64
    
        ТутЯ 04.01.13✎ 14:01 | 
        Если как в v8: Конвертация данных. Договор в контрагентах. нарисовать текст, то не работает
  // ИсходящиеДанные = СоздатьОбъект("СписокЗначений"); ИсходящиеДанные.Установить("Владелец", Источник.Склад); ИсходящиеДанные.Установить("Зона", "Основная"); ВыгрузитьПоПравилу(,,ИсходящиеДанные,,"ЗоныСкладов"); // ИсходящиеДанные = СоздатьОбъект("СписокЗначений"); ИсходящиеДанные.Установить("Владелец", "Основная"); ИсходящиеДанные.Установить("Стеллаж", Источник.Стеллаж); ВыгрузитьПоПравилу(,,ИсходящиеДанные,,"Стеллажи"); // ИсходящиеДанные = СоздатьОбъект("СписокЗначений"); ИсходящиеДанные.Установить("Владелец", Источник.Стеллаж); ИсходящиеДанные.Установить("Полка", Источник.Полка); ВыгрузитьПоПравилу(,,ИсходящиеДанные,,"Полки"); // ИсходящиеДанные = СоздатьОбъект("СписокЗначений"); ИсходящиеДанные.Установить("Владелец", Источник.Полка); ИсходящиеДанные.Установить("Ячейка", Источник.Ячейка); ВыгрузитьПоПравилу(,,ИсходящиеДанные,,"Ячейки"); | |||
| 65
    
        ТутЯ 04.01.13✎ 14:13 | 
        Связку Склад-Зоны складов создает, а дальше никак.
  В табличной части элементы заполняются, но они без подчинения. | |||
| 66
    
        Aprobator 04.01.13✎ 19:24 | 
        Может правила для владельцев не понимала или ссылки на них?     | |||
| 67
    
        Aprobator 04.01.13✎ 19:24 | 
        Не прописала?     | |||
| 68
    
        ТутЯ 04.01.13✎ 19:25 | 
        все получилось. Щас напишу как сделала.     | |||
| 69
    
        Aprobator 04.01.13✎ 19:28 | 
        Там главное вроде владельца первым создать.     | |||
| 70
    
        ТутЯ 04.01.13✎ 19:36 | 
        ПКГС
  ...-> Адресное хранение Перед обработкой Если ПустоеЗначение(Источник.Склад)=1 Тогда Склад = Константа.ОснСклад; Иначе Склад = Источник.Склад; КонецЕсли; КоллекцияОбъектов = СоздатьОбъект("ТаблицаЗначений"); КоллекцияОбъектов.НоваяКолонка("Склад"); КоллекцияОбъектов.НоваяКолонка("Зона"); КоллекцияОбъектов.НоваяКолонка("Стеллаж"); КоллекцияОбъектов.НоваяКолонка("Полка"); КоллекцияОбъектов.НоваяКолонка("Ячейка"); КоллекцияОбъектов.НоваяСтрока(); КоллекцияОбъектов.Склад = Склад; КоллекцияОбъектов.Зона = "Основная"; КоллекцияОбъектов.Стеллаж = Источник.Стеллаж; КоллекцияОбъектов.Полка = Источник.Полка; КоллекцияОбъектов.Ячейка = Источник.Ячейка; Внутри группы 1. источник пустой- приемник "Склад" правило конвертации "Склады", короче все просто 2. источник пустой-приемник "Зона" правило "ЗоныСкладов" в ПередВыгрузкой код Если ПустоеЗначение(Источник.Склад)=1 Тогда Склад = Константа.ОснСклад; Иначе Склад = Источник.Склад; КонецЕсли; ИсходящиеДанные = СоздатьОбъект("СписокЗначений"); ИсходящиеДанные.Установить("Владелец", Склад); ИсходящиеДанные.Установить("Зона", "Основная"); ВыгрузитьПоПравилу(,,ИсходящиеДанные,,"ЗоныСкладов"); ПКО "ЗоныСкладов" источник пустой- приемник "СправочникСсылка.ЗоныСкладов" 1) ПКС "Наименование" поиск по полю источник пустой(получить значение из входящих данных) в ПРиВыгрузке код Значение = ВходящиеДанные.Получить("Зона"); 2) ПКС "Владелец" поиск по полю источник пустой(получить значение из входящих данных) в ПРиВыгрузке код Значение = ВходящиеДанные.Получить("Владелец"); короче тоже все просто 3.источник пустой-приемник "Стеллажи" в ПередВыгрузкой код Если ПустоеЗначение(Источник.Склад)=1 Тогда Склад = Константа.ОснСклад; Иначе Склад = Источник.Склад; КонецЕсли; ИсходящиеДанные = СоздатьОбъект("СписокЗначений"); ИсходящиеДанные.Установить("Склад", Склад); ИсходящиеДанные.Установить("Владелец", "Основная"); ИсходящиеДанные.Установить("Стеллаж", Источник.Стеллаж); ВыгрузитьПоПравилу(,,ИсходящиеДанные,,"Стеллажи"); ПКО "Стеллажи" источник пустой- приемник СправочникСсылка.Стеллажи 1) для наименования Значение = ВходящиеДанные.Получить("Стеллаж"); (аналогично как для зоны) 2)для владельца ИсходящиеДанные = СоздатьОбъект("СписокЗначений"); ИсходящиеДанные.Установить("Владелец", ВходящиеДанные.Получить("Склад")); ИсходящиеДанные.Установить("Зона", "Основная"); ВыгрузитьПоПравилу(,,ИсходящиеДанные,,"ЗоныСкладов"); и т.д.... Смысл в том чтобы в при поиске владельца учитывать владельца самого владельца :) | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |