Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
19 апр 2024, 07:43

Конвертация данных. При конвертации данных из регистра в документ все записывает в один, а должно быть в разные

Автор m@rgo, 23 мая 2017, 19:25

0 Пользователей и 1 гость просматривают эту тему.

m@rgo

:nhsrm: Доброго времени суток!!

Подскажите, пожалуйста, при конвертации данных из регистра в документ должны создаться столько документов сколько записей в регистре. Но получается что создается только один документ и все данные попадают в этот один документ соответственно затирая друг друга. Что может быть не так?

alex0402

Спасибо за Сказать спасибо

m@rgo

Цитата: alex0402 от 24 мая 2017, 08:32
Цитата: m@rgo от 23 мая 2017, 19:25Что может быть не так?

Например набор полей поиска.

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

   РезультатЗапроса = Запрос.Выполнить();
   ВЫбЛС = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
   Пока выбЛс.Следующий() Цикл
   Выб = выбЛС.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
   ИсходящиеДанные = Новый Структура;
      //ИсходящиеДанные.Вставить("Номер", "001");
      ИсходящиеДанные.Вставить("Дата", выбЛС.Период);
      ИсходящиеДанные.Вставить("Комментарий", "Создание ЛС " + Строка(Параметры.ДатаВнесенияОстатков));
      ИсходящиеДанные.Вставить("ЛицевойСчет", выбЛС.ЛицевойСчет);
      ИсходящиеДанные.Вставить("ВладелецЛС", выбЛС.ВладелецЛС);
      Если ТипЗнч(выбЛС.ВладелецЛС) = Тип("СправочникСсылка.Контрагенты") Тогда
         ВидАбонента = "Предприятия";
      Иначе ВидАбонента = "Население";
      КонецЕсли;
      ИсходящиеДанные.Вставить("ВидАбонента", ВидАбонента);
      таб = Новый ТаблицаЗначений;
      таб.Колонки.Добавить("Свойство");
      таб.Колонки.Добавить("Значение");
      Пока выб.Следующий() Цикл
         нс = таб.Добавить();
         нс.Значение = Выб.ВладелецЛС;
      ИсходящиеДанные.Вставить("ВладелецЛС", выб.ВладелецЛС);
      Конеццикла;
      ИсходящиеДанные.Вставить("Сведения",таб);
      //Если ТипЗнч(Выб.ВладелецЛС) = Тип("СправочникСсылка.ФизическиеЛица") Тогда
         ВыгрузитьПоПравилу(,,ИсходящиеДанные,,"ЛицевойСчетСоздатьДОКУМЕНТ");
      //КонецЕсли;
   Конеццикла



поиск у меня идет только по дате, я так понимаю надо сделать чтобы еще был и но номеру?

alex0402

Цитата: m@rgo от 24 мая 2017, 08:47ИсходящиеДанные = Новый Структура;
???

Я делаю
ВыборкаДанных = Новый ТаблицаЗначений;
ВыборкаДанных.Колонки.Добавить("Имя");
.....
НоваяСтрока = ВыборкаДанных.Добавить();
.......

ну и да. в правилах конвертации, если полей поиска "мало", то данные будут накладываться.
Спасибо за Сказать спасибо

m@rgo

Цитата: alex0402 от 24 мая 2017, 09:11
Цитата: m@rgo от 24 мая 2017, 08:47ИсходящиеДанные = Новый Структура;
???

Я делаю
ВыборкаДанных = Новый ТаблицаЗначений;
ВыборкаДанных.Колонки.Добавить("Имя");
.....
НоваяСтрока = ВыборкаДанных.Добавить();
.......

ну и да. в правилах конвертации, если полей поиска "мало", то данные будут накладываться.


Спасибо большое)) Добавила в поля поиска Номер и ЛицевойСчет и все получилось)) Все намного проще))

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск