|   |   | 
| 
 | v7: конвертация реквизита из шапки в табличную часть | ☑ | ||
|---|---|---|---|---|
| 0
    
        Soul771 31.01.14✎ 00:14 | 
        Доброго времени суток.
 Переношу данные из ПУБ 7, ред. 2.8 в УНФ 8, использую КД. В 7 документ ВыпускПродукцииРазделка, у него реквизиты Материал, КоличествоМатериалов. Переношу в 8 документ СборкаЗапасов , нужно, чтобы эти реквизиты(Материал и КоличествоМатериалов) попали в табличную часть Продукция, в Номенклатура и Количество соответственно. Создала ПКО, в ПКС создала группу с пустым источником, приемником указала Продукция. Поставила галочку "Получить из входящих данных".Внутри группы создала 2 реквизита с пустыми источниками, галочки не ставила. В ПКГС в перед обработкой прописала: КоллекцияОбъектов = СоздатьОбъект("ТаблицаЗначений"); КоллекцияОбъектов.НоваяКолонка("Количество"); КоллекцияОбъектов.НоваяКолонка("Номенклатура"); КоллекцияОбъектов.НоваяСтрока(); КоллекцияОбъектов.Количество=Источник.КоличествоМатериалов; КоллекцияОбъектов.Номенклатура=Источник.Материал; Сохранила, пытаюсь выгрузить данные из 7, ругается: "Функция не обнаружена(ПКГС_ПередОбработкойВыгрузки_ВыпускПродукцииРазделка_Продукция_ТабличнаяЧасть17) Ошибка выбора объектов коллекции" Подскажите, пожалуйста, что не так делаю.. Пробовала переносить только количество, результат тот же. Замучалась уже, в конвертации новичок, куда копать?... | |||
| 1
    
        m-serg74 31.01.14✎ 00:22 | 
        (0) модуль то в обработке меняла?     | |||
| 2
    
        Soul771 31.01.14✎ 00:27 | 
        Пропустила букву, пишу еще раз, чтобы не запутать..
 В 7 документ ВыпускПродукцииРазделка надо перенести в 8 в документ СборкаЗапасов. У шапки документа ВыпускПродукцииРазделка есть реквизиты Материал, КоличествоМатериалов. У документа СборкаЗапасов есть табличная часть Продукция с реквизитами Номенклатура, Количество. Нужно перегрузить из ВыпускПродукцииРазделка.Материал-> СборкаЗапасов.Продукция.Номенклатура и из ВыпускПродукцииРазделка.КоличествоМатериалов->СборкаЗапасов.Продукция.Количество | |||
| 3
    
        Soul771 31.01.14✎ 00:27 | 
        про модуль уже встречала, но как поменять не знаю((( подскажите, пожалуйста..     | |||
| 4
    
        Soul771 31.01.14✎ 00:30 | 
        (1) это моя первая конверташка, не кидайтесь тапками, если туплю))) help..     | |||
| 5
    
        m-serg74 31.01.14✎ 00:30 | 
        (3) когда жмешь сохранить правила где то галка есть Выгружать модуль обработки, потом берешь 7шную обработку открываешь в конфигураторе и весь текст меняешь на то что выгрузилось     | |||
| 6
    
        m-serg74 31.01.14✎ 00:32 | 
        или я делаю, сразу в начале кода обработки пишу #ЗагрузитьИзФайла Модуль.txt
 и сохраняю соответственно в файл с таким названием, главное не забывать обработку переоткрывать после сохранения Правил+Модуль | |||
| 7
    
        Soul771 31.01.14✎ 00:50 | 
        m-serg74, большое ,большое спасибо! сделала, как вы написали, все выгрузилось и загрузилось. Ура :-)     | |||
| 8
    
        m-serg74 31.01.14✎ 00:50 | 
        (7) пжл :)     | |||
| 9
    
        Soul771 31.01.14✎ 01:14 | 
        После переноса и Номенклатура, и Количество отобразились в документе, но документ не проводится, выдает ошибку "Преобразование значения к типу Число не может быть выполнено". Подозреваю, что это связано с тем, что в ПКС, внутри группы, у реквизита Количество тип источника не указан.. Если в перенесенном документе удалить строку с номенклатурой и количеством и выбрать их же вручную, документ проводится без ошибок. В конвертации для Номенклатуры я указала правило переноса, а как быть с Количеством? Тип приемника у него - число.     | |||
| 10
    
        m-serg74 31.01.14✎ 08:44 | 
        (9) /Преобразование значения к типу Число не может быть выполнено/
 Отладчик на проведение и смотреть на какое именно значение ругается, а не угадывать... | |||
| 11
    
        Godofsin 31.01.14✎ 08:56 | 
        Коэффициент мб     | |||
| 12
    
        m-serg74 31.01.14✎ 08:58 | 
        (11) кстати вполне может быть, но чем гадать быстрее посмотреть     | |||
| 13
    
        Soul771 31.01.14✎ 12:36 | 
        Ругается...
 Ошибка при выполнении обработчика - 'ОбработкаПроведения' по причине: {Документ.СборкаЗапасов.МодульМенеджера(273)}: Преобразование значения к типу Число не может быть выполнено СтрокаРапределения.Количество = Окр((КоличествоКСписанию - ИсхКоличество) * СтрокаМатериалы.ДоляСтоимости / ?(БазаРаспределенияКоличество = 0, 1, БазаРаспределенияКоличество),3,1); Смотрю в табло,СтрокаРапределения.Количество имеет null, насколько я понимаю, в это поле попадает переносимое значение КоличествоМатериалов.. И вот еще проблема, не знаю, связаны ли они, может, кто-то сталкивался.. Другие документы проводятся, но в движения попадает количество не по всем товарам. Контроль остатков отключен, карточки номенклатуры на вид абсолютно идентичны, не могу понять, что же я не так сделала, в конвертации ли вообще дело... | |||
| 14
    
        Soul771 31.01.14✎ 12:38 | 
        Другие документы - я имела ввиду перемещения, реализация, их тоже переносила через конвертацию, только в них реквизит количество из табличной части в табличную переносится.     | |||
| 15
    
        Soul771 31.01.14✎ 12:44 | 
        И еще один вопросик) чтобы уж сразу, набраться уму-разуму)) Если часть реквизитов табличной части в документе-приемнике должны заполнится соответствующими реквизитами  ТЧ  документа-источника, а один из реквизитов ТЧ в приемнике заполняется реквизитом из шапки источника, как сделать, чтобы при конвертации все реквизиты ТЧ заполнялись? По отдельности это работает, а вместе нет. Т.е. либо переносятся реквизиты ТЧ источник-ТЧ приемник, а реквизит ТЧ приемника, который должен браться из шапки источника, остается незаполненным, либо наоборот. Экспериментировала с галочками "не замещать значение свойства у существующих объектов в приенике", не помогло..Подскажите, пожалуйста..     | |||
| 16
    
        m-serg74 31.01.14✎ 12:48 | 
        (15) сделай вообще перед выгрузкой документа заполнение таблицы значений данными из ТЧ документа в 7ке, добавь колонку в которой будет значение из шапки, заполни всю ее этим значением и напиши ВыгрузитьПоПравилу(.......  ну и т.д. в в ПКСах поставь получать данные из входящих...     | |||
| 17
    
        Soul771 31.01.14✎ 13:35 | 
        (16) Т.е. в ПКО переносимого документа я пишу в перед выгрузкой
 КоллекцияОбъектов = СоздатьОбъект("ТаблицаЗначений"); КоллекцияОбъектов.НоваяКолонка("КоличествоПродукции"); КоллекцияОбъектов.НоваяКолонка("Элемент"); КоллекцияОбъектов.НоваяКолонка("Норма"); КоллекцияОбъектов.НоваяСтрока(); КоллекцияОбъектов.КоличествоПродукции=Источник.Количество; КоллекцияОбъектов.Элемент=Источник.Состав.Номенклатура; КоллекцияОбъектов.Норма=Источник.Состав.Количество; У переносимого документа есть реквизиты в ТЧ КоличествоПродукции, Элемент, Норма. В приемнике в ТЧ Состав есть реквизиты Номенклатура, Количество, и в шапке реквизит Количество... Что-то не нравится мне код.. недопонимаю.... | |||
| 18
    
        m-serg74 31.01.14✎ 14:38 | 
        (17) /В приемнике в ТЧ Состав есть реквизиты Номенклатура, Количество, и в шапке реквизит Количество/
 это все проприемник? | |||
| 19
    
        Soul771 31.01.14✎ 15:03 | 
        (18)Ой, напутала я....В источнике есть шапка и табличная часть. В шапке реквизит Количество, в ТЧ реквизиты Элемент, Норма. В приемнике есть ТЧ Состав с реквизитами КоличествоПродукции, Номенклатура, Количество. И надо сопоставить:
 Источник.Количество -> Приемник.Состав.КоличествоПродукции Источник.Элемент -> Приемник.Состав.Номенклатура Источник.Норма ->Приемник.Состав.Количество Тогда бы надо написать: КоллекцияОбъектов = СоздатьОбъект("ТаблицаЗначений"); КоллекцияОбъектов.НоваяКолонка("КоличествоПродукции"); КоллекцияОбъектов.НоваяКолонка("Элемент"); КоллекцияОбъектов.НоваяКолонка("Норма"); КоллекцияОбъектов.НоваяСтрока(); КоллекцияОбъектов.КоличествоПродукции=Источник.Количество; КоллекцияОбъектов.Элемент=Источник.Номенклатура; КоллекцияОбъектов.Норма=Источник.Количество; Только поймет ли конвертация, из какой строки ТЧ источника брать Номенклатуру и Количество, т.е. пойдет ли выгрузка-загрузка построково, или это надо как-то прописать циклом?.... В источнике в ТЧ и в примнике в ТЧ есть еще и реквизит с типом перечисление, для которого я прописывала соответствие в конвертации значений. Как его запихать в данном случае совсем не представляю, но пока хотя бы без него разобраться.. | |||
| 20
    
        m-serg74 31.01.14✎ 15:04 | 
        нет надо создавать ТЗ с такой структурой как в приемнике     | |||
| 21
    
        m-serg74 31.01.14✎ 15:07 | 
        КоллекцияОбъектов = СоздатьОбъект("ТаблицаЗначений");
 КоллекцияОбъектов.НоваяКолонка("КоличествоПродукции"); КоллекцияОбъектов.НоваяКолонка("Номенклатура"); КоллекцияОбъектов.НоваяКолонка("Количество"); Источник.ВыбратьСтроки(); Пока Источник.ПолучитьСтроку() = 1 Цикл КоллекцияОбъектов.НоваяСтрока(); КоллекцияОбъектов.КоличествоПродукции=Источник.Количество; КоллекцияОбъектов.Номенклатура=Источник.Элемент; КоллекцияОбъектов.Количество=Источник.Норма; КонецЦикла; | |||
| 22
    
        m-serg74 31.01.14✎ 15:07 | 
        типа такого что то     | |||
| 23
    
        Soul771 31.01.14✎ 15:08 | 
        Блин :-) я что-то совсем как во сне пишу.... Третий день уже сижу над несколькими документами и поля плывут) спасибо большое!     | |||
| 24
    
        m-serg74 31.01.14✎ 15:09 | 
        носите на здоровье :)     | |||
| 25
    
        Soul771 31.01.14✎ 15:12 | 
        :-) Тыкните носом еще, пожалуйста, ВыгрузитьПоПравилу - это в ПВД указать для выгрузки этого документа, где способ выборки, заменить "стандартная выборка" на "произвольный алгоритм"?     | |||
| 26
    
        m-serg74 31.01.14✎ 15:16 | 
        (25) смотря что делаешь если так как в (21) то не надо ВыгрузитьПоПравилу, просто ТЧ Источника пустую оставь и все, а в обработчик ПередОбработкой этот код, а спсоб выборки вообще к этому не имеет отношения     | |||
| 27
    
        m-serg74 31.01.14✎ 15:17 | 
        (25) а тим вивера нету, что то сбила с толку и я фигню уже какую то понес... и там и там есть ТЧ значит вообще никакие Коллекции не надо формировать     | |||
| 28
    
        m-serg74 31.01.14✎ 15:20 | 
        просто сопоставить
 Источник.Элемент - Применик.Номенклатура Источник.Норма - Применик.Количество Пусто - Применик.КоличествоПродукции, и перед выгрузкой в последнем Значение = Источник.Количество | |||
| 29
    
        Soul771 31.01.14✎ 15:22 | 
        (27) тимик есть :-) 
 (28) сейчас попробую, напишу о результатах) спасибо!! | |||
| 30
    
        m-serg74 31.01.14✎ 15:29 | ||||
| 31
    
        Soul771 31.01.14✎ 15:36 | 
        Все получилось очень хорошо :-) Даже перечисления перенеслись и не пришлось с ними возиться)
 А галочку "получить из входящих данных " не нужно ставить у реквизита, который из шапки переносится? | |||
| 32
    
        Soul771 31.01.14✎ 15:41 | 
        на скрине увидела, что галочки нет, а я поставила и тоже перенеслось) вот стало интересно, когда ее ставить, когда не надо)     | |||
| 33
    
        m-serg74 31.01.14✎ 15:49 | 
        (31) нет     | |||
| 34
    
        m-serg74 31.01.14✎ 15:50 | 
        (32) ставить надо когда брать неоткуда и значения есть только в ВходящиеДанные     | |||
| 35
    
        m-serg74 31.01.14✎ 15:51 | 
        (32) прямое присвоение Значение = ... заменяет в большем приоритете все что прилетело до этого     | |||
| 36
    
        Soul771 31.01.14✎ 15:55 | 
        (34)(35) поняла, спасибо. 
 От всей души благодарю вас за помощь :-) хороших выходных!:-) | |||
| 37
    
        m-serg74 31.01.14✎ 15:57 | 
        (36) и Вам того же     | |||
| 38
    
        Soul771 31.01.14✎ 15:59 | 
        :-)благодаря вам это осуществится)))))     | |||
| 39
    
        m-serg74 31.01.14✎ 16:02 | 
        обращайтесь, чем смогу...     | |||
| 40
    
        Soul771 31.01.14✎ 16:21 | 
        :-) можно еще один вопрос)) проблема обнаружилась большая... во всех документах, которые бы я не переносила, 8-ка как будто бы не видит количество... и в источнике и в приемнике количество - это реквизит ТЧ, переношу как число-число, без какого-либо правила. в 8-ке количество в ТЧ отображается, но при перепроведении документа по регистрам количество не проходит.. может, это как-то связано с представлением числа в 7 и в 8? Длина и точность совпадает, если в конфигураторе смотреть у свойства реквизита. А в пользовательском режиме в 8 будет так: 1 150,50  , а в 7 то же самое число: 1,150.50 
 Раньше с таким не сталкивалась, влияет ли это на что-то и где еще посмотреть, что может не так быть?.... | |||
| 41
    
        m-serg74 31.01.14✎ 16:27 | 
        (40) консоль запросов есть?     | |||
| 42
    
        Soul771 31.01.14✎ 16:35 | 
        (41) теперь есть)     | |||
| 43
    
        m-serg74 31.01.14✎ 16:37 | 
        (42) сразу после переноса в ней посмотри что куда в документах перенеслось     | |||
| 44
    
        m-serg74 31.01.14✎ 16:44 | 
        так долго отвечаешь что можно уснуть :)     | |||
| 45
    
        Soul771 31.01.14✎ 16:54 | 
        :-) вроде вижу нормальные данные.. в количестве - числа, в таком же представлении, как и в документах     | |||
| 46
    
        m-serg74 31.01.14✎ 16:57 | 
        (45) может уже тим вивер и по домам :)     | |||
| 47
    
        Soul771 31.01.14✎ 17:08 | 
        сейчас запущу)пароли в личку пришлю)     | |||
| 48
    
        Soul771 31.01.14✎ 17:11 | 
        постучалась в асю)     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |