Yaguar

2 задание курсы

Feb 19th, 2019
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.46 KB | None | 0 0
  1.  
  2. Процедура ИзучениеВыборкиРезультатаЗапроса() Экспорт
  3. // (Здесь пишется весь учебный код)
  4.  
  5.  
  6. ВыбранныйВидРасчета = ПланыВидовРасчета.ВидыРасчета.ПолучитьФормуВыбора().ОткрытьМодально();
  7.  
  8. Запрос = Новый Запрос();
  9.  
  10. Запрос.Текст =
  11.  
  12. "ВЫБРАТЬ
  13.  
  14. | ВидыРасчета.Ссылка КАК ВидРасчета,
  15.  
  16. | ВидыРасчетаБазовыеВидыРасчета.ВидРасчета КАК БазовыйВидРасчета
  17.  
  18. |ИЗ
  19.  
  20. | ПланВидовРасчета.ВидыРасчета КАК ВидыРасчета
  21.  
  22. | ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.ВидыРасчета.БазовыеВидыРасчета КАК ВидыРасчетаБазовыеВидыРасчета
  23.  
  24. | ПО ВидыРасчета.Ссылка = ВидыРасчетаБазовыеВидыРасчета.Ссылка
  25.  
  26. |ИТОГИ
  27.  
  28. | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ БазовыйВидРасчета)
  29.  
  30. |ПО
  31.  
  32. | ВидРасчета";
  33.  
  34. Результат = Запрос.Выполнить();
  35.  
  36. ИнициализироватьТаблицуИлиДерево(Результат, Дерево);
  37.  
  38. ВыгрузкаВТаблицу = Результат.Выгрузить();
  39.  
  40. ВыгрузкаВТаблицу.Индексы.Добавить("ВидРасчета,БазовыйВидРасчета");
  41.  
  42. Если ВыбранныйВидРасчета = Неопределено Тогда //Если ничего не выбрано, обходим таблицу циклом
  43.  
  44. Для Каждого Строка Из ВыгрузкаВТаблицу Цикл
  45.  
  46. НоваяСтрока = Дерево.Строки.Добавить();
  47. НоваяСтрока.ВидРасчета = Строка.ВидРасчета;
  48. Выкрутка(ВыгрузкаВТаблицу, НоваяСтрока.ВидРасчета, НоваяСтрока);
  49.  
  50. КонецЦикла;
  51.  
  52. Иначе
  53. НоваяСтрока = Дерево.Строки.Добавить();
  54. НоваяСтрока.ВидРасчета = ВыбранныйВидРасчета;
  55. Выкрутка(ВыгрузкаВТаблицу, НоваяСтрока.ВидРасчета, НоваяСтрока);
  56. КонецЕсли;
  57.  
  58.  
  59.  
  60. КонецПроцедуры
  61.  
  62. Процедура Выкрутка(ВыгрузкаВТаблицу, ВидРасчета, РодительскийУровень)
  63.  
  64. СтруктураОтбора = Новый Структура("БазовыйВидРасчета", ВидРасчета);
  65. МассивСтрок = ВыгрузкаВТаблицу.НайтиСтроки(СтруктураОтбора);
  66. Если МассивСтрок.Количество() > 0 Тогда
  67.  
  68. Для Каждого СтрокаМассива Из МассивСтрок Цикл
  69.  
  70. НоваяСтрока1 = РодительскийУровень.Строки.Добавить();
  71. НоваяСтрока1.ВидРасчета = СтрокаМассива.ВидРасчета;
  72. Выкрутка(ВыгрузкаВТаблицу, НоваяСтрока1.ВидРасчета, НоваяСтрока1);
  73.  
  74.  
  75. КонецЦикла;
  76. КонецЕсли;
  77.  
  78. КонецПроцедуры
Advertisement
Add Comment
Please, Sign In to add comment