К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

К знатокам Конвертации данных ))

Гость
0 - 23.11.2012 - 07:21
Теперь вопрос к знатокам конвертации данных 2.1
Данные ходят из чужой перепесанной ТИС в БП 2.0
Надо разделить табличную часть документа-источника на 2 табличные части приемника (товары и услуги). Путешествие в обе табличные части БП я сделал, но вот в каком обработчике вырезать нужные позиции для каждой табличной части? Все облазил, никак не пойму



Гость
1 - 23.11.2012 - 07:24
Может просто "после загрузки" удалить из каждой табличной части лишнее?
Гость
2 - 23.11.2012 - 08:17
Становишься на группу свойств, представляющую ТЧ в КД и давишь на карандаш в панели управления над табличным полем. Откроется форма редактирования группы свйств, для нее определены свои обработчики - не помню как называется дословно, там есть обработчик, срабатывающий перед конвертацией строки ТЧ, в котором можно проверить условие и отказаться от конвертации строки.
3 - 23.11.2012 - 08:42
Вот пример. ПКС ПередОбработкой для группы свойств табличной части.

КоллекцияОбъектов = СоздатьОбъект("ТаблицаЗначений");
Источник.ВыгрузитьТабличнуюЧасть(КоллекцияОбъектов );
н = 0;
Пока н < КоллекцияОбъектов.КоличествоСтрок() Цикл
н = н + 1;
Если КоллекцияОбъектов.Всего = 0 Тогда
КоллекцияОбъектов.УдалитьСтроку(н);
н = н - 1;
КонецЕсли;
КонецЦикла;

Я отбираю только строки с Всего > 0. У тебя будет отбор по виду номенклатуры.
Гость
4 - 23.11.2012 - 11:12
(2)вот это я и не пойму в каком месте сделать ? в настройке правил обмена я не могу добраться до группы свойств ТЧ, она просто сворачивается и разворачивается ) Не имел дел с КД )
(3) Где открыть эту группу свойств?)
5 - 23.11.2012 - 11:31
В списке ПКС добавляешь группу (папку). В качетсве приемника указываешь соответствующую табличную часть. Т.е. у тебя будут две папки: Товары и Услуги. Внутри папки нужно создать ПКС для каждого из (нужных) реквизитов ТЧ. Указываешь только приемник.
6 - 23.11.2012 - 11:32
+(5) Возьми типовые правила перехода 7.7->8. Хоть ТиС, хоть БП. И там посмотри правила для РТиУ или ПТиУ.
Гость
7 - 23.11.2012 - 11:35
да я в ПКС создал и табличную часть, добавил все реквизиты. Они нормально ходят. И типовую конвертацию смотрю. Не пойму как попасть в обработки табличной части
8 - 23.11.2012 - 12:17
Нужно стать на папку. И нажать "карандашик". Или F2.
Гость
9 - 23.11.2012 - 13:41
7-USSR >Сверни папку
Гость
10 - 23.11.2012 - 14:46
Спасибо, коллеги) Не знал что надо спозиционироваться именно на папку ) Когда курсор просто в строке, ни F2, ни каранадаш не реагировали) Я КД вижу первую неделю, никакого опыта. Но вещь достаточно крутая и в принципе легко осваиваемая.
Гость
11 - 25.11.2012 - 11:23
В обработчике "Перед выгрузкой" сформировать список значений "Входящие данные", табличную часть выгрузить в две таблицы значений, поделив как надо, и добавить в список значений с именами соответствующих табличных частей. у табличных частей указать получать данные "из входящих данных"
3-Климов Сергей >Сергей, зачем плохому учите? надо делать структуру со значением для поиска и использовать НайтиСтроки()
0-USSR >в данном конкретном случае лучше выгрузить все в одну табличную часть, а поделить уже ПослеЗагрузки, на связываясь с правилами.
будет быстрее работать
Гость
12 - 25.11.2012 - 11:26
(11)спасибо ) Приму к сведению. А в первом приближении все получилось, работает. Всем огромное спасибо
13 - 26.11.2012 - 09:08
2(11) Управление Торговлей 11 3-Климов Сергей >Сергей, зачем плохому учите? надо делать структуру со значением для поиска и использовать НайтиСтроки()
Спасибо за науку. Я так не умею.
Гость
14 - 27.11.2012 - 22:10
13-Климов Сергей >примерно так:
КоллекцияОбъектов = СоздатьОбъект("ТаблицаЗначений");
Источник.ВыгрузитьТабличнуюЧасть(КоллекцияОбъектов );
Отбор=новый структура("Количество",0);
Строки=КоллекцияОбъектов.НайтиСтроки(Отбор);
Для каждого Стр из Строки цикл
КоллекцияОбъектов.УдалитьСтроку(Стр);
КонецЦикла;
Гость
15 - 28.11.2012 - 03:37
(14)При обмене между 7-кой и БП такое не прокатит )
16 - 28.11.2012 - 08:47
2(14) Понял, спасибо!
2(15) Ага! Значит я не совсем плохому учу! :-)
Гость
17 - 02.12.2012 - 01:59
15-USSR >да, что-то я затупил
а в 7.7 я так делаю:
КоллекцияОбъектов = СоздатьОбъект("ТаблицаЗначений");
Источник.ВыгрузитьТабличнуюЧасть(КоллекцияОбъектов );
КоллекцияОбъектов.Сортировать("Всего+");
Пока КоллекцияОбъектов.КоличествоСтрок() >0 Цикл
КоллекцияОбъектов.ПолучитьСтрокуПоНомеру(1);
Если КоллекцияОбъектов.Всего > 0 Тогда
прервать;
иначе
КоллекцияОбъектов.УдалитьСтроку(1);
конецесли;
КонецЦикла;
КоллекцияОбъектов.Сортировать("НомерСтрокиДокумент а+");


К списку вопросов






Copyright ©, Все права защищены