Бухгалтерский учет, налогообложение, отчетность, МСФО, анализ бухгалтерской информации, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

Сравнение 2-х ТЗ и вывод в ТЗ_Р. Нужна помощь.

Julia13
читатель
офлайн
Дата регистрации: 22.03.2010
Сообщений: 29
Пост №1
 
20.05.2010 12:29

"Есть 2-е ТЗ. ТЗ_УТ(колонки:Документ(УТ), Сумма(УТ), Кол-во(УТ), ДатаВД(УТ), НомерВД(УТ),КонИНН(УТ)) и

ТЗ_БП ((колонки:Документ(БП), Сумма(БП), Кол-во(БП), ДатаВД(БП), НомерВД(БП), КонИНН(БП))) у

которых совпадают 3 колонки(ДатаВД, НомерВД, КонИНН ), в данный момент у меня макет получается вот такой
---------------------------
Документы УТ
---------------------------
Период с [НачПериода] по [КонПериода]
---------------------------
Документ(УТ) Сумма(УТ) Кол-во(УТ) ДатаВД(УТ) НомерВД(УТ) КонИНН(УТ)
<Документ_УТ> <Сумма_УТ> <Колво_УТ> <ДатаВД_УТ> <НомерВД_УТ> <КонИНН_УТ>
---------------------------
Документы БП
---------------------------
Документ(БП) Сумма(БП) Кол-во(БП) ДатаВД(БП) НомерВД(БП) КонИНН(БП)
<Документ_БП> <Сумма_БП> <Колво_БП> <ДатаВД_БП> <НомерВД_БП> <КонИНН_БП>

а надо получить макет, где колонки совпадают по ДатаВД, НомерВД, КонИНН

ДатаВД            НомерВД       КонИНН Документ(УТ) Сумма(УТ) Кол-во(УТ) Документ(БП)       Сумма(БП)        Кол-во(БП)
<ДатаВД_БП> <НомерВД_БП> <КонИНН_БП> <Документ_УТ> <Сумма_УТ> <Колво_УТ> <Документ_БП> <Сумма_БП> <Колво_БП>

и в том же макете + где колонки не совпадают

---------------------------
Документы УТ
---------------------------
Документ(УТ) Сумма(УТ) Кол-во(УТ) ДатаВД(УТ) НомерВД(УТ) КонИНН(УТ)
<Документ_УТ> <Сумма_УТ> <Колво_УТ> <ДатаВД_УТ> <НомерВД_УТ> <КонИНН_УТ>
---------------------------
Документы БП
---------------------------
Документ(БП) Сумма(БП) Кол-во(БП) ДатаВД(БП) НомерВД(БП) КонИНН(БП)
<Документ_БП> <Сумма_БП> <Колво_БП> <ДатаВД_БП> <НомерВД_БП> <КонИНН_БП>

Надо сравнить 2-е ТЗ по этим колонкам и если они совпадают сразу записывать в ТЗ_Р


л_сч_ут = 0;

Пока (л_сч_ут < ТЗ_УТ.Количество()) Цикл
л_Нашли_соответствие = Ложь;
Строка_УТ = ТЗ_УТ[л_сч_ут];
л_сч_бп = 0;
Пока (л_сч_бп < ТЗ_БП.Количество()) Цикл
Строка_БП = ТЗ_БП.Получить(л_сч_бп);
Если НачалоДня(Строка_УТ.Дата) = НачалоДня(Строка_БП.Дата)
И Строка_УТ.Количество = Строка_БП.Количество
И Окр(Строка_УТ.СуммаДокумента,2) = Окр(Строка_БП.СуммаДокумента,2)
И Строка_УТ.ДатаВходящегоДокумента = Строка_БП.ДатаВходящегоДокумента
И Строка_УТ.НомерВходящегоДокумента = Строка_БП.НомерВходящегоДокумента
И Строка_УТ.КонтрагентИНН = Строка_БП.КонтрагентИНН Тогда

л_Нашли_соответствие = Истина;
ТЗ_БП.Удалить(Строка_БП);
Прервать;
Иначе
л_сч_бп = л_сч_бп + 1;
КонецЕсли;
КонецЦикла;
Если (л_Нашли_соответствие = Истина) Тогда
ТЗ_УТ.Удалить(Строка_УТ);
Иначе
л_сч_ут = л_сч_ут + 1;
КонецЕсли;
КонецЦикла;

Макет = ПолучитьМакет("Печать");

ОбластьШапкаУТ = Макет.ПолучитьОбласть("ШапкаУТ");
ОбластьШапкаБП = Макет.ПолучитьОбласть("ШапкаБП");
ОбластьШапкаДеталиУТ = Макет.ПолучитьОбласть("ШапкаДеталиУТ");
ОбластьШапкаДеталиБП = Макет.ПолучитьОбласть("ШапкаДеталиБП");
ОбластьДеталиУТ = Макет.ПолучитьОбласть("ДеталиУТ");
ОбластьДеталиБП = Макет.ПолучитьОбласть("ДеталиБП");

ТабДок = Новый ТабличныйДокумент;

ОбластьШапкаУТ.Параметры.НачПериода = НачПериода;
ОбластьШапкаУТ.Параметры.КонПериода = КонПериода;

ТабДок.Вывести(ОбластьШапкаУТ);
ТабДок.Вывести(ОбластьШапкаДеталиУТ);

Для Каждого Строка_УТ Из ТЗ_УТ Цикл
ОбластьДеталиУТ.Параметры.Документ_УТ = Строка_УТ.Ссылка;
ОбластьДеталиУТ.Параметры.Сумма_УТ = Строка_УТ.СуммаДокумента;
ОбластьДеталиУТ.Параметры.Колво_УТ = Строка_УТ.Количество;
ОбластьДеталиУТ.Параметры.ДатаВД_УТ = Строка_УТ.ДатаВходящегоДокумента;
ОбластьДеталиУТ.Параметры.НомерВД_УТ = Строка_УТ.НомерВходящегоДокумента;
ОбластьДеталиУТ.Параметры.КонИНН_УТ = Строка_УТ.КонтрагентИНН;
ТабДок.Вывести(ОбластьДеталиУТ);
КонецЦикла;

ТабДок.Вывести(ОбластьШапкаБП);
ТабДок.Вывести(ОбластьШапкаДеталиБП);

Для Каждого Строка_БП Из ТЗ_БП Цикл
ОбластьДеталиБП.Параметры.Документ_БП = Строка_БП.СсылкаПредставление;
ОбластьДеталиБП.Параметры.Сумма_БП = Строка_БП.СуммаДокумента;
ОбластьДеталиБП.Параметры.Колво_БП = Строка_БП.Количество;
ОбластьДеталиБП.Параметры.ДатаВД_БП = Строка_БП.ДатаВходящегоДокумента;
ОбластьДеталиБП.Параметры.НомерВД_БП = Строка_БП.НомерВходящегоДокумента;
ОбластьДеталиБП.Параметры.КонИНН_БП = Строка_БП.КонтрагентИНН;
ТабДок.Вывести(ОбластьДеталиБП);
КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Ложь;
ТабДок.ОтображатьЗаголовки = Ложь;
ТабДок.Показать();"

uinny
читатель
офлайн
Дата регистрации: 12.01.2008
Сообщений: 4814
Пост №2
 
20.05.2010 15:23

и в чем проблема? записываете в результирующую ТЗ по очереди обе исходные. потом сворачиваете по первым трем колонкам. вот и все дело.

Показывать по 10 20 40 сообщений

Читают тему:

1 гостей
Быстрый переход
Для технических специалистов
  • Учет, налогообложение, автоматизация
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • ЕГАИС
Предложения партнеров
Обучение пользователей продуктов 1С

1С бесплатно 1С-Отчетность 1С:ERP Управление предприятием 1С:Бесплатно 1С:Бухгалтерия 8 1С:Бухгалтерия 8 КОРП 1С:Бухгалтерия автономного учреждения 1С:Бухгалтерия государственного учреждения 1С:Бюджет муниципального образования 1С:Бюджет поселения 1С:Вещевое довольствие 1С:Деньги 1С:Документооборот 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и кадры государственного учреждения 1С:Зарплата и управление персоналом 1С:Зарплата и управление персоналом КОРП 1С:Комплексная автоматизация 8 1С:Лекторий 1С:Предприятие 1С:Предприятие 7.7 1С:Предприятие 8 1С:Розница 1С:Управление нашей фирмой 1С:Управление производственным предприятием 1С:Управление торговлей 1СПредприятие 8

Все теги