|
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
|
постучалась в асю)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |