Имя: Пароль:
1C
 
Конвертация данных: Подмена документа
0 vittany
 
13.09.14
13:30
Переношу данные из ЗУП в УПП 1.3 регистр ВзаиморасчетыССотрудниками организаций. Если  в записях регистра ВзаиморасчетыССотрудникамиОрганизаций регистратором выступает ВыпискаИзБанка на перечисление з/п,то выписку мы не переносим,а регистратором в УПП должна перенестись ПлатПоручениеИсходящее, которое Указано в реквизите "ДокументОснование" док-та Выписка банка.

Как делаю: создаю ПКО для ЗаписиРегистраНакопленияВзаиморасчетыССотр-ом. Для него же делаю ПВД с способм выборки"Произвольный запрос":

Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
|    ВзаиморасчетыСРаботникамиОрганизаций.Период,
|    ВзаиморасчетыСРаботникамиОрганизаций.Регистратор.ДокументОснование КАК Регистратор,
|    ВзаиморасчетыСРаботникамиОрганизаций.Активность,
|    ВзаиморасчетыСРаботникамиОрганизаций.ВидДвижения,
|    ВзаиморасчетыСРаботникамиОрганизаций.Физлицо,
|    ВзаиморасчетыСРаботникамиОрганизаций.Организация,
|    ВзаиморасчетыСРаботникамиОрганизаций.ПериодВзаиморасчетов,
|    ВзаиморасчетыСРаботникамиОрганизаций.СуммаВзаиморасчетов,
|    ВзаиморасчетыСРаботникамиОрганизаций.ХарактерВыплаты,
|    ВзаиморасчетыСРаботникамиОрганизаций.СпособВыплаты,
|    ВзаиморасчетыСРаботникамиОрганизаций.Ведомость
|ИЗ
|    РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций КАК ВзаиморасчетыСРаботникамиОрганизаций
|ГДЕ
|    ВзаиморасчетыСРаботникамиОрганизаций.Регистратор ССЫЛКА Документ.ПлатежныйОрдерСписаниеДенежныхСредств
|    И ВзаиморасчетыСРаботникамиОрганизаций.ПериодВзаиморасчетов >= &ДатаНач
|    И ВзаиморасчетыСРаботникамиОрганизаций.Физлицо В(&СписокФЛ)";
Запрос.УстановитьПараметр("ДатаНач",    ДатаНачала);     //Дата
Запрос.УстановитьПараметр("СписокФЛ",    Параметры.ФизическиеЛица.ВыгрузитьКолонку("фСсылка"));     //Физические лица
ВыборкаДанных = Запрос.Выполнить().Выбрать();

Вопрос:правильно делаю?
1 zak555
 
13.09.14
13:38
1. фотки в личке нет -- низач0т
2. надо перенести выплаты ?
2 vittany
 
13.09.14
13:48
(1) Надо перенести записи регистра накопления ВзаиморасчетыССотрудникамиОрг-ий, подменяя регистратор Выписка банка на ППисх, которое записано в реквизите ДОкоснование этой Выписки
3 Йохохо
 
13.09.14
14:03
а где в (0) группировки по ППИ? похоже в ППИ должна быть детализация по физлицам в ТЧ, как будете собирать из этого запроса? Запрос.Выполнить().Выбрать() тип будет запись, а не набор записей
4 Мимохожий Однако
 
13.09.14
14:06
Почему не стали использовать перенос в аналогичный документ, который сформирует движения?
5 vittany
 
13.09.14
14:12
(4) ТЗ такое
6 vittany
 
13.09.14
14:13
(3) Так я же записи регистра переношу. Разве мне нужно получать ППисх? Я думаю,что оно по ссылкам перенесется по ПКО, которое уже создано для него
7 the_pal
 
13.09.14
14:39
Как я понял, надо перенести все записи регистра.
Я бы делал бы примерно так (кода нет под рукой):

1.запрос без условия "ссылка" -  .Регистратор ССЫЛКА Документ.ПлатежныйОрдерСписаниеДенежныхСредств


Выборка = запрос.выполнить().выбрать();

Пока Выборка.следующи() Цикл

если ТипЗнч(Выборка.Регистратор ) = Тип(тип1) Тогда

ВыгрузитьПоПравилу(Выборка.Регистратор,,,,"Правило1")

ИначеЕсли ТипЗнч(Выборка.Регистратор ) = Тип(тип2...) Тогда

ВыгрузитьПоПравилу(Выборка.Регистратор,,,,"Правило2");


Конецесли;
8 vittany
 
13.09.14
14:55
(7) Получается в этом случае Выписка перенесется как выписка,а  ППисх как ПП исх,ну и остальные до кучи. А в моем случае Выписки не нужны в регистре
9 the_pal
 
13.09.14
15:20
(8) Был неправ. Тогда можно так:
В  запросе пишем:
Выбор когда .Регистратор ссылка Документ.Выписка тогда Регистратор.Основание иначе Регистратор Конец как Регистратор

После запроса получаем таблицу движений и выгружаем ее программно

ВходящиеДанные.Вставить("Взаиморасчеты",ТаблицаДвижений);
ВыгрузитьПоправилу(Объект,,ВходящиеДанные,,ПКОДляРегистра );