├── .gitignore ├── .project ├── DT-INF └── PROJECT.PMF ├── LICENSE ├── README.md ├── build.cmd └── src ├── Configuration ├── CommandInterface.cmi ├── Configuration.mdo └── MainSectionCommandInterface.cmi ├── DataProcessors └── КонструкторМоделиОтчета │ ├── Forms │ └── Форма │ │ ├── Form.form │ │ └── Module.bsl │ ├── ObjectModule.bsl │ ├── Templates │ ├── ДемоВыводДереваЗначений │ │ └── Template.txt │ ├── ДемоВыводТаблицыЗначений │ │ └── Template.txt │ ├── ДемоОборотноСальдоваяВедомость │ │ └── Template.dcs │ ├── ДемоОтчетПоСчетамНаОплатуГлобальный │ │ └── Template.dcs │ └── Схема1 │ │ └── Template.dcs │ └── КонструкторМоделиОтчета.mdo ├── StyleItems └── ЦветПодписи │ └── ЦветПодписи.mdo └── Subsystems └── KASL ├── KASL.mdo └── Subsystems └── Конструкторы ├── Subsystems └── КонструкторМоделиОтчета │ └── КонструкторМоделиОтчета.mdo └── Конструкторы.mdo /.gitignore: -------------------------------------------------------------------------------- 1 | # IDE 2 | /.metadata/ 3 | /.settings/ 4 | 5 | # Binary 6 | bin 7 | InfoBases 8 | tools 9 | examples -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | КонструкторМоделиОтчета 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.xtext.ui.shared.xtextBuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.xtext.ui.shared.xtextNature 16 | com._1c.g5.v8.dt.core.V8ExtensionNature 17 | 18 | 19 | -------------------------------------------------------------------------------- /DT-INF/PROJECT.PMF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Runtime-Version: 8.3.25 3 | Base-Project: KASL-extentions 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Andrey 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Конструктор модели отчета на компоновке данных 2 | 3 | Смотрите описание в статье на Инфостарт [Модель СКД](https://infostart.ru/1c/tools/1973473/) 4 | 5 | ![Инфостарт](https://infostart.ru/bitrix/templates/sandbox_empty/assets/tpl/abo/img/logo.svg) 6 | -------------------------------------------------------------------------------- /build.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KalyakinAG/report-model-constructor/5544619810408ea8c6307ea8fe5616804b3292ba/build.cmd -------------------------------------------------------------------------------- /src/Configuration/CommandInterface.cmi: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /src/Configuration/Configuration.mdo: -------------------------------------------------------------------------------- 1 | 2 | 3 | КонструкторМоделиОтчета 4 | 5 | ru 6 | Конструктор модели отчета 7 | 8 | Adopted 9 | 10 | Checked 11 | Checked 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | KASL 21 | 8.3.25 22 | AddOn 23 | ManagedApplication 24 | Russian 25 | Калякин Андрей 26 | 1.0.0.3 27 | 28 | ru 29 | https://infostart.ru/profile/16301/ 30 | 31 | 32 | Русский 33 | Adopted 34 | 35 | 36 | Subsystem.KASL 37 | StyleItem.ЦветПодписи 38 | DataProcessor.КонструкторМоделиОтчета 39 | 40 | -------------------------------------------------------------------------------- /src/Configuration/MainSectionCommandInterface.cmi: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /src/DataProcessors/КонструкторМоделиОтчета/Forms/Форма/Form.form: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ГруппаПанельКоманд 5 | 66 6 | 7 | ГруппаКоманднаяПанель 8 | 68 9 | 10 | ГруппаКоманды 11 | 70 12 | 13 | ФормаКомандаПолучитьТекстМоделиОтчета 14 | 9 15 | true 16 | true 17 | 18 | true 19 | 20 | 21 | ФормаКомандаПолучитьТекстМоделиОтчетаРасширеннаяПодсказка 22 | 10 23 | true 24 | true 25 | 26 | true 27 | 28 | Label 29 | true 30 | true 31 | 32 | Left 33 | 34 | 35 | Form.Command.КомандаПолучитьТекстМоделиОтчета 36 | Auto 37 | true 38 | true 39 | true 40 | UserCmds 41 | Auto 42 | 43 | 44 | ФормаКомандаПолучитьСхемуКомпоновкиДанных 45 | 13 46 | true 47 | true 48 | 49 | true 50 | 51 | 52 | ФормаКомандаПолучитьСхемуКомпоновкиДанныхРасширеннаяПодсказка 53 | 14 54 | true 55 | true 56 | 57 | true 58 | 59 | Label 60 | true 61 | true 62 | 63 | Left 64 | 65 | 66 | Form.Command.КомандаПолучитьСхемуКомпоновкиДанных 67 | Auto 68 | true 69 | true 70 | UserCmds 71 | Auto 72 | 73 | 74 | КомандаПолучитьСтруктуруМакета 75 | 92 76 | true 77 | true 78 | 79 | true 80 | 81 | 82 | КомандаПолучитьСтруктуруМакетаРасширеннаяПодсказка 83 | 93 84 | true 85 | true 86 | 87 | true 88 | 89 | Label 90 | true 91 | true 92 | 93 | Left 94 | 95 | 96 | Form.Command.КомандаПолучитьСтруктуруМакета 97 | Auto 98 | true 99 | true 100 | UserCmds 101 | Auto 102 | 103 | 104 | КомандаСформировать 105 | 90 106 | true 107 | true 108 | 109 | true 110 | 111 | 112 | КомандаСформироватьРасширеннаяПодсказка 113 | 91 114 | true 115 | true 116 | 117 | true 118 | 119 | Label 120 | true 121 | true 122 | 123 | Left 124 | 125 | 126 | Form.Command.КомандаСформировать 127 | Auto 128 | true 129 | true 130 | UserCmds 131 | Auto 132 | 133 | true 134 | true 135 | 136 | true 137 | 138 | 139 | <key>ru</key> 140 | <value>Группа3</value> 141 | 142 | 143 | ГруппаКомандыРасширеннаяПодсказка 144 | 71 145 | true 146 | true 147 | 148 | true 149 | 150 | Label 151 | true 152 | true 153 | 154 | Left 155 | 156 | 157 | 158 | 159 | true 160 | true 161 | 162 | true 163 | 164 | 165 | <key>ru</key> 166 | <value>Группа3</value> 167 | 168 | false 169 | 170 | ГруппаКоманднаяПанельРасширеннаяПодсказка 171 | 69 172 | true 173 | true 174 | 175 | true 176 | 177 | Label 178 | true 179 | true 180 | 181 | Left 182 | 183 | 184 | CommandBar 185 | 186 | Left 187 | 188 | 189 | 190 | ТипГенератора 191 | 94 192 | true 193 | true 194 | 195 | true 196 | 197 | 198 | Объект.ТипГенератора 199 | 200 | 201 | ТипГенератораРасширеннаяПодсказка 202 | 96 203 | true 204 | true 205 | 206 | true 207 | 208 | Label 209 | true 210 | true 211 | 212 | Left 213 | 214 | 215 | 216 | ТипГенератораКонтекстноеМеню 217 | 95 218 | true 219 | true 220 | 221 | true 222 | 223 | true 224 | 225 | InputField 226 | Enter 227 | true 228 | Left 229 | true 230 | 231 | 15 232 | true 233 | true 234 | true 235 | true 236 | true 237 | true 238 | true 239 | 240 | 241 | ru 242 | В табличный документ 243 | 244 | 245 | ТабличныйДокумент 246 | 247 | 248 | 249 | 250 | ru 251 | В таблицу значений 252 | 253 | 254 | ТаблицаЗначений 255 | 256 | 257 | 258 | 259 | ru 260 | В дерево значений 261 | 262 | 263 | ДеревоЗначений 264 | 265 | 266 | 267 | 268 | 269 | ГруппаПримеры 270 | 18 271 | 272 | Группа1 273 | 20 274 | 275 | КомандаЗагрузитьСхему1 276 | 22 277 | true 278 | true 279 | 280 | true 281 | 282 | 283 | КомандаЗагрузитьСхему1РасширеннаяПодсказка 284 | 23 285 | true 286 | true 287 | 288 | true 289 | 290 | Label 291 | true 292 | true 293 | 294 | Left 295 | 296 | 297 | UsualButton 298 | Form.Command.КомандаЗагрузитьСхему1 299 | Auto 300 | true 301 | true 302 | UserCmds 303 | Auto 304 | 305 | 306 | ДекорацияПримерСхема1 307 | 24 308 | 309 | <key>ru</key> 310 | <value>Регистр остатков</value> 311 | 312 | true 313 | true 314 | 315 | true 316 | 317 | 318 | ДекорацияПримерСхема1РасширеннаяПодсказка 319 | 26 320 | true 321 | true 322 | 323 | true 324 | 325 | Label 326 | true 327 | true 328 | 329 | Left 330 | 331 | 332 | 333 | ДекорацияПримерСхема1КонтекстноеМеню 334 | 25 335 | true 336 | true 337 | 338 | true 339 | 340 | true 341 | 342 | Label 343 | true 344 | true 345 | 346 | Style.KASLЦветПодписи 347 | 348 | 349 | Left 350 | 351 | 352 | true 353 | true 354 | 355 | true 356 | 357 | 358 | <key>ru</key> 359 | <value>Группа1</value> 360 | 361 | 362 | Группа1РасширеннаяПодсказка 363 | 21 364 | true 365 | true 366 | 367 | true 368 | 369 | Label 370 | true 371 | true 372 | 373 | Left 374 | 375 | 376 | UsualGroup 377 | 378 | HorizontalIfPossible 379 | Auto 380 | true 381 | Auto 382 | Auto 383 | 384 | 385 | 386 | Группа2 387 | 72 388 | 389 | КомандаЗагрузитьСхемуДемоОборотноСальдоваяВедомость 390 | 79 391 | true 392 | true 393 | 394 | true 395 | 396 | 397 | КомандаЗагрузитьСхемуДемоОборотноСальдоваяВедомостьРасширеннаяПодсказка 398 | 80 399 | true 400 | true 401 | 402 | true 403 | 404 | Label 405 | true 406 | true 407 | 408 | Left 409 | 410 | 411 | UsualButton 412 | Form.Command.КомандаЗагрузитьСхемуДемоОборотноСальдоваяВедомость 413 | Auto 414 | true 415 | true 416 | UserCmds 417 | Auto 418 | 419 | 420 | ДекорацияПримерСхема2 421 | 76 422 | 423 | <key>ru</key> 424 | <value>Бух. итоги</value> 425 | 426 | true 427 | true 428 | 429 | true 430 | 431 | 432 | ДекорацияПримерСхема2РасширеннаяПодсказка 433 | 78 434 | true 435 | true 436 | 437 | true 438 | 439 | Label 440 | true 441 | true 442 | 443 | Left 444 | 445 | 446 | 447 | ДекорацияПримерСхема2КонтекстноеМеню 448 | 77 449 | true 450 | true 451 | 452 | true 453 | 454 | true 455 | 456 | Label 457 | true 458 | true 459 | 460 | Style.KASLЦветПодписи 461 | 462 | 463 | Left 464 | 465 | 466 | true 467 | true 468 | 469 | true 470 | 471 | 472 | <key>ru</key> 473 | <value>Группа1</value> 474 | 475 | 476 | Группа2РасширеннаяПодсказка 477 | 73 478 | true 479 | true 480 | 481 | true 482 | 483 | Label 484 | true 485 | true 486 | 487 | Left 488 | 489 | 490 | UsualGroup 491 | 492 | HorizontalIfPossible 493 | Auto 494 | true 495 | Auto 496 | Auto 497 | 498 | 499 | 500 | Группа3 501 | 81 502 | 503 | КомандаЗагрузитьСхемуДемоСтатусыЗаказовПокупателей 504 | 88 505 | true 506 | true 507 | 508 | true 509 | 510 | 511 | КомандаЗагрузитьСхемуДемоСтатусыЗаказовПокупателейРасширеннаяПодсказка 512 | 89 513 | true 514 | true 515 | 516 | true 517 | 518 | Label 519 | true 520 | true 521 | 522 | Left 523 | 524 | 525 | UsualButton 526 | Form.Command.КомандаЗагрузитьСхемуДемоОтчетПоСчетамНаОплатуГлобальный 527 | Auto 528 | true 529 | true 530 | UserCmds 531 | Auto 532 | 533 | 534 | ДекорацияПримерСхема3 535 | 85 536 | 537 | <key>ru</key> 538 | <value>Реестр документов</value> 539 | 540 | true 541 | true 542 | 543 | true 544 | 545 | 546 | ДекорацияПримерСхема3РасширеннаяПодсказка 547 | 87 548 | true 549 | true 550 | 551 | true 552 | 553 | Label 554 | true 555 | true 556 | 557 | Left 558 | 559 | 560 | 561 | ДекорацияПримерСхема3КонтекстноеМеню 562 | 86 563 | true 564 | true 565 | 566 | true 567 | 568 | true 569 | 570 | Label 571 | true 572 | true 573 | 574 | Style.KASLЦветПодписи 575 | 576 | 577 | Left 578 | 579 | 580 | true 581 | true 582 | 583 | true 584 | 585 | 586 | <key>ru</key> 587 | <value>Группа1</value> 588 | 589 | 590 | Группа3РасширеннаяПодсказка 591 | 82 592 | true 593 | true 594 | 595 | true 596 | 597 | Label 598 | true 599 | true 600 | 601 | Left 602 | 603 | 604 | UsualGroup 605 | 606 | HorizontalIfPossible 607 | Auto 608 | true 609 | Auto 610 | Auto 611 | 612 | 613 | 614 | Группа7 615 | 108 616 | 617 | КомандаЗагрузитьДемоВыводДереваЗначений 618 | 110 619 | true 620 | true 621 | 622 | true 623 | 624 | 625 | КомандаЗагрузитьДемоВыводДереваЗначенийРасширеннаяПодсказка 626 | 111 627 | true 628 | true 629 | 630 | true 631 | 632 | Label 633 | true 634 | true 635 | 636 | Left 637 | 638 | 639 | UsualButton 640 | Form.Command.КомандаЗагрузитьДемоВыводДереваЗначений 641 | Auto 642 | true 643 | true 644 | UserCmds 645 | Auto 646 | 647 | 648 | ДекорацияПримерСхема4 649 | 112 650 | 651 | <key>ru</key> 652 | <value>Дерево значений</value> 653 | 654 | true 655 | true 656 | 657 | true 658 | 659 | 660 | ДекорацияПримерСхема4РасширеннаяПодсказка 661 | 114 662 | true 663 | true 664 | 665 | true 666 | 667 | Label 668 | true 669 | true 670 | 671 | Left 672 | 673 | 674 | 675 | ДекорацияПримерСхема4КонтекстноеМеню 676 | 113 677 | true 678 | true 679 | 680 | true 681 | 682 | true 683 | 684 | Label 685 | true 686 | true 687 | 688 | Style.KASLЦветПодписи 689 | 690 | 691 | Left 692 | 693 | 694 | true 695 | true 696 | 697 | true 698 | 699 | 700 | <key>ru</key> 701 | <value>Группа1</value> 702 | 703 | 704 | Группа7РасширеннаяПодсказка 705 | 109 706 | true 707 | true 708 | 709 | true 710 | 711 | Label 712 | true 713 | true 714 | 715 | Left 716 | 717 | 718 | UsualGroup 719 | 720 | HorizontalIfPossible 721 | Auto 722 | true 723 | Auto 724 | Auto 725 | 726 | 727 | 728 | Группа8 729 | 115 730 | 731 | КомандаЗагрузитьДемоВыводТаблицыЗначений 732 | 117 733 | true 734 | true 735 | 736 | true 737 | 738 | 739 | КомандаЗагрузитьДемоВыводТаблицыЗначенийРасширеннаяПодсказка 740 | 118 741 | true 742 | true 743 | 744 | true 745 | 746 | Label 747 | true 748 | true 749 | 750 | Left 751 | 752 | 753 | UsualButton 754 | Form.Command.КомандаЗагрузитьДемоВыводТаблицыЗначений 755 | Auto 756 | true 757 | true 758 | UserCmds 759 | Auto 760 | 761 | 762 | ДекорацияПримерСхема5 763 | 119 764 | 765 | <key>ru</key> 766 | <value>Таблица значений</value> 767 | 768 | true 769 | true 770 | 771 | true 772 | 773 | 774 | ДекорацияПримерСхема5РасширеннаяПодсказка 775 | 121 776 | true 777 | true 778 | 779 | true 780 | 781 | Label 782 | true 783 | true 784 | 785 | Left 786 | 787 | 788 | 789 | ДекорацияПримерСхема5КонтекстноеМеню 790 | 120 791 | true 792 | true 793 | 794 | true 795 | 796 | true 797 | 798 | Label 799 | true 800 | true 801 | 802 | Style.KASLЦветПодписи 803 | 804 | 805 | Left 806 | 807 | 808 | true 809 | true 810 | 811 | true 812 | 813 | 814 | <key>ru</key> 815 | <value>Группа1</value> 816 | 817 | 818 | Группа8РасширеннаяПодсказка 819 | 116 820 | true 821 | true 822 | 823 | true 824 | 825 | Label 826 | true 827 | true 828 | 829 | Left 830 | 831 | 832 | UsualGroup 833 | 834 | HorizontalIfPossible 835 | Auto 836 | true 837 | Auto 838 | Auto 839 | 840 | 841 | true 842 | true 843 | 844 | true 845 | 846 | 847 | <key>ru</key> 848 | <value>Примеры ...</value> 849 | 850 | 851 | Style.LargeTextFont 852 | 853 | true 854 | Left 855 | Center 856 | 857 | ГруппаПримерыРасширеннаяПодсказка 858 | 19 859 | true 860 | true 861 | 862 | true 863 | 864 | Label 865 | true 866 | true 867 | 868 | Left 869 | 870 | 871 | UsualGroup 872 | 873 | Vertical 874 | PopUp 875 | true 876 | true 877 | true 878 | true 879 | Auto 880 | Auto 881 | 882 | 883 | 884 | ГруппаКоманднаяПанельФорма 885 | 64 886 | true 887 | true 888 | 889 | true 890 | 891 | 892 | <key>ru</key> 893 | <value>Группа командная панель форма</value> 894 | 895 | 896 | ГруппаКоманднаяПанельФормаРасширеннаяПодсказка 897 | 65 898 | true 899 | true 900 | 901 | true 902 | 903 | Label 904 | true 905 | true 906 | 907 | Left 908 | 909 | 910 | CommandBar 911 | 912 | Left 913 | Form 914 | 915 | 916 | true 917 | true 918 | 919 | true 920 | 921 | 922 | <key>ru</key> 923 | <value>Група3</value> 924 | 925 | 926 | ГруппаПанельКомандРасширеннаяПодсказка 927 | 67 928 | true 929 | true 930 | 931 | true 932 | 933 | Label 934 | true 935 | true 936 | 937 | Left 938 | 939 | 940 | UsualGroup 941 | 942 | AlwaysHorizontal 943 | Auto 944 | WeakSeparation 945 | true 946 | true 947 | Auto 948 | Auto 949 | 950 | 951 | 952 | ГруппаТексты 953 | 11 954 | 955 | ТекстСКД 956 | 4 957 | 958 | <key>ru</key> 959 | <value>Схема СКД</value> 960 | 961 | true 962 | true 963 | 964 | true 965 | 966 | 967 | Объект.ТекстСКД 968 | 969 | 970 | ТекстСКДРасширеннаяПодсказка 971 | 6 972 | true 973 | true 974 | 975 | true 976 | 977 | Label 978 | true 979 | true 980 | 981 | Left 982 | 983 | 984 | 985 | ТекстСКДКонтекстноеМеню 986 | 5 987 | true 988 | true 989 | 990 | true 991 | 992 | true 993 | 994 | TextDocumentField 995 | Enter 996 | true 997 | Left 998 | true 999 | 1000 | 50 1001 | 10 1002 | true 1003 | true 1004 | true 1005 | 1006 | 1007 | 1008 | ТекстМодели 1009 | 1 1010 | true 1011 | true 1012 | 1013 | true 1014 | 1015 | 1016 | Объект.ТекстМодели 1017 | 1018 | 1019 | ТекстМоделиРасширеннаяПодсказка 1020 | 3 1021 | true 1022 | true 1023 | 1024 | true 1025 | 1026 | Label 1027 | true 1028 | true 1029 | 1030 | Left 1031 | 1032 | 1033 | 1034 | ТекстМоделиКонтекстноеМеню 1035 | 2 1036 | true 1037 | true 1038 | 1039 | true 1040 | 1041 | true 1042 | 1043 | TextDocumentField 1044 | Enter 1045 | true 1046 | Left 1047 | true 1048 | 1049 | 50 1050 | 10 1051 | true 1052 | true 1053 | true 1054 | 1055 | 1056 | true 1057 | true 1058 | 1059 | true 1060 | 1061 | 1062 | <key>ru</key> 1063 | <value>Группа1</value> 1064 | 1065 | 1066 | ГруппаТекстыРасширеннаяПодсказка 1067 | 12 1068 | true 1069 | true 1070 | 1071 | true 1072 | 1073 | Label 1074 | true 1075 | true 1076 | 1077 | Left 1078 | 1079 | 1080 | UsualGroup 1081 | 1082 | AlwaysHorizontal 1083 | Auto 1084 | true 1085 | true 1086 | Auto 1087 | Auto 1088 | 1089 | 1090 | 1091 | ГруппаРезультат 1092 | 97 1093 | 1094 | Группа4 1095 | 102 1096 | 1097 | Группа5 1098 | 104 1099 | 1100 | ДокументРезультат 1101 | 15 1102 | true 1103 | true 1104 | 1105 | true 1106 | 1107 | 1108 | Объект.Результат 1109 | 1110 | None 1111 | 1112 | ДокументРезультатРасширеннаяПодсказка 1113 | 17 1114 | true 1115 | true 1116 | 1117 | true 1118 | 1119 | Label 1120 | true 1121 | true 1122 | 1123 | Left 1124 | 1125 | 1126 | 1127 | ДокументРезультатКонтекстноеМеню 1128 | 16 1129 | true 1130 | true 1131 | 1132 | true 1133 | 1134 | true 1135 | 1136 | SpreadsheetDocumentField 1137 | Enter 1138 | true 1139 | Left 1140 | true 1141 | 1142 | 50 1143 | true 1144 | 10 1145 | true 1146 | true 1147 | true 1148 | Special 1149 | ScrollAuto 1150 | ScrollAuto 1151 | Always 1152 | Auto 1153 | true 1154 | true 1155 | true 1156 | 1157 | 1158 | true 1159 | true 1160 | 1161 | true 1162 | 1163 | 1164 | <key>ru</key> 1165 | <value>Табличный документ</value> 1166 | 1167 | 1168 | Группа5РасширеннаяПодсказка 1169 | 105 1170 | true 1171 | true 1172 | 1173 | true 1174 | 1175 | Label 1176 | true 1177 | true 1178 | 1179 | Left 1180 | 1181 | 1182 | Page 1183 | 1184 | Vertical 1185 | true 1186 | 1187 | 1188 | 1189 | Группа6 1190 | 106 1191 | 1192 | Результат 1193 | 99 1194 | true 1195 | true 1196 | 1197 | true 1198 | 1199 | 1200 | Объект.РезультатJSON 1201 | 1202 | None 1203 | 1204 | РезультатРасширеннаяПодсказка 1205 | 101 1206 | true 1207 | true 1208 | 1209 | true 1210 | 1211 | Label 1212 | true 1213 | true 1214 | 1215 | Left 1216 | 1217 | 1218 | 1219 | РезультатКонтекстноеМеню 1220 | 100 1221 | true 1222 | true 1223 | 1224 | true 1225 | 1226 | true 1227 | 1228 | TextDocumentField 1229 | Enter 1230 | true 1231 | Left 1232 | true 1233 | 1234 | 50 1235 | true 1236 | 10 1237 | true 1238 | true 1239 | true 1240 | 1241 | 1242 | true 1243 | true 1244 | 1245 | true 1246 | 1247 | 1248 | <key>ru</key> 1249 | <value>JSON</value> 1250 | 1251 | 1252 | Группа6РасширеннаяПодсказка 1253 | 107 1254 | true 1255 | true 1256 | 1257 | true 1258 | 1259 | Label 1260 | true 1261 | true 1262 | 1263 | Left 1264 | 1265 | 1266 | Page 1267 | 1268 | Vertical 1269 | true 1270 | 1271 | 1272 | true 1273 | true 1274 | 1275 | true 1276 | 1277 | 1278 | Группа4РасширеннаяПодсказка 1279 | 103 1280 | true 1281 | true 1282 | 1283 | true 1284 | 1285 | Label 1286 | true 1287 | true 1288 | 1289 | Left 1290 | 1291 | 1292 | Pages 1293 | 1294 | Auto 1295 | Auto 1296 | 1297 | 1298 | true 1299 | true 1300 | 1301 | true 1302 | 1303 | 1304 | <key>ru</key> 1305 | <value>Результат</value> 1306 | 1307 | 1308 | ru 1309 | Группа результат 1310 | 1311 | 1312 | ГруппаРезультатРасширеннаяПодсказка 1313 | 98 1314 | true 1315 | true 1316 | 1317 | true 1318 | 1319 | Label 1320 | true 1321 | true 1322 | 1323 | Left 1324 | 1325 | 1326 | UsualGroup 1327 | 1328 | HorizontalIfPossible 1329 | Auto 1330 | WeakSeparation 1331 | true 1332 | true 1333 | true 1334 | Auto 1335 | Auto 1336 | 1337 | 1338 | 1339 | ФормаКоманднаяПанель 1340 | -1 1341 | true 1342 | true 1343 | 1344 | true 1345 | 1346 | Left 1347 | 1348 | 1349 | OnCreateAtServer 1350 | ПриСозданииНаСервере 1351 | 1352 | Use 1353 | true 1354 | true 1355 | true 1356 | Vertical 1357 | true 1358 | true 1359 | true 1360 | true 1361 | true 1362 | 1363 | Объект 1364 | 1 1365 | 1366 | DataProcessorObject.КонструкторМоделиОтчета 1367 | 1368 | 1369 | true 1370 | 1371 | 1372 | true 1373 | 1374 | 1375 | Объект.РезультатJSON 1376 | 1377 | 1378 | Объект.ТекстМодели 1379 | 1380 | 1381 | Объект.ТекстСКД 1382 | 1383 | 1384 | Объект.ТипГенератора 1385 | 1386 |
true
1387 |
1388 | 1389 | КомандаПолучитьТекстМоделиОтчета 1390 | 1391 | <key>ru</key> 1392 | <value>Получить текст модели отчета</value> 1393 | 1394 | 2 1395 | 1396 | true 1397 | 1398 | 1399 | StdPicture.GenerateReport 1400 | 1401 | 1402 | 1403 | КомандаПолучитьТекстМоделиОтчета 1404 | 1405 | 1406 | TextPicture 1407 | Auto 1408 | 1409 | 1410 | КомандаПолучитьСхемуКомпоновкиДанных 1411 | 1412 | <key>ru</key> 1413 | <value>Получить схему компоновки данных</value> 1414 | 1415 | 3 1416 | 1417 | true 1418 | 1419 | 1420 | StdPicture.Document 1421 | 1422 | 1423 | 1424 | КомандаПолучитьСхемуКомпоновкиДанных 1425 | 1426 | 1427 | Auto 1428 | 1429 | 1430 | КомандаЗагрузитьСхему1 1431 | 1432 | <key>ru</key> 1433 | <value>Загрузить схему 1</value> 1434 | 1435 | 4 1436 | 1437 | true 1438 | 1439 | 1440 | 1441 | КомандаЗагрузитьСхему1 1442 | 1443 | 1444 | Auto 1445 | 1446 | 1447 | КомандаЗагрузитьСхемуДемоОборотноСальдоваяВедомость 1448 | 1449 | <key>ru</key> 1450 | <value>Загрузить схему демо оборотно сальдовая ведомость</value> 1451 | 1452 | 5 1453 | 1454 | true 1455 | 1456 | 1457 | 1458 | КомандаЗагрузитьСхемуДемоОборотноСальдоваяВедомость 1459 | 1460 | 1461 | Auto 1462 | 1463 | 1464 | КомандаЗагрузитьСхемуДемоОтчетПоСчетамНаОплатуГлобальный 1465 | 1466 | <key>ru</key> 1467 | <value>Загрузить схему демо статусы заказов покупателей</value> 1468 | 1469 | 6 1470 | 1471 | true 1472 | 1473 | 1474 | 1475 | КомандаЗагрузитьСхемуДемоОтчетПоСчетамНаОплатуГлобальный 1476 | 1477 | 1478 | Auto 1479 | 1480 | 1481 | КомандаСформировать 1482 | 1483 | <key>ru</key> 1484 | <value>Сформировать</value> 1485 | 1486 | 7 1487 | 1488 | true 1489 | 1490 | 1491 | StdPicture.Report 1492 | 1493 | 1494 | 1495 | КомандаСформировать 1496 | 1497 | 1498 | TextPicture 1499 | Auto 1500 | 1501 | 1502 | КомандаПолучитьСтруктуруМакета 1503 | 1504 | <key>ru</key> 1505 | <value>Получить структуру макета</value> 1506 | 1507 | 8 1508 | 1509 | true 1510 | 1511 | 1512 | StdPicture.ListViewModeHierarchicalList 1513 | 1514 | 1515 | 1516 | КомандаПолучитьСтруктуруМакета 1517 | 1518 | 1519 | Auto 1520 | 1521 | 1522 | КомандаЗагрузитьДемоВыводДереваЗначений 1523 | 1524 | <key>ru</key> 1525 | <value>Загрузить демо вывод дерева значений</value> 1526 | 1527 | 9 1528 | 1529 | true 1530 | 1531 | 1532 | 1533 | КомандаЗагрузитьДемоВыводДереваЗначений 1534 | 1535 | 1536 | Auto 1537 | 1538 | 1539 | КомандаЗагрузитьДемоВыводТаблицыЗначений 1540 | 1541 | <key>ru</key> 1542 | <value>Загрузить демо вывод таблицы значений</value> 1543 | 1544 | 10 1545 | 1546 | true 1547 | 1548 | 1549 | 1550 | КомандаЗагрузитьДемоВыводТаблицыЗначений 1551 | 1552 | 1553 | Auto 1554 | 1555 | 1556 | 1557 | 1558 | 1559 | 1560 |
1561 | -------------------------------------------------------------------------------- /src/DataProcessors/КонструкторМоделиОтчета/Forms/Форма/Module.bsl: -------------------------------------------------------------------------------- 1 | &НаСервере 2 | Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) 3 | Объект.ТипГенератора = "ТабличныйДокумент"; 4 | КонецПроцедуры 5 | 6 | &НаКлиенте 7 | Процедура КомандаПолучитьТекстМоделиОтчета(Команда) 8 | КомандаПолучитьТекстМоделиОтчетаНаСервере(); 9 | КонецПроцедуры 10 | 11 | &НаКлиенте 12 | Процедура КомандаПолучитьСтруктуруМакета(Команда) 13 | Текст = ПолучитьСтруктуруМакета(); 14 | Текст.Показать("Структура макета"); 15 | КонецПроцедуры 16 | 17 | &НаСервере 18 | Функция ПолучитьСтруктуруМакета() 19 | //@skip-check module-unused-local-variable 20 | Перем МодельСхемыКомпоновки; 21 | Перем МодельНастройкиКомпоновки; 22 | Перем МодельМакетаКомпоновки; 23 | Перем ДанныеРасшифровки; 24 | ДокументРезультат = Новый ТабличныйДокумент; 25 | РезультатJSON = Объект.РезультатJSON; 26 | Результат = Объект.Результат; 27 | УстановитьБезопасныйРежим(Истина); 28 | Выполнить(Объект.ТекстМодели); 29 | Текст = Новый ТекстовыйДокумент; 30 | Текст.ДобавитьСтроку(ОбщийКлиентСервер.ОбъектВJSON(МодельМакетаКомпоновки.СтруктураМакета())); 31 | Возврат Текст; 32 | КонецФункции 33 | 34 | &НаСервере 35 | Функция ОтобратьЗначимыеАргументы(Аргументы) 36 | Для й = -Аргументы.ВГраница() По 0 Цикл 37 | Если ЗначениеЗаполнено(Аргументы[-й]) Тогда 38 | Прервать; 39 | КонецЕсли; 40 | Аргументы.Удалить(-й); 41 | КонецЦикла; 42 | Возврат СтрСоединить(РаботаСМассивом.АТДМассив(Аргументы) 43 | .Отобразить("?(ЗначениеЗаполнено(Элемент), '''{' + Формат(Число(Индекс + 1), 'ЧГ=') + '}''', '')", Аргументы) 44 | .ВМассив() 45 | , ", ") 46 | ; 47 | КонецФункции 48 | 49 | &НаСервере 50 | Процедура КомандаПолучитьТекстМоделиОтчетаНаСервере() 51 | СхемаКомпоновкиДанных = ОбщегоНазначения.ЗначениеИзСтрокиXML(Объект.ТекстСКД); 52 | МодельТекста = Общий.МодельТекста() 53 | .Добавить("МодельСхемыКомпоновки = Общий.МодельСхемыКомпоновкиДанных();") 54 | ; 55 | // Текст запроса 56 | Для Каждого НаборДанных Из СхемаКомпоновкиДанных.НаборыДанных Цикл 57 | Если ТипЗнч(НаборДанных) = Тип("НаборДанныхЗапросСхемыКомпоновкиДанных") Тогда 58 | МодельТекста 59 | .Добавить("ТекстЗапроса{1} = """, НаборДанных.Имя) 60 | .ГруппировкаНачать() 61 | .Присоединить(СтрЗаменить(СтрЗаменить(НаборДанных.Запрос, """", """"""), Символы.ПС, Символы.ПС + "|")) 62 | .Присоединить("""") 63 | .ГруппировкаЗавершить() 64 | .Добавить(";") 65 | ; 66 | КонецЕсли; 67 | КонецЦикла; 68 | 69 | Ресурсы = РаботаСМассивом.АТДМассив(СхемаКомпоновкиДанных.ПоляИтога) 70 | .Отобразить("Новый Структура('Поле, Значение', Элемент.ПутьКДанным, Элемент)") 71 | .ВМассив() 72 | ; 73 | ПоляИтогов = Новый Массив; 74 | // Наборы данных 75 | Для Каждого НаборДанных Из СхемаКомпоновкиДанных.НаборыДанных Цикл 76 | Если ТипЗнч(НаборДанных) = Тип("НаборДанныхЗапросСхемыКомпоновкиДанных") Тогда 77 | МодельТекста 78 | .Добавить("МодельСхемыКомпоновки.НаборДанныхЗапрос(ТекстЗапроса{1}, ""{1}"")", НаборДанных.Имя) 79 | ; 80 | КонецЕсли; 81 | Измерения = РаботаСМассивом.АТДМассив(НаборДанных.Поля) 82 | .Отобрать("Элемент.Роль.Измерение") 83 | .Отобразить("Новый Структура('Поле, Значение', Элемент.Поле, Элемент)") 84 | .ВМассив() 85 | ; 86 | Периоды = РаботаСМассивом.АТДМассив(НаборДанных.Поля) 87 | .Отобрать("Элемент.Роль.НомерПериода > 0") 88 | .Отобразить("Новый Структура('Поле, НомерПериода, Значение', Элемент.ПутьКДанным, Элемент.Роль.НомерПериода, Элемент)") 89 | .СортироватьПо("НомерПериода") 90 | .ВМассив() 91 | ; 92 | Реквизиты = РаботаСМассивом.АТДМассив(НаборДанных.Поля) 93 | .Отобрать("Параметры.НайтиЭлемент(СтрШаблон('Элемент.Поле = ''%1''', Элемент.Поле)) = Неопределено", , РаботаСМассивом.АТДМассив(Измерения)) 94 | .Отобрать("Параметры.НайтиЭлемент(СтрШаблон('Элемент.Поле = ''%1''', Элемент.Поле)) = Неопределено", , РаботаСМассивом.АТДМассив(Ресурсы)) 95 | .Отобрать("Параметры.НайтиЭлемент(СтрШаблон('Элемент.Поле = ''%1''', Элемент.Поле)) = Неопределено", , РаботаСМассивом.АТДМассив(Периоды)) 96 | .ВМассив() 97 | ; 98 | Если ЗначениеЗаполнено(Измерения) Тогда 99 | МодельТекста 100 | .ГруппировкаНачать() 101 | .Добавить(".Измерения()") 102 | .ГруппировкаНачать() 103 | ; 104 | Для Каждого Поле Из Измерения Цикл 105 | ПолеНабораДанных = НаборДанных.Поля.Найти(Поле.Поле); 106 | Если ПолеНабораДанных = Неопределено Тогда 107 | ВычисляемоеПоле = СхемаКомпоновкиДанных.ВычисляемыеПоля.Найти(Поле.Поле); 108 | Если ВычисляемоеПоле = Неопределено Тогда 109 | Продолжить; 110 | КонецЕсли; 111 | // Вычисляемое поле 112 | МодельТекста.Добавить(".ВычисляемоеПоле(""{1}"", , ""{2}"")", Поле.Поле, СтрЗаменить(ВычисляемоеПоле.Выражение, """", """""")); 113 | Продолжить; 114 | КонецЕсли; 115 | Роль = ПолеНабораДанных.Роль; 116 | Если Роль.Счет Тогда 117 | Если Роль.ВыражениеВидаСчета = Поле.Поле + ".Вид" Тогда 118 | МодельТекста 119 | .Добавить(".Счет(""{1}"")", Поле.Поле) 120 | ; 121 | Иначе 122 | МодельТекста 123 | .Добавить(".Счет(""{1}"", ""{2}"")", Поле.Поле, Роль.ВыражениеВидаСчета) 124 | ; 125 | КонецЕсли; 126 | Продолжить; 127 | КонецЕсли; 128 | 129 | МодельТекста 130 | .Добавить(".Поле(""{1}"")", Поле.Поле) 131 | ; 132 | КонецЦикла; 133 | МодельТекста 134 | .ГруппировкаЗавершить() 135 | .ГруппировкаЗавершить() 136 | ; 137 | КонецЕсли; 138 | 139 | Если ЗначениеЗаполнено(Реквизиты) ИЛИ ЗначениеЗаполнено(Периоды) Тогда 140 | МодельТекста 141 | .ГруппировкаНачать() 142 | .Добавить(".Реквизиты()") 143 | .ГруппировкаНачать() 144 | ; 145 | Для Каждого Поле Из Периоды Цикл 146 | МодельТекста 147 | .Добавить(".Период(""{1}"")", Поле.Поле) 148 | ; 149 | КонецЦикла; 150 | Для Каждого Поле Из Реквизиты Цикл 151 | МодельТекста 152 | .Добавить(".Поле(""{1}"")", Поле.Поле) 153 | ; 154 | КонецЦикла; 155 | МодельТекста 156 | .ГруппировкаЗавершить() 157 | .ГруппировкаЗавершить() 158 | ; 159 | КонецЕсли; 160 | 161 | РесурсыНабора = РаботаСМассивом.Отобрать(Ресурсы, "РаботаСМассивом.Содержит(Контекст, Элемент.Поле)", НаборДанных.Поля); 162 | РаботаСМассивом.Дополнить(ПоляИтогов, РесурсыНабора); 163 | 164 | Если ЗначениеЗаполнено(РесурсыНабора) Тогда 165 | МодельТекста 166 | .ГруппировкаНачать() 167 | .Добавить(".Ресурсы()") 168 | .ГруппировкаНачать() 169 | ; 170 | Для Каждого Поле Из РесурсыНабора Цикл 171 | ПолеНабораДанных = НаборДанных.Поля.Найти(Поле.Поле); 172 | Роль = ПолеНабораДанных.Роль; 173 | Аргументы = Новый Массив; 174 | Аргументы.Добавить(ПолеНабораДанных.Поле);// Имя 175 | Аргументы.Добавить(?(ПолеНабораДанных.Заголовок <> ПолеНабораДанных.Поле, ПолеНабораДанных.Заголовок, ""));// Заголовок 176 | Аргументы.Добавить(?(ПолеНабораДанных.Поле <> Поле.Поле, Поле.Поле, ""));// Путь 177 | Если Роль.Остаток Тогда 178 | Аргументы.Добавить(Роль.ГруппаОстатка); 179 | Если ЗначениеЗаполнено(Роль.ПолеСчета) Тогда 180 | Аргументы.Добавить(Роль.ТипБухгалтерскогоОстатка); 181 | Аргументы.Добавить(Роль.ПолеСчета); 182 | ОписаниеАргументов = ОтобратьЗначимыеАргументы(Аргументы); 183 | Если Роль.ТипОстатка = ТипОстаткаКомпоновкиДанных.НачальныйОстаток Тогда 184 | МодельТекста.Добавить(СтрШаблон(".НачальныйОстаток(%1)", ОписаниеАргументов), Аргументы); 185 | ИначеЕсли Роль.ТипОстатка = ТипОстаткаКомпоновкиДанных.КонечныйОстаток Тогда 186 | МодельТекста.Добавить(СтрШаблон(".КонечныйОстаток(%1)", ОписаниеАргументов), Аргументы); 187 | Иначе 188 | ВызватьИсключение "Неизвестный тип остатка " + Роль.ТипОстатка; 189 | КонецЕсли; 190 | Иначе 191 | ОписаниеАргументов = ОтобратьЗначимыеАргументы(Аргументы); 192 | Если Роль.ТипОстатка = ТипОстаткаКомпоновкиДанных.НачальныйОстаток Тогда 193 | МодельТекста.Добавить(СтрШаблон(".НачальныйОстаток(%1)", ОписаниеАргументов), Аргументы); 194 | ИначеЕсли Роль.ТипОстатка = ТипОстаткаКомпоновкиДанных.КонечныйОстаток Тогда 195 | МодельТекста.Добавить(СтрШаблон(".КонечныйОстаток(%1)", ОписаниеАргументов), Аргументы); 196 | Иначе 197 | ВызватьИсключение "Неизвестный тип остатка " + Роль.ТипОстатка; 198 | КонецЕсли; 199 | КонецЕсли; 200 | Иначе 201 | Выражение = Поле.Значение.Выражение; 202 | Если СтрПодобнаПоРегулярномуВыражению(Выражение, "^[a-zA-Zа-яА-Я_]\w*\(\w+\)$", Истина, Ложь) Тогда 203 | ОписаниеАргументов = ОтобратьЗначимыеАргументы(Аргументы); 204 | МодельТекста.Добавить(СтрШаблон(".%1(%2)", Лев(Выражение, СтрНайти(Выражение, "(") - 1), ОписаниеАргументов), Аргументы); 205 | Иначе 206 | Аргументы.Добавить(Выражение);// Выражение 207 | Аргументы.Добавить(Поле.Значение.Группировки); 208 | ОписаниеАргументов = ОтобратьЗначимыеАргументы(Аргументы); 209 | МодельТекста.Добавить(СтрШаблон("Поле(%1)", ОписаниеАргументов), Аргументы); 210 | КонецЕсли; 211 | КонецЕсли; 212 | КонецЦикла; 213 | МодельТекста 214 | .ГруппировкаЗавершить() 215 | .ГруппировкаЗавершить() 216 | ; 217 | КонецЕсли; 218 | МодельТекста 219 | .Добавить(";") 220 | ; 221 | КонецЦикла; 222 | 223 | ВычисляемыеРесурсы = РаботаСМассивом.Отобрать(Ресурсы, "НЕ РаботаСМассивом.Содержит(Контекст, Элемент)", ПоляИтогов); 224 | 225 | // Вычисляемые ресурсы 226 | Если ЗначениеЗаполнено(ВычисляемыеРесурсы) Тогда 227 | Для Каждого Поле Из ВычисляемыеРесурсы Цикл 228 | ПолеНабораДанных = НаборДанных.Поля.Найти(Поле.Поле); 229 | Если ПолеНабораДанных = Неопределено Тогда 230 | ВычисляемоеПоле = СхемаКомпоновкиДанных.ВычисляемыеПоля.Найти(Поле.Поле); 231 | Если ВычисляемоеПоле = Неопределено Тогда 232 | Продолжить; 233 | КонецЕсли; 234 | // Вычисляемое поле 235 | МодельТекста.Добавить(".ВычисляемоеПоле(""{1}"", , ""{2}"")", Поле.Поле, СтрЗаменить(ВычисляемоеПоле.Выражение, """", """""")); 236 | Продолжить; 237 | КонецЕсли; 238 | КонецЦикла; 239 | КонецЕсли; 240 | // Вычисляемые поля 241 | 242 | // Соединения наборов 243 | Если СхемаКомпоновкиДанных.СвязиНаборовДанных.Количество() > 0 Тогда 244 | МодельТекста 245 | .Добавить("МодельСхемыКомпоновки") 246 | .ГруппировкаНачать() 247 | ; 248 | Для Каждого Соединение Из СхемаКомпоновкиДанных.СвязиНаборовДанных Цикл 249 | МодельТекста 250 | .Добавить(".{1}(""{2}"", ""{3}"")", ?(Соединение.Обязательная, "ВнутреннееСоединение", "ЛевоеСоединение"), Соединение.НаборДанныхИсточник, Соединение.НаборДанныхПриемник) 251 | .ГруппировкаНачать() 252 | ; 253 | Если ЗначениеЗаполнено(Соединение.ВыражениеИсточник) И ЗначениеЗаполнено(Соединение.ВыражениеПриемник) Тогда 254 | Если Соединение.ВыражениеИсточник = Соединение.ВыражениеПриемник Тогда 255 | МодельТекста 256 | .Добавить(".Связь(""{1}"")", Соединение.ВыражениеИсточник) 257 | ; 258 | Иначе 259 | МодельТекста 260 | .Добавить(".Связь(""{1} = {2}"")", Соединение.ВыражениеИсточник, Соединение.ВыражениеПриемник) 261 | ; 262 | КонецЕсли; 263 | КонецЕсли; 264 | Если ЗначениеЗаполнено(Соединение.УсловиеСвязи) Тогда 265 | МодельТекста 266 | .Добавить(".УсловиеСвязи(""{1}"")", Соединение.УсловиеСвязи) 267 | ; 268 | КонецЕсли; 269 | Если ЗначениеЗаполнено(Соединение.Параметр) Тогда 270 | МодельТекста 271 | .Добавить(".ПараметрСвязи(""{1}"")", Соединение.Параметр) 272 | ; 273 | КонецЕсли; 274 | Если ЗначениеЗаполнено(Соединение.НачальноеВыражение) Тогда 275 | МодельТекста 276 | .Добавить(".НачальноеВыражение(""{1}"")", Соединение.НачальноеВыражение) 277 | ; 278 | КонецЕсли; 279 | МодельТекста 280 | .ГруппировкаЗавершить() 281 | ; 282 | КонецЦикла; 283 | МодельТекста 284 | .ГруппировкаЗавершить() 285 | .Добавить(";") 286 | ; 287 | КонецЕсли; 288 | // Параметры 289 | Если ЗначениеЗаполнено(СхемаКомпоновкиДанных.Параметры) Тогда 290 | МодельТекста 291 | .Добавить("МодельСхемыКомпоновки") 292 | .ГруппировкаНачать() 293 | .Добавить(".Параметры()") 294 | .ГруппировкаНачать() 295 | ; 296 | Для Каждого Параметр Из СхемаКомпоновкиДанных.Параметры Цикл 297 | МодельТекста.Добавить(".Параметр(""{1}"")", Параметр.Имя); 298 | Если ЗначениеЗаполнено(Параметр.Выражение) Тогда 299 | МодельТекста.Присоединить(".Выражение(""{1}"")", СтрЗаменить(Параметр.Выражение, """", """""")); 300 | КонецЕсли; 301 | КонецЦикла; 302 | МодельТекста 303 | .ГруппировкаЗавершить() 304 | .ГруппировкаЗавершить() 305 | .Добавить(";") 306 | ; 307 | КонецЕсли; 308 | ////////////////////////////////////////////////// 309 | // Настройки 310 | Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию; 311 | МодельТекста 312 | .Добавить("МодельНастройкиКомпоновки = Общий.МодельНастройкиКомпоновкиДанных(МодельСхемыКомпоновки.СхемаКомпоновкиДанных)") 313 | .ГруппировкаНачать() 314 | ; 315 | ВывестиВыбранныеПоля(МодельТекста, Настройки.Выбор.Элементы); 316 | Если ЗначениеЗаполнено(Настройки.Отбор.Элементы) Тогда 317 | МодельТекста 318 | .Добавить(".Условия()") 319 | .ГруппировкаНачать() 320 | ; 321 | ВывестиУсловияОтбора(МодельТекста, Настройки.Отбор.Элементы); 322 | МодельТекста 323 | .ГруппировкаЗавершить() 324 | ; 325 | КонецЕсли; 326 | // Структура 327 | Если ЗначениеЗаполнено(Настройки.Структура) Тогда 328 | МодельТекста 329 | .Добавить(".Структура()") 330 | .ГруппировкаНачать() 331 | .Добавить(".ГруппировкаНачать()") 332 | .ГруппировкаНачать() 333 | ; 334 | ВывестиГруппировку(МодельТекста, Настройки.Структура); 335 | МодельТекста 336 | .ГруппировкаЗавершить() 337 | .Добавить(".ГруппировкаЗавершить()") 338 | .ГруппировкаЗавершить() 339 | ; 340 | Для Каждого ЭлементПорядка Из Настройки.Порядок.Элементы Цикл 341 | Если ТипЗнч(ЭлементПорядка) = Тип("АвтоЭлементПорядкаКомпоновкиДанных") Тогда 342 | //Автопорядок 343 | Продолжить; 344 | КонецЕсли; 345 | Если ЭлементПорядка.ТипУпорядочивания = НаправлениеСортировкиКомпоновкиДанных.Возр Тогда 346 | МодельТекста.Добавить(".Порядок(""{1}"")", ЭлементПорядка.Поле); 347 | Иначе 348 | МодельТекста.Добавить(".Порядок(""{1}"", ""-"")", ЭлементПорядка.Поле); 349 | КонецЕсли; 350 | КонецЦикла; 351 | КонецЕсли; 352 | МодельТекста 353 | .ГруппировкаЗавершить() 354 | ; 355 | //////////////////////////////////////////////// 356 | // Параметры вывода 357 | ПараметрыВывода = РаботаСМассивом.АТДМассив(Настройки.ПараметрыВывода.Элементы) 358 | .Отобрать("Элемент.Использование") 359 | .Отобразить("Новый Структура('Параметр, Значение', Элемент.Параметр, Элемент.Значение)") 360 | .ВМассив() 361 | ; 362 | Если ЗначениеЗаполнено(ПараметрыВывода) Тогда 363 | МодельТекста 364 | .ГруппировкаНачать() 365 | .Добавить(".ПараметрыВывода()") 366 | .ГруппировкаНачать() 367 | ; 368 | Для Каждого ПараметрВывода Из ПараметрыВывода Цикл 369 | МодельТекста.Добавить(".Параметр(""{1}"", ""{2}"")", ПараметрВывода.Параметр, ПараметрВывода.Значение); 370 | КонецЦикла; 371 | МодельТекста 372 | .ГруппировкаЗавершить() 373 | .ГруппировкаЗавершить() 374 | ; 375 | КонецЕсли; 376 | МодельТекста 377 | .Добавить(";") 378 | ; 379 | //////////////////////////////////////////////// 380 | // Вывод в табличный документ 381 | Если НЕ ЗначениеЗаполнено(Объект.ТипГенератора) ИЛИ Объект.ТипГенератора = "ТабличныйДокумент" Тогда 382 | МодельТекста 383 | .Добавить("МодельМакетаКомпоновки = Общий.МодельМакетаКомпоновкиДанных()") 384 | .ГруппировкаНачать() 385 | .Добавить("// Формирование макета и вывод отчета") 386 | .Добавить(".Схема(МодельСхемыКомпоновки.СхемаКомпоновкиДанных)") 387 | .Добавить(".Настройки(МодельНастройкиКомпоновки.Настройки)") 388 | .Добавить(".Скомпоновать(ДанныеРасшифровки)") 389 | .ГруппировкаЗавершить() 390 | .Добавить(";") 391 | .Добавить("Результат.Очистить();") 392 | .Добавить("МодельМакетаКомпоновки.Вывести(Результат);") 393 | ; 394 | Иначе 395 | МодельТекста 396 | .Добавить("МодельМакетаКомпоновки = Общий.МодельМакетаКомпоновкиДанных()") 397 | .ГруппировкаНачать() 398 | .Добавить("// Формирование макета и вывод отчета") 399 | .Добавить(".Схема(МодельСхемыКомпоновки.СхемаКомпоновкиДанных)") 400 | .Добавить(".Настройки(МодельНастройкиКомпоновки.Настройки)") 401 | .Добавить(".Скомпоновать{1}(ДанныеРасшифровки)", ?(Объект.ТипГенератора = "ДеревоЗначений", "ДеревоЗначений", "ТаблицуЗначений")) 402 | .ГруппировкаЗавершить() 403 | .Добавить(";") 404 | .Добавить("Результат = МодельМакетаКомпоновки.Вывести();") 405 | // .Добавить("РезультатJSON = ОбщийКлиентСервер.ОбъектВJSON(РаботаСКоллекцией.КоллекцияЗначенийВСтруктуру(КоллекцияЗначений, Истина));") 406 | ; 407 | КонецЕсли; 408 | Объект.ТекстМодели = МодельТекста.ПолучитьТекст(); 409 | КонецПроцедуры 410 | 411 | &НаКлиенте 412 | Процедура КомандаЗагрузитьСхему1(Команда) 413 | ЗагрузитьСхему("Схема1"); 414 | КонецПроцедуры 415 | 416 | &НаСервере 417 | Процедура ЗагрузитьСхему(ИмяМакета) 418 | Макет = РеквизитФормыВЗначение("Объект").ПолучитьМакет(ИмяМакета); 419 | Объект.ТекстСКД = ОбщегоНазначения.ЗначениеВСтрокуXML(Макет); 420 | КонецПроцедуры 421 | 422 | &НаСервере 423 | Процедура ЗагрузитьТекст(ИмяМакета) 424 | Объект.ТекстМодели = РеквизитФормыВЗначение("Объект").ПолучитьМакет(ИмяМакета).ПолучитьТекст(); 425 | КонецПроцедуры 426 | 427 | &НаКлиенте 428 | Процедура КомандаЗагрузитьСхемуДемоОборотноСальдоваяВедомость(Команда) 429 | ЗагрузитьСхему("ДемоОборотноСальдоваяВедомость"); 430 | КонецПроцедуры 431 | 432 | &НаКлиенте 433 | Процедура КомандаЗагрузитьСхемуДемоОтчетПоСчетамНаОплатуГлобальный(Команда) 434 | ЗагрузитьСхему("ДемоОтчетПоСчетамНаОплатуГлобальный"); 435 | КонецПроцедуры 436 | 437 | &НаКлиенте 438 | Процедура КомандаСформировать(Команда) 439 | КомандаСформироватьНаСервере(); 440 | КонецПроцедуры 441 | 442 | &НаСервере 443 | Процедура КомандаСформироватьНаСервере() 444 | //@skip-check module-unused-local-variable 445 | Перем МодельСхемыКомпоновки; 446 | Перем МодельНастройкиКомпоновки; 447 | Перем МодельМакетаКомпоновки; 448 | Перем ДанныеРасшифровки; 449 | Перем Результат; 450 | РезультатJSON = Объект.РезультатJSON; 451 | Результат = Объект.Результат; 452 | УстановитьБезопасныйРежим(Истина); 453 | Выполнить(Объект.ТекстМодели); 454 | Если ТипЗнч(Результат) = Тип("ТаблицаЗначений") Тогда 455 | Объект.РезультатJSON = ОбщийКлиентСервер.ОбъектВJSON(РаботаСКоллекцией.ТаблицаЗначенийВСтруктуру(Результат, Истина)); 456 | ИначеЕсли ТипЗнч(Результат) = Тип("ДеревоЗначений") Тогда 457 | Объект.РезультатJSON = ОбщийКлиентСервер.ОбъектВJSON(РаботаСКоллекцией.ДеревоЗначенийВСтруктуру(Результат, Истина)); 458 | Иначе 459 | //Объект.РезультатJSON = ""; 460 | КонецЕсли; 461 | КонецПроцедуры 462 | 463 | &НаКлиенте 464 | Процедура КомандаПолучитьСхемуКомпоновкиДанных(Команда) 465 | Текст = ПолучитьСхемуКомпоновкиДанных(); 466 | Текст.Показать("Схема компоновки данных"); 467 | КонецПроцедуры 468 | 469 | &НаСервере 470 | Функция ПолучитьСхемуКомпоновкиДанных() 471 | //@skip-check module-unused-local-variable 472 | Перем МодельСхемыКомпоновки; 473 | Перем МодельНастройкиКомпоновки; 474 | Перем МодельМакетаКомпоновки; 475 | Перем ДанныеРасшифровки; 476 | ДокументРезультат = Новый ТабличныйДокумент; 477 | РезультатJSON = Объект.РезультатJSON; 478 | Результат = Объект.Результат; 479 | УстановитьБезопасныйРежим(Истина); 480 | Выполнить(Объект.ТекстМодели); 481 | Текст = Новый ТекстовыйДокумент; 482 | Текст.ДобавитьСтроку(ОбщегоНазначения.ЗначениеВСтрокуXML(МодельСхемыКомпоновки.СхемаКомпоновкиДанных)); 483 | Возврат Текст; 484 | КонецФункции 485 | 486 | Процедура ВывестиГруппировку(МодельТекста, Группировка) 487 | Для Каждого ЭлементГруппировки Из Группировка Цикл 488 | Для Каждого ПолеГруппировки Из ЭлементГруппировки.ПоляГруппировки.Элементы Цикл 489 | Если ТипЗнч(ПолеГруппировки) = Тип("АвтоПолеГруппировкиКомпоновкиДанных") Тогда 490 | МодельТекста.Добавить(".ПолеГруппировки(""*"")"); 491 | Иначе 492 | МодельТекста.Добавить(".ПолеГруппировки(""{1}"")", ПолеГруппировки.Поле); 493 | КонецЕсли; 494 | КонецЦикла; 495 | ВывестиВыбранныеПоля(МодельТекста, ЭлементГруппировки.Выбор.Элементы); 496 | Если ЗначениеЗаполнено(ЭлементГруппировки.Структура) Тогда 497 | МодельТекста 498 | .Добавить(".ГруппировкаНачать()") 499 | .ГруппировкаНачать() 500 | ; 501 | ВывестиГруппировку(МодельТекста, ЭлементГруппировки.Структура); 502 | МодельТекста 503 | .ГруппировкаЗавершить() 504 | .Добавить(".ГруппировкаЗавершить()") 505 | ; 506 | КонецЕсли; 507 | КонецЦикла; 508 | КонецПроцедуры 509 | 510 | Процедура ВывестиВыбранныеПоля(МодельТекста, Элементы) 511 | Для Каждого ВыбранноеПоле Из Элементы Цикл 512 | Если ТипЗнч(ВыбранноеПоле) = Тип("ГруппаВыбранныхПолейКомпоновкиДанных") Тогда 513 | МодельТекста 514 | .Добавить(".ГруппаНачать(""{1}"")", ВыбранноеПоле.Заголовок) 515 | .ГруппировкаНачать() 516 | ; 517 | ВывестиВыбранныеПоля(МодельТекста, ВыбранноеПоле.Элементы); 518 | МодельТекста 519 | .ГруппировкаЗавершить() 520 | .Добавить(".ГруппаЗавершить()") 521 | ; 522 | Продолжить; 523 | КонецЕсли; 524 | Если ТипЗнч(ВыбранноеПоле) = Тип("АвтоВыбранноеПолеКомпоновкиДанных") Тогда 525 | МодельТекста 526 | .Добавить(".Поле(""*"")") 527 | ; 528 | Иначе 529 | МодельТекста 530 | .Добавить(".Поле(""{1}"")", ВыбранноеПоле.Поле) 531 | ; 532 | КонецЕсли; 533 | КонецЦикла; 534 | КонецПроцедуры 535 | 536 | Процедура ВывестиУсловияОтбора(МодельТекста, Элементы) 537 | Для Каждого ЭлементОтбора Из Элементы Цикл 538 | Если ТипЗнч(ЭлементОтбора) = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда 539 | Если ЭлементОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ Тогда 540 | МодельТекста 541 | .Добавить(".ОтборГруппаИНачать()") 542 | ; 543 | ИначеЕсли ЭлементОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли Тогда 544 | МодельТекста 545 | .Добавить(".ОтборГруппаИЛИНачать()") 546 | ; 547 | Иначе 548 | МодельТекста 549 | .Добавить(".ОтборГруппаНЕНачать()") 550 | ; 551 | КонецЕсли; 552 | МодельТекста 553 | .ГруппировкаНачать() 554 | ; 555 | ВывестиУсловияОтбора(МодельТекста, ЭлементОтбора.Элементы); 556 | МодельТекста 557 | .ГруппировкаЗавершить() 558 | .Добавить(".ОтборГруппаЗавершить()") 559 | ; 560 | Продолжить; 561 | КонецЕсли; 562 | Если ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно Тогда 563 | МодельТекста 564 | .Добавить(".Отбор(""{1}"", , ""{2}"")", ЭлементОтбора.ЛевоеЗначение, , ЭлементОтбора.ПравоеЗначение) 565 | ; 566 | Иначе 567 | МодельТекста 568 | .Добавить(".Отбор(""{1}"", ВидСравненияКомпоновкиДанных.{2}, ""{3}"")", ЭлементОтбора.ЛевоеЗначение, ОбщийКлиентСервер.CamelCase(ЭлементОтбора.ВидСравнения), ЭлементОтбора.ПравоеЗначение) 569 | ; 570 | КонецЕсли; 571 | КонецЦикла; 572 | КонецПроцедуры 573 | 574 | &НаКлиенте 575 | Процедура КомандаЗагрузитьДемоВыводДереваЗначений(Команда) 576 | ЗагрузитьТекст("ДемоВыводДереваЗначений"); 577 | КонецПроцедуры 578 | 579 | &НаКлиенте 580 | Процедура КомандаЗагрузитьДемоВыводТаблицыЗначений(Команда) 581 | ЗагрузитьТекст("ДемоВыводТаблицыЗначений"); 582 | КонецПроцедуры 583 | -------------------------------------------------------------------------------- /src/DataProcessors/КонструкторМоделиОтчета/ObjectModule.bsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KalyakinAG/report-model-constructor/5544619810408ea8c6307ea8fe5616804b3292ba/src/DataProcessors/КонструкторМоделиОтчета/ObjectModule.bsl -------------------------------------------------------------------------------- /src/DataProcessors/КонструкторМоделиОтчета/Templates/ДемоВыводДереваЗначений/Template.txt: -------------------------------------------------------------------------------- 1 | Дерево = РаботаСКоллекцией.СтруктураВДеревоЗначений(РезультатJSON, Истина); 2 | Общий.МодельМакетаКомпоновкиДанных(Дерево) 3 | .Скомпоновать() 4 | .Вывести(Результат) 5 | ; 6 | -------------------------------------------------------------------------------- /src/DataProcessors/КонструкторМоделиОтчета/Templates/ДемоВыводТаблицыЗначений/Template.txt: -------------------------------------------------------------------------------- 1 | Таблица = РаботаСКоллекцией.СтруктураВТаблицуЗначений(РезультатJSON, Истина); 2 | Общий.МодельМакетаКомпоновкиДанных(Таблица) 3 | .Скомпоновать() 4 | .Вывести(Результат) 5 | ; 6 | -------------------------------------------------------------------------------- /src/DataProcessors/КонструкторМоделиОтчета/Templates/ДемоОборотноСальдоваяВедомость/Template.dcs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ИсточникДанных 5 | Local 6 | 7 | 8 | НаборДанных1 9 | 10 | СуммаНачОстДт 11 | СуммаНачОстДт 12 | 13 | <v8:item> 14 | <v8:lang>ru</v8:lang> 15 | <v8:content>Сумма нач ост дт</v8:content> 16 | </v8:item> 17 | 18 | 19 | true 20 | Сумма 21 | OpeningBalance 22 | Debit 23 | Счет 24 | 25 | 26 | 27 | 28 | 29 | Счет 30 | Счет 31 | 32 | true 33 | true 34 | Счет.Вид 35 | 36 | 37 | 38 | 39 | 40 | Организация 41 | Организация 42 | 43 | true 44 | 45 | 46 | 47 | 48 | 49 | Субконто2 50 | Субконто2 51 | 52 | 53 | 54 | 55 | Валюта 56 | Валюта 57 | 58 | true 59 | true 60 | 61 | 62 | 63 | 64 | 65 | СуммаОборотКт 66 | СуммаОборотКт 67 | 68 | 69 | 70 | 71 | Документ 72 | Документ 73 | 74 | <v8:item> 75 | <v8:lang>ru</v8:lang> 76 | <v8:content>Документ</v8:content> 77 | </v8:item> 78 | 79 | 80 | 1 81 | Main 82 | 83 | 84 | 85 | 86 | 87 | СуммаОборотДт 88 | СуммаОборотДт 89 | 90 | 91 | 92 | 93 | СуммаНачОстКт 94 | СуммаНачОстКт 95 | 96 | <v8:item> 97 | <v8:lang>ru</v8:lang> 98 | <v8:content>Сумма нач ост кт</v8:content> 99 | </v8:item> 100 | 101 | 102 | true 103 | Сумма 104 | OpeningBalance 105 | Credit 106 | Счет 107 | 108 | 109 | 110 | 111 | 112 | СуммаКонОстДт 113 | СуммаКонОстДт 114 | 115 | <v8:item> 116 | <v8:lang>ru</v8:lang> 117 | <v8:content>Сумма кон ост дт</v8:content> 118 | </v8:item> 119 | 120 | 121 | true 122 | Сумма 123 | ClosingBalance 124 | Debit 125 | Счет 126 | 127 | 128 | 129 | 130 | 131 | СуммаКонОстКт 132 | СуммаКонОстКт 133 | 134 | <v8:item> 135 | <v8:lang>ru</v8:lang> 136 | <v8:content>Сумма кон ост кт</v8:content> 137 | </v8:item> 138 | 139 | 140 | true 141 | Сумма 142 | ClosingBalance 143 | Credit 144 | Счет 145 | 146 | 147 | 148 | 149 | 150 | ВалютнаяСуммаКонОстДт 151 | ВалютнаяСуммаКонОстДт 152 | 153 | <v8:item> 154 | <v8:lang>ru</v8:lang> 155 | <v8:content>Валютная сумма кон ост дт</v8:content> 156 | </v8:item> 157 | 158 | 159 | true 160 | ВалютнаяСумма 161 | ClosingBalance 162 | Debit 163 | Счет 164 | 165 | 166 | 167 | 168 | 169 | КоличествоНачОстДт 170 | КоличествоНачОстДт 171 | 172 | <v8:item> 173 | <v8:lang>ru</v8:lang> 174 | <v8:content>Количество нач ост дт</v8:content> 175 | </v8:item> 176 | 177 | 178 | true 179 | Количество 180 | OpeningBalance 181 | Debit 182 | Счет 183 | 184 | 185 | 186 | 187 | 188 | ВалютнаяСуммаКонОстКт 189 | ВалютнаяСуммаКонОстКт 190 | 191 | <v8:item> 192 | <v8:lang>ru</v8:lang> 193 | <v8:content>Валютная сумма кон ост кт</v8:content> 194 | </v8:item> 195 | 196 | 197 | true 198 | ВалютнаяСумма 199 | ClosingBalance 200 | Credit 201 | Счет 202 | 203 | 204 | 205 | 206 | 207 | КоличествоНачОстКт 208 | КоличествоНачОстКт 209 | 210 | <v8:item> 211 | <v8:lang>ru</v8:lang> 212 | <v8:content>Количество нач ост кт</v8:content> 213 | </v8:item> 214 | 215 | 216 | true 217 | Количество 218 | OpeningBalance 219 | Credit 220 | Счет 221 | 222 | 223 | 224 | 225 | 226 | КоличествоОборотДт 227 | КоличествоОборотДт 228 | 229 | 230 | 231 | 232 | КоличествоОборотКт 233 | КоличествоОборотКт 234 | 235 | 236 | КоличествоКонОстДт 237 | КоличествоКонОстДт 238 | 239 | <v8:item> 240 | <v8:lang>ru</v8:lang> 241 | <v8:content>Количество кон ост дт</v8:content> 242 | </v8:item> 243 | 244 | 245 | true 246 | Количество 247 | ClosingBalance 248 | Debit 249 | Счет 250 | 251 | 252 | 253 | КоличествоКонОстКт 254 | КоличествоКонОстКт 255 | 256 | <v8:item> 257 | <v8:lang>ru</v8:lang> 258 | <v8:content>Количество кон ост кт</v8:content> 259 | </v8:item> 260 | 261 | 262 | true 263 | Количество 264 | ClosingBalance 265 | Credit 266 | Счет 267 | 268 | 269 | 270 | ВалютнаяСуммаНачОстДт 271 | ВалютнаяСуммаНачОстДт 272 | 273 | <v8:item> 274 | <v8:lang>ru</v8:lang> 275 | <v8:content>Валютная сумма нач ост дт</v8:content> 276 | </v8:item> 277 | 278 | 279 | true 280 | ВалютнаяСумма 281 | OpeningBalance 282 | Debit 283 | Счет 284 | 285 | 286 | 287 | ВалютнаяСуммаНачОстКт 288 | ВалютнаяСуммаНачОстКт 289 | 290 | <v8:item> 291 | <v8:lang>ru</v8:lang> 292 | <v8:content>Валютная сумма нач ост кт</v8:content> 293 | </v8:item> 294 | 295 | 296 | true 297 | ВалютнаяСумма 298 | OpeningBalance 299 | Credit 300 | Счет 301 | 302 | 303 | 304 | ВалютнаяСуммаОборотДт 305 | ВалютнаяСуммаОборотДт 306 | 307 | 308 | ВалютнаяСуммаОборотКт 309 | ВалютнаяСуммаОборотКт 310 | 311 | 312 | Субконто1 313 | Субконто1 314 | 315 | 316 | Субконто3 317 | Субконто3 318 | 319 | ИсточникДанных 320 | ВЫБРАТЬ 321 | ОстаткиИОбороты.Счет КАК Счет, 322 | ОстаткиИОбороты.Организация КАК Организация, 323 | ОстаткиИОбороты.Валюта КАК Валюта, 324 | ОстаткиИОбороты.Регистратор КАК Документ, 325 | ОстаткиИОбороты.СуммаНачальныйОстатокДт КАК СуммаНачОстДт, 326 | ОстаткиИОбороты.СуммаНачальныйОстатокКт КАК СуммаНачОстКт, 327 | ОстаткиИОбороты.СуммаОборотДт КАК СуммаОборотДт, 328 | ОстаткиИОбороты.СуммаОборотКт КАК СуммаОборотКт, 329 | ОстаткиИОбороты.СуммаКонечныйОстатокДт КАК СуммаКонОстДт, 330 | ОстаткиИОбороты.СуммаКонечныйОстатокКт КАК СуммаКонОстКт, 331 | ОстаткиИОбороты.КоличествоНачальныйОстатокДт КАК КоличествоНачОстДт, 332 | ОстаткиИОбороты.КоличествоНачальныйОстатокКт КАК КоличествоНачОстКт, 333 | ОстаткиИОбороты.КоличествоОборотДт КАК КоличествоОборотДт, 334 | ОстаткиИОбороты.КоличествоОборотКт КАК КоличествоОборотКт, 335 | ОстаткиИОбороты.КоличествоКонечныйОстатокДт КАК КоличествоКонОстДт, 336 | ОстаткиИОбороты.КоличествоКонечныйОстатокКт КАК КоличествоКонОстКт, 337 | ОстаткиИОбороты.ВалютнаяСуммаНачальныйОстатокДт КАК ВалютнаяСуммаНачОстДт, 338 | ОстаткиИОбороты.ВалютнаяСуммаНачальныйОстатокКт КАК ВалютнаяСуммаНачОстКт, 339 | ОстаткиИОбороты.ВалютнаяСуммаОборотДт КАК ВалютнаяСуммаОборотДт, 340 | ОстаткиИОбороты.ВалютнаяСуммаОборотКт КАК ВалютнаяСуммаОборотКт, 341 | ОстаткиИОбороты.ВалютнаяСуммаКонечныйОстатокДт КАК ВалютнаяСуммаКонОстДт, 342 | ОстаткиИОбороты.ВалютнаяСуммаКонечныйОстатокКт КАК ВалютнаяСуммаКонОстКт 343 | ИЗ 344 | РегистрБухгалтерии._ДемоЖурналПроводокБухгалтерскогоУчета.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, АВТО, , {(Счет В ИЕРАРХИИ (&Счет))}, , {(Организация = &Организация), (Валюта = &Валюта)}) КАК ОстаткиИОбороты 345 | 346 | 347 | ВалютнаяСуммаКонОстДт 348 | Сумма(ВалютнаяСуммаКонОстДт) 349 | 350 | 351 | ВалютнаяСуммаКонОстКт 352 | Сумма(ВалютнаяСуммаКонОстКт) 353 | 354 | 355 | ВалютнаяСуммаНачОстДт 356 | Сумма(ВалютнаяСуммаНачОстДт) 357 | 358 | 359 | ВалютнаяСуммаНачОстКт 360 | Сумма(ВалютнаяСуммаНачОстКт) 361 | 362 | 363 | ВалютнаяСуммаОборотДт 364 | Сумма(ВалютнаяСуммаОборотДт) 365 | 366 | 367 | ВалютнаяСуммаОборотКт 368 | Сумма(ВалютнаяСуммаОборотКт) 369 | 370 | 371 | КоличествоКонОстДт 372 | Сумма(КоличествоКонОстДт) 373 | 374 | 375 | КоличествоКонОстКт 376 | Сумма(КоличествоКонОстКт) 377 | 378 | 379 | КоличествоНачОстДт 380 | Сумма(КоличествоНачОстДт) 381 | 382 | 383 | КоличествоНачОстКт 384 | Сумма(КоличествоНачОстКт) 385 | 386 | 387 | КоличествоОборотДт 388 | Сумма(КоличествоОборотДт) 389 | 390 | 391 | КоличествоОборотКт 392 | Сумма(КоличествоОборотКт) 393 | 394 | 395 | СуммаКонОстДт 396 | Сумма(СуммаКонОстДт) 397 | 398 | 399 | СуммаКонОстКт 400 | Сумма(СуммаКонОстКт) 401 | 402 | 403 | СуммаНачОстДт 404 | Сумма(СуммаНачОстДт) 405 | 406 | 407 | СуммаНачОстКт 408 | Сумма(СуммаНачОстКт) 409 | 410 | 411 | СуммаОборотДт 412 | Сумма(СуммаОборотДт) 413 | 414 | 415 | СуммаОборотКт 416 | Сумма(СуммаОборотКт) 417 | 418 | 419 | НачалоПериода 420 | Начало периода 421 | 422 | false 423 | &Период.ДатаНачала 424 | 425 | 426 | КонецПериода 427 | Конец периода 428 | 429 | false 430 | &Период.ДатаОкончания 431 | 432 | 433 | Период 434 | Период 435 | 436 | false 437 | 438 | 439 | Валюта 440 | Валюта 441 | 442 | false 443 | 444 | 445 | Счет 446 | Счет 447 | 448 | false 449 | 450 | 451 | Организация 452 | Организация 453 | 454 | false 455 | 456 | 457 | Основной 458 | Основной 459 | 460 | 461 | 462 | 463 | 464 | 465 | ru 466 | Валютная сумма 467 | 468 | 469 | 470 | ВалютнаяСуммаНачОстДт 471 | 472 | 473 | ВалютнаяСуммаНачОстКт 474 | 475 | 476 | ВалютнаяСуммаОборотДт 477 | 478 | 479 | ВалютнаяСуммаОборотКт 480 | 481 | 482 | ВалютнаяСуммаКонОстДт 483 | 484 | 485 | ВалютнаяСуммаКонОстКт 486 | 487 | Auto 488 | 489 | 490 | 491 | 492 | ru 493 | Сумма 494 | 495 | 496 | 497 | СуммаНачОстДт 498 | 499 | 500 | СуммаНачОстКт 501 | 502 | 503 | СуммаОборотДт 504 | 505 | 506 | СуммаОборотКт 507 | 508 | 509 | СуммаКонОстДт 510 | 511 | 512 | СуммаКонОстКт 513 | 514 | Auto 515 | 516 | 517 | 518 | 519 | ru 520 | Количество 521 | 522 | 523 | 524 | КоличествоНачОстДт 525 | 526 | 527 | КоличествоНачОстКт 528 | 529 | 530 | КоличествоОборотДт 531 | 532 | 533 | КоличествоОборотКт 534 | 535 | 536 | КоличествоКонОстДт 537 | 538 | 539 | КоличествоКонОстКт 540 | 541 | Auto 542 | 543 | 544 | 545 | 546 | Счет.Порядок 547 | Asc 548 | 549 | 550 | 551 | 552 | 553 | Организация 554 | Items 555 | None 556 | 0001-01-01T00:00:00 557 | 0001-01-01T00:00:00 558 | 559 | 560 | 561 | 562 | Организация 563 | 564 | 565 | 566 | 567 | 568 | 569 | Счет 570 | Items 571 | None 572 | 0001-01-01T00:00:00 573 | 0001-01-01T00:00:00 574 | 575 | 576 | 577 | 578 | Счет 579 | 580 | 581 | 582 | 583 | 584 | 585 | Валюта 586 | Items 587 | None 588 | 0001-01-01T00:00:00 589 | 0001-01-01T00:00:00 590 | 591 | 592 | 593 | 594 | 595 | 596 | 597 | 598 | 599 | false 600 | 601 | 602 | 603 | 604 | 605 | 606 | 607 | 608 | 609 | 610 | 611 | 612 | -------------------------------------------------------------------------------- /src/DataProcessors/КонструкторМоделиОтчета/Templates/ДемоОтчетПоСчетамНаОплатуГлобальный/Template.dcs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ИсточникДанных1 5 | Local 6 | 7 | 8 | НаборДанных1 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 | СуммаВключаетНДС 67 | СуммаВключаетНДС 68 | 69 | 70 | ДатаОплаты 71 | ДатаОплаты 72 | 73 | ИсточникДанных1 74 | ВЫБРАТЬ РАЗРЕШЕННЫЕ 75 | _ДемоСчетНаОплатуПокупателю.Номер, 76 | _ДемоСчетНаОплатуПокупателю.Дата, 77 | _ДемоСчетНаОплатуПокупателю.БанковскийСчет, 78 | _ДемоСчетНаОплатуПокупателю.ВалютаДокумента, 79 | _ДемоСчетНаОплатуПокупателю.Ссылка, 80 | _ДемоСчетНаОплатуПокупателю.Договор, 81 | _ДемоСчетНаОплатуПокупателю.Основание, 82 | _ДемоСчетНаОплатуПокупателю.Партнер, 83 | _ДемоСчетНаОплатуПокупателю.Контрагент, 84 | _ДемоСчетНаОплатуПокупателю.Организация, 85 | _ДемоСчетНаОплатуПокупателю.Ответственный, 86 | _ДемоСчетНаОплатуПокупателю.Подразделение, 87 | _ДемоСчетНаОплатуПокупателю.СуммаОплаты, 88 | _ДемоСчетНаОплатуПокупателю.ПроцентОплаты, 89 | _ДемоСчетНаОплатуПокупателю.СуммаВключаетНДС, 90 | _ДемоСчетНаОплатуПокупателю.ДатаОплаты 91 | ИЗ 92 | Документ._ДемоСчетНаОплатуПокупателю КАК _ДемоСчетНаОплатуПокупателю 93 | {ГДЕ 94 | (_ДемоСчетНаОплатуПокупателю.Дата МЕЖДУ &НачалоПериода И &КонецПериода)} 95 | 96 | 97 | Период 98 | 99 | <v8:item> 100 | <v8:lang>ru</v8:lang> 101 | <v8:content>Период</v8:content> 102 | </v8:item> 103 | 104 | 105 | v8:StandardPeriod 106 | 107 | 108 | Custom 109 | 0001-01-01T00:00:00 110 | 0001-01-01T00:00:00 111 | 112 | false 113 | 114 | 115 | КонецПериода 116 | 117 | <v8:item> 118 | <v8:lang>ru</v8:lang> 119 | <v8:content>Конец периода</v8:content> 120 | </v8:item> 121 | 122 | 123 | xs:dateTime 124 | 125 | DateTime 126 | 127 | 128 | 0001-01-01T00:00:00 129 | true 130 | 131 | 132 | НачалоПериода 133 | 134 | <v8:item> 135 | <v8:lang>ru</v8:lang> 136 | <v8:content>Начало периода</v8:content> 137 | </v8:item> 138 | 139 | 140 | xs:dateTime 141 | 142 | DateTime 143 | 144 | 145 | 0001-01-01T00:00:00 146 | true 147 | 148 | 149 | Основной 150 | 151 | 152 | ru 153 | Демо: Счета на оплату (внешний) 154 | 155 | 156 | 157 | 158 | 159 | Организация 160 | 161 | 162 | false 163 | Контрагент 164 | 165 | 166 | false 167 | Договор 168 | 169 | 170 | false 171 | БанковскийСчет 172 | 173 | 174 | ДатаОплаты 175 | 176 | 177 | Ссылка 178 | 179 | 180 | false 181 | Дата 182 | 183 | 184 | false 185 | ПроцентОплаты 186 | 187 | 188 | СуммаОплаты 189 | 190 | 191 | ВалютаДокумента 192 | 193 | 194 | false 195 | СуммаВключаетНДС 196 | 197 | 198 | 199 | 200 | false 201 | Ссылка 202 | InList 203 | 204 | 205 | -1 206 | 207 | Normal 208 | a6d7c608-22ad-4571-887e-c84f91a06f97 209 | 210 | 211 | 212 | 213 | false 214 | Период 215 | 216 | Custom 217 | 0001-01-01T00:00:00 218 | 0001-01-01T00:00:00 219 | 220 | 7ebb6de0-772c-48d6-a805-2ce9482f649b 221 | 222 | 223 | 224 | 225 | 226 | Организация 227 | Items 228 | None 229 | 0001-01-01T00:00:00 230 | 0001-01-01T00:00:00 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | ДатаОплаты 243 | Items 244 | None 245 | 0001-01-01T00:00:00 246 | 0001-01-01T00:00:00 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | Исключение 269 | 270 | 271 | ru 272 | Демо: Ошибка при компоновке результата (внешний) 273 | 274 | 275 | 276 | 277 | -------------------------------------------------------------------------------- /src/DataProcessors/КонструкторМоделиОтчета/Templates/Схема1/Template.dcs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ИсточникДанных1 5 | Local 6 | 7 | 8 | НаборДанных 9 | 10 | Номенклатура 11 | Номенклатура 12 | 13 | true 14 | 15 | 16 | 17 | МестоХранения 18 | МестоХранения 19 | 20 | true 21 | 22 | 23 | 24 | Организация 25 | Организация 26 | 27 | true 28 | 29 | 30 | 31 | ПериодДень 32 | ПериодДень 33 | 34 | 1 35 | Main 36 | 37 | 38 | 39 | Регистратор 40 | Регистратор 41 | 42 | 2 43 | Main 44 | 45 | 46 | 47 | КоличествоНачальныйОстаток 48 | КоличествоНачальныйОстаток 49 | 50 | true 51 | Количество 52 | OpeningBalance 53 | 54 | 55 | 56 | КоличествоОборот 57 | КоличествоОборот 58 | 59 | 60 | КоличествоПриход 61 | КоличествоПриход 62 | 63 | 64 | КоличествоРасход 65 | КоличествоРасход 66 | 67 | 68 | КоличествоКонечныйОстаток 69 | КоличествоКонечныйОстаток 70 | 71 | true 72 | Количество 73 | ClosingBalance 74 | 75 | 76 | 77 | ПериодСекунда 78 | ПериодСекунда 79 | 80 | 3 81 | Main 82 | 83 | 84 | 85 | НомерСтроки 86 | НомерСтроки 87 | 88 | 1 89 | Main 90 | 91 | 92 | ИсточникДанных1 93 | ВЫБРАТЬ 94 | _ДемоОстаткиТоваровВМестахХранения.Номенклатура КАК Номенклатура, 95 | _ДемоОстаткиТоваровВМестахХранения.МестоХранения КАК МестоХранения, 96 | _ДемоОстаткиТоваровВМестахХранения.Организация КАК Организация, 97 | _ДемоОстаткиТоваровВМестахХранения.ПериодДень КАК ПериодДень, 98 | _ДемоОстаткиТоваровВМестахХранения.Регистратор КАК Регистратор, 99 | _ДемоОстаткиТоваровВМестахХранения.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток, 100 | _ДемоОстаткиТоваровВМестахХранения.КоличествоОборот КАК КоличествоОборот, 101 | _ДемоОстаткиТоваровВМестахХранения.КоличествоПриход КАК КоличествоПриход, 102 | _ДемоОстаткиТоваровВМестахХранения.КоличествоРасход КАК КоличествоРасход, 103 | _ДемоОстаткиТоваровВМестахХранения.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток, 104 | _ДемоОстаткиТоваровВМестахХранения.ПериодСекунда КАК ПериодСекунда, 105 | _ДемоОстаткиТоваровВМестахХранения.НомерСтроки КАК НомерСтроки 106 | ИЗ 107 | РегистрНакопления._ДемоОстаткиТоваровВМестахХранения.ОстаткиИОбороты({(&НачалоПериода)}, {(&КонецПериода)}, Авто, , ) КАК _ДемоОстаткиТоваровВМестахХранения 108 | 109 | 110 | КоличествоНачальныйОстаток 111 | СУММА(КоличествоНачальныйОстаток) 112 | 113 | 114 | КоличествоОборот 115 | СУММА(КоличествоОборот) 116 | 117 | 118 | КоличествоПриход 119 | СУММА(КоличествоПриход) 120 | 121 | 122 | КоличествоРасход 123 | СУММА(КоличествоРасход) 124 | 125 | 126 | КоличествоКонечныйОстаток 127 | СУММА(КоличествоКонечныйОстаток) 128 | 129 | 130 | НачалоПериода 131 | Начало периода 132 | 133 | false 134 | 135 | 136 | КонецПериода 137 | Конец периода 138 | 139 | false 140 | 141 | 142 | Основной 143 | Основной 144 | 145 | 146 | 147 | МестоХранения 148 | 149 | 150 | Номенклатура 151 | 152 | 153 | ПериодДень 154 | 155 | 156 | Регистратор 157 | 158 | 159 | КоличествоНачальныйОстаток 160 | 161 | 162 | Обороты 163 | 164 | КоличествоПриход 165 | 166 | 167 | КоличествоРасход 168 | 169 | Auto 170 | 171 | 172 | КоличествоКонечныйОстаток 173 | 174 | 175 | 176 | 177 | AndGroup 178 | 179 | МестоХранения 180 | NotEqual 181 | 182 | 183 | Номенклатура.Наименование 184 | Equal 185 | Стул 186 | 187 | 188 | 189 | 190 | 191 | ПериодДень 192 | Asc 193 | 194 | 195 | Регистратор 196 | Asc 197 | 198 | 199 | 200 | 201 | МакетОформления 202 | Арктика 203 | 204 | 205 | ВыводитьЗаголовок 206 | Auto 207 | 208 | 209 | Заголовок 210 | 211 | 212 | ru 213 | Тест 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | Организация 222 | Items 223 | None 224 | 0001-01-01T00:00:00 225 | 0001-01-01T00:00:00 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | МестоХранения 235 | Items 236 | None 237 | 0001-01-01T00:00:00 238 | 0001-01-01T00:00:00 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | Номенклатура 248 | Items 249 | None 250 | 0001-01-01T00:00:00 251 | 0001-01-01T00:00:00 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | -------------------------------------------------------------------------------- /src/DataProcessors/КонструкторМоделиОтчета/КонструкторМоделиОтчета.mdo: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | КонструкторМоделиОтчета 8 | 9 | ru 10 | Конструктор модели отчета (Модель отчета) 11 | 12 | true 13 | DataProcessor.КонструкторМоделиОтчета.Form.Форма 14 | 15 | ТекстМодели 16 | 17 | ru 18 | Текст модели 19 | 20 | 21 | String 22 | 23 | 24 | 25 | 26 | 27 | 28 | ТекстСКД 29 | 30 | ru 31 | Текст СКД 32 | 33 | 34 | String 35 | 36 | 37 | 38 | 39 | 40 | 41 | Результат 42 | 43 | ru 44 | Результат 45 | 46 | 47 | SpreadsheetDocument 48 | 49 | 50 | 51 | 52 | 53 | ТипГенератора 54 | 55 | ru 56 | Тип генератора 57 | 58 | 59 | String 60 | 61 | 100 62 | 63 | 64 | 65 | 66 | 67 | 68 | РезультатJSON 69 | 70 | ru 71 | Результат JSON 72 | 73 | 74 | String 75 | 76 | 77 | 78 | 79 | 80 | 81 | Форма 82 | 83 | ru 84 | Форма 85 | 86 | PersonalComputer 87 | MobileDevice 88 | 89 | 90 | Схема1 91 | 92 | ru 93 | Схема1 94 | 95 | DataCompositionSchema 96 | 97 | 98 | ДемоОборотноСальдоваяВедомость 99 | 100 | ru 101 | Демо оборотно сальдовая ведомость 102 | 103 | DataCompositionSchema 104 | 105 | 106 | ДемоОтчетПоСчетамНаОплатуГлобальный 107 | 108 | ru 109 | Демо отчет по счетам на оплату глобальный 110 | 111 | DataCompositionSchema 112 | 113 | 114 | ДемоВыводДереваЗначений 115 | 116 | ru 117 | Демо вывод дерева значений 118 | 119 | TextDocument 120 | 121 | 122 | ДемоВыводТаблицыЗначений 123 | 124 | ru 125 | Демо вывод таблицы значений 126 | 127 | TextDocument 128 | 129 | 130 | -------------------------------------------------------------------------------- /src/StyleItems/ЦветПодписи/ЦветПодписи.mdo: -------------------------------------------------------------------------------- 1 | 2 | 3 | ЦветПодписи 4 | 5 | ru 6 | Цвет подписи 7 | 8 | 9 | 10 | 28 11 | 85 12 | 174 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/Subsystems/KASL/KASL.mdo: -------------------------------------------------------------------------------- 1 | 2 | 3 | KASL 4 | 5 | ru 6 | Библиотека подсистем КА 7 | 8 | true 9 | true 10 | Конструкторы 11 | 12 | -------------------------------------------------------------------------------- /src/Subsystems/KASL/Subsystems/Конструкторы/Subsystems/КонструкторМоделиОтчета/КонструкторМоделиОтчета.mdo: -------------------------------------------------------------------------------- 1 | 2 | 3 | КонструкторМоделиОтчета 4 | 5 | ru 6 | Конструктор модели отчета 7 | 8 | true 9 | true 10 | DataProcessor.КонструкторМоделиОтчета 11 | Subsystem.KASL.Subsystem.Конструкторы 12 | 13 | -------------------------------------------------------------------------------- /src/Subsystems/KASL/Subsystems/Конструкторы/Конструкторы.mdo: -------------------------------------------------------------------------------- 1 | 2 | 3 | Конструкторы 4 | 5 | ru 6 | Конструкторы 7 | 8 | true 9 | true 10 | 11 | StdPicture.QueryWizard 12 | 13 | КонструкторМоделиОтчета 14 | Subsystem.KASL 15 | 16 | --------------------------------------------------------------------------------