Выгрузка документа с сворачиванием табличной части

Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
1. nogik 16.07.13 12:55 Сейчас в теме
Добрый день помогите разобраться с возникшей проблемой, есть 2 одинаковые конфигурации из одной надо выгружать документ начисление заработной платы работникам организаций, но при условии что в конфигурацию приёмник в табличных частях отражение в регламентном учете и отражение в управленческом учете имена сотрудников организаций будут заменены на какое-то общее название с сворачиванием табличной части. Это делается в ПКГС ПередВыгрузкой или в ПКО ПередВыгрузкой? Нужно ли мне сопоставлять данные источника и приемника в конвертации свойств или поставить галочку получить из входящих данных?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
19. doom2good 145 16.07.13 17:00 Сейчас в теме
(18) nogik, заполнить аналогичными свойствами.
Что значит "не сворачивается"? сотрудники в итоге загружаются в приёмник? если не загружаются, а вместо них пустые значения - проблема при свертке; если выгружаются и подставляются значения, значит.... а впрочем тут вариантов дофига, все перечислять не буду.
Рекомендую выгрузить один документ и посмотреть выгруженный файл с данными (через ИЕ открыть можно).
...и ещё не рекомендую пользоваться поиском по ГУИД, а назначать поля поиска (номер, дата там...)
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Manticor 66 16.07.13 13:00 Сейчас в теме
(1) nogik, если конфигурации идентичные и нужно сделать перенос, то в конвертации данных есть стандартная обработка ВыгрузкаЗагрузкаДанныхXML82.epf
3. nogik 16.07.13 13:02 Сейчас в теме
(2) Manticor, вы видать вопроса не поняли моего, мне нужно в правилах конвертации сделать изменения для того что бы выгружать документы с обработанными данными.
4. doom2good 145 16.07.13 13:12 Сейчас в теме
Это делается в ПКГС ПередВыгрузкой
Да, в нём нужно переопределить переменную "коллекция объектов"
Нужно ли мне сопоставлять данные источника и приемника в конвертации свойств или поставить галочку получить из входящих данных
Да, нужно. Входящих данных тут не будет, по этому нужно указывать "Значение" вручную, если в источнике нет такого свойства.
5. nogik 16.07.13 13:14 Сейчас в теме
(4) doom2good, то есть мне создать переменную КоллекцияОбъектов= СоздатьОбъект("ТаблицаЗначений");
потом Источник.ВыгрузитьТабличнуюЧасть(КоллекцияОбъектов );
а потом сворачивать по нужным мне параметрам?
6. Sabfir 16.07.13 13:35 Сейчас в теме
Это у вас 7.7?
В событии ПКГС "Перед обработкой" заполняете переменную КоллекцияОбъектов, редактируете ее как вам надо. После этого сопоставляете реквизиты источника и приемника. Проконтролируйте, чтобы все сопоставляемые данные были в коллекции объектов, то есть, если реквизит Номенклатура сопоставляется, значит должна быть колонка Номенклатура в таблице КоллекцияОбъектов.

Вот, собственно, описание этой переменной в событии ПКГС "Перед обработкой".
КоллекцияОбъектов - Неопределено. Если в теле обработчика определить коллекцию (присвоив данной переменной значение, например, описывающее табличную часть или набор движений, например, типа ТаблицаЗначений), то стандартное получение коллекции выполняться не будет.
7. nogik 16.07.13 13:43 Сейчас в теме
(6) Sabfir, нет это у меня в 8.2 версии. И ещё вопрос, получается мне надо в событии ПКГС "Перед обработкой" все операции делать а ПКГС ПередВыгрузкой не трогать?
8. nogik 16.07.13 13:51 Сейчас в теме
(6) Sabfir, в событии ПКГС "Перед обработкой" прописал такой алгоритм это правильно?
ТабличнаяЧасть = СоздатьОбъект("ТаблицаЗначений");
ТабличнаяЧасть.НоваяКолонка("НалоговоеНазначение");
ТабличнаяЧасть.НоваяКолонка("НалоговоеНазначениеДоходовИЗатрат");
ТабличнаяЧасть.НоваяКолонка("Сумма");
ТабличнаяЧасть.НоваяКолонка("СчетДт");
ТабличнаяЧасть.НоваяКолонка("СчетКт");
ТабличнаяЧасть.НоваяКолонка("СубконтоДт1");
ТабличнаяЧасть.НоваяКолонка("СубконтоДт2");
ТабличнаяЧасть.НоваяКолонка("СубконтоДт3");
ТабличнаяЧасть.Свернуть("НалоговоеНазначение, НалоговоеНазначениеДоходовИЗатрат, СчетДт, СчетКт, СубконтоДт1, СубконтоДт2, СубконтоДт3", "Сумма");
14. Sabfir 16.07.13 14:42 Сейчас в теме
(8) nogik,
Sabfir, в событии ПКГС "Перед обработкой" прописал такой алгоритм это правильно?
ТабличнаяЧасть = СоздатьОбъект("ТаблицаЗначений");
ТабличнаяЧасть.НоваяКолонка("НалоговоеНазначение");
ТабличнаяЧасть.НоваяКолонка("НалоговоеНазначениеДоходовИЗатрат");
ТабличнаяЧасть.НоваяКолонка("Сумма");
ТабличнаяЧасть.НоваяКолонка("СчетДт");
ТабличнаяЧасть.НоваяКолонка("СчетКт");
ТабличнаяЧасть.НоваяКолонка("СубконтоДт1");
ТабличнаяЧасть.НоваяКолонка("СубконтоДт2");
ТабличнаяЧасть.НоваяКолонка("СубконтоДт3");
ТабличнаяЧасть.Свернуть("НалоговоеНазначение, НалоговоеНазначениеДоходовИЗатрат, СчетДт, СчетКт, СубконтоДт1, СубконтоДт2, СубконтоДт3", "Сумма");

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


Вы пишете код не по правилам платформы 8.
Если вы перегружаете с 8 платформы в 8, то это:
ТабличнаяЧасть = СоздатьОбъект("ТаблицаЗначений");
ТабличнаяЧасть.НоваяКолонка("НалоговоеНазначение");

работать не будет.
9. doom2good 145 16.07.13 13:54 Сейчас в теме
потом Источник.ВыгрузитьТабличнуюЧасть(КоллекцияОбъектов )
ничего такого
а потом сворачивать по нужным мне параметрам
сначала получить нужную таблицу, готовую к конвертации, а потом запихнуть её в КоллекцияОбъектов.
больше НИЧЕГО НИГДЕ ДЕЛАТЬ НЕ НУЖНО
10. doom2good 145 16.07.13 13:56 Сейчас в теме
нет это у меня в 8.2 версии

СоздатьОбъект("ТаблицаЗначений")
так источник 7.7, или 8.2?
11. nogik 16.07.13 14:01 Сейчас в теме
(10) doom2good, версия программы 8.2 где будет производиться обмен, суть задания в том чтобы в базе приёмнике при переносе документа начисление зарплаты сотрудникам не отображались имена сотрудников чтобы тот человек который с базой работает не могу увидеть какая у кого зп, то есть сверунуть например по нужным мне реквизитам табличной части, а имя сотрудников заменить на значение сотрудник организации например. А можно чуток поподробней как мне получить нужную таблицу, готовую к конвертации? В информации по обработчику ПКГС ПередВыгрузок мало понятно если конечно вам не сложно?
12. doom2good 145 16.07.13 14:12 Сейчас в теме
8.2 где будет производиться обмен
а чё тогда код семерочный?

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

ВСЁ!
13. Sabfir 16.07.13 14:38 Сейчас в теме
(12) doom2good,
а чё тогда код семерочный?
)))
15. nogik 16.07.13 14:49 Сейчас в теме
(12) doom2good, в ПКГС прописал
ТЗИзДокумента = Источник.ОтражениеВРеглУчете.Выгрузить();
ТЗИзДокумента.Свернуть("НалоговоеНазначение, НалоговоеНазначениеДоходовИЗатрат, СчетДт, СчетКт, СубконтоДт1, СубконтоДт2, СубконтоДт3", "Сумма");
КоллекцияОбъектов = ТЗИзДокумента;

передаёться документ но не идёт свёртка значений в табличной части.
16. doom2good 145 16.07.13 14:55 Сейчас в теме
(15) nogik, так сначала нужно забить сотрудников пустыми значениями типа:
ТЗИзДокумента.ЗаполнитьЗначения( Справочники.Сотрудники.ПустаяСсылка(), "Сотрудник" ); 

а потом уже сворачивать.
17. nogik 16.07.13 16:33 Сейчас в теме
(16) doom2good, Смотрите сделал всё так как вы сказали
ТЗИзДокумента = Источник.ОтражениеВРеглУчете.Выгрузить();
Для Каждого стр Из ТЗИзДокумента Цикл
Если ТипЗнч(стр.СубконтоДт1)= Тип("СправочникСсылка.ФизическиеЛица") Тогда
стр.СубконтоДт1 = Справочники.ФизическиеЛица.ПустаяСсылка();
КонецЕсли;
Если ТипЗнч(стр.СубконтоКт1)= Тип("СправочникСсылка.ФизическиеЛица") Тогда
стр.СубконтоКт1 = Справочники.ФизическиеЛица.ПустаяСсылка();
КонецЕсли;
Если ТипЗнч(стр.СубконтоКт2)= Тип("СправочникСсылка.ФизическиеЛица") Тогда
стр.СубконтоКт2 = Справочники.ФизическиеЛица.ПустаяСсылка();
КонецЕсли;
КонецЦикла;
ТЗИзДокумента.Свернуть("НалоговоеНазначение, НалоговоеНазначениеДоходовИЗатрат, СчетДт, СчетКт, СубконтоДт1, СубконтоДт2, СубконтоДт3,СубконтоКт1,СубконтоКт2,СубконтоКт3", "Сумма");
КоллекцияОбъектов = ТЗИзДокумента;

Но опять не свернулись значения.
В табличной части пустые строки проставлять или заполнять аналогичными данными? Уже и так и так делал
18. nogik 16.07.13 16:38 Сейчас в теме
(17) nogik, Итог один и тот же не сворачивает и всё((
19. doom2good 145 16.07.13 17:00 Сейчас в теме
(18) nogik, заполнить аналогичными свойствами.
Что значит "не сворачивается"? сотрудники в итоге загружаются в приёмник? если не загружаются, а вместо них пустые значения - проблема при свертке; если выгружаются и подставляются значения, значит.... а впрочем тут вариантов дофига, все перечислять не буду.
Рекомендую выгрузить один документ и посмотреть выгруженный файл с данными (через ИЕ открыть можно).
...и ещё не рекомендую пользоваться поиском по ГУИД, а назначать поля поиска (номер, дата там...)
20. nogik 16.07.13 17:15 Сейчас в теме
(19) doom2good, сотрудники в итоге загружаются все "если выгружаются и подставляются значения, значит...." вот этот вариант, как будто моё присвоение КоллекцияОбъектов = ТЗИзДокумента; не выполняется((
21. nogik 16.07.13 17:16 Сейчас в теме
(19) doom2good, и всё же подставлять или нет подставлять соответствия каждому объекту?
22. nogik 16.07.13 17:23 Сейчас в теме
(19) doom2good, создал обработину чтобы глянуть сворачивает ли, всё ок механизм работает, всё сворачивается, Может проблема с подстановкой соответствий?
25. nogik 17.07.13 13:12 Сейчас в теме
(19) doom2good, в общем разобрался я в ПКО После загрузки там свернул таблицу и всё ок. Вам спасибо за помощь она меня на толкнула на мысль деньги отдаю вам.
23. пользователь 17.07.13 09:40
Сообщение было скрыто модератором.
...
24. пользователь 17.07.13 13:11
Сообщение было скрыто модератором.
...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот