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

Печатная форма документа на печать выводится 2 раза

Автор Space_minus, 29 июл 2016, 10:55

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

Space_minus

Здравствуйте все! Есть ПФ документа,она выводится в 2-х экземплярах, не могу понять в чем дело.....

И выводит вот так:


&НаСервере
Функция ПечатьДвухстороннийДоговор (МассивОбъектов,ОбъектыПечати)
ТабДок = Новый ТабличныйДокумент;
ТабДок.АвтоМасштаб = Истина;
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;


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

Запрос.УстановитьПараметр("МассивОбъектов",МассивОбъектов);
РезультатЗапроса = Запрос.Выполнить().Выбрать();     


Пока РезультатЗапроса.Следующий() Цикл
макет = ПолучитьМакет("ДоговорДвухсторонний");
НомерСтрокиНачало = ТабДок.ВысотаТаблицы + 1;

ОбластьМакета=макет.ПолучитьОбласть("Шапка");
ОбластьМакета.Параметры.Заполнить(РезультатЗапроса);
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац1");
ОбластьМакета.Параметры.Абзац1 = "          Государственное бюджетное профессиональное образовательное учреждение Республики Хакасия «Хакасский политехнический колледж» на основании лицензии серии "+РезультатЗапроса.НомерЛицензии+", выданной "+РезультатЗапроса.КемЛицензирована+"  "+Формат(РезультатЗапроса.ДатаЛицензии,"ДФ=dd.MM.yyyy")+" (бессрочно), в лице "+РезультатЗапроса.ДолжностьВПадеже+" "+РезультатЗапроса.ОтветственныйФИО+", действующего на основании доверенности "+РезультатЗапроса.НомерДоверености+" от  "+Формат(РезультатЗапроса.ДатаДоверености,"ДФ=dd.MM.yyyy")+" года, (далее - Исполнитель), с одной стороны и";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Пункт1");
ОбластьМакета.Параметры.Заполнить(РезультатЗапроса);
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац2");
ОбластьМакета.Параметры.Абзац2 = "          1.1. Исполнитель предоставляет образовательные услуги, а Заказчик оплачивает обучение на курсах по образовательной программе "+РезультатЗапроса.ПолнНаимОбрПрогр+" по очной форме обучения.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац3");
ОбластьМакета.Параметры.Абзац3 = "          1.2. Нормативный срок освоения по данной образовательной программе составляет "+РезультатЗапроса.НормСрок+" часов.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац4");
ОбластьМакета.Параметры.Абзац4 = "          1.3. Срок обучения в соответствии с учебным планом составляет "+РезультатЗапроса.СрокОбуч+" часов, согласно календарного учебного графика.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац5");
ОбластьМакета.Параметры.Абзац5 = "          1.4. После прохождения Заказчиком полного курса обучения и успешной сдачи квалификационного экзамена ему выдается документ установленного образца, при условии оплаты оказанных услуг.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Пункт2");
ОбластьМакета.Параметры.Заполнить(РезультатЗапроса);
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац6");
ОбластьМакета.Параметры.Абзац6 = "          2.1. Исполнитель вправе самостоятельно осуществлять образовательный процесс, выбирать системы оценок, формы и порядок проверки знаний Заказчика, применять к нему меры поощрения и налагать  взыскания  в  пределах, предусмотренных Уставом Исполнителя, а также в соответствии с локальными нормативными актами Исполнителя.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац7");
ОбластьМакета.Параметры.Абзац7 = "          2.2.  Заказчик  вправе требовать от Исполнителя предоставления информации   по  вопросам  организации  и обеспечения  надлежащего исполнения услуг, предусмотренных разделом 1 настоящего Договора.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац8");
ОбластьМакета.Параметры.Абзац8 = "          2.3. Заказчик вправе:";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац9");
ОбластьМакета.Параметры.Абзац9 = "          обращаться к персоналу Исполнителя по вопросам, касающимся процесса обучения в образовательном учреждении;";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац10");
ОбластьМакета.Параметры.Абзац10 = "          получать полную и достоверную информацию об оценке своих знаний, умений и навыков, а также о критериях этой оценки;";
ТабДок.Вывести(ОбластьМакета);

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

ОбластьМакета = Макет.ПолучитьОбласть("Абзац12");
ОбластьМакета.Параметры.Абзац12 = "          пользоваться дополнительными образовательными услугами, предоставляемыми Исполнителем и не входящими в учебную программу, на основании отдельно заключенного договора;";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац13");
ОбластьМакета.Параметры.Абзац13 = "          принимать  участие в социально-культурных, оздоровительных и т.п. мероприятиях, организованных Исполнителем.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Пункт3");
ОбластьМакета.Параметры.Заполнить(РезультатЗапроса);
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац14");
ОбластьМакета.Параметры.Абзац14 = "          3.1. Зачислить Заказчика, выполнившего установленные Уставом и иными локальными нормативными актами Исполнителя условия приема.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац15");
ОбластьМакета.Параметры.Абзац15 = "          3.2. Организовать и обеспечить надлежащее исполнение услуг, предусмотренных в разделе 1 настоящего Договора. Образовательные услуги оказываются в соответствии с рабочим учебным планом, разрабатываемым Исполнителем.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац16");
ОбластьМакета.Параметры.Абзац16 = "          3.3. Создать Заказчику необходимые условия для освоения выбранной образовательной программы.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац17");
ОбластьМакета.Параметры.Абзац17 = "          3.4. Проявлять  уважение к личности Заказчика, не допускать физического и психологического насилия, обеспечить условия укрепления нравственного, физического и психологического здоровья, эмоционального благополучия Заказчика с учетом его индивидуальных особенностей.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Пункт4");
ОбластьМакета.Параметры.Заполнить(РезультатЗапроса);
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац18");
ОбластьМакета.Параметры.Абзац18 = "          4.1. Своевременно  (раздел 5 Договора) вносить плату за предоставляемые услуги, указанные в разделе 1 настоящего Договора.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац19");
ОбластьМакета.Параметры.Абзац19 = "          4.2. Заранее извещать Исполнителя о неявке на занятия.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац20");
ОбластьМакета.Параметры.Абзац20 = "          4.3. Проявлять уважение к научно-педагогическому, инженерно-техническому, административно-хозяйственному, учебно-вспомогательному и иному персоналу Исполнителя.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац21");
ОбластьМакета.Параметры.Абзац21 = "          4.4. Возмещать ущерб, причиненный  имуществу Исполнителя, в соответствии с законодательством Российской Федерации.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац22");
ОбластьМакета.Параметры.Абзац22 = "          4.5. Посещать занятия, указанные в учебном расписании.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац23");
ОбластьМакета.Параметры.Абзац23 = "          4.6. Выполнять задания по подготовке к занятиям, даваемые педагогическими работниками и мастерами производственного обучения Исполнителя.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац24");
ОбластьМакета.Параметры.Абзац24 = "          4.7. Соблюдать требования Устава Исполнителя, Правил внутреннего распорядка и иных локальных нормативных актов, соблюдать учебную дисциплину и общепринятые нормы поведения, в частности, проявлять уважение к научно-педагогическому, инженерно-техническому, административно-хозяйственному, учебно-вспомогательному и иному персоналу Исполнителя и другим обучающимся, не посягать на их честь и достоинство.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац25");
ОбластьМакета.Параметры.Абзац25 = "          4.8. Бережно относиться к имуществу Исполнителя.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац26");
ОбластьМакета.Параметры.Абзац26 = "          4.9. Соблюдать нормы, правила техники безопасности и пожарной безопасности.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац27");
ОбластьМакета.Параметры.Абзац27 = "          4.10. При отработке упражнений по вождению проводить контрольный осмотр транспортного средства и выполнять работы по ежедневному обслуживанию.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац28");
ОбластьМакета.Параметры.Абзац28 = "          4.11. Выполнять все требования к результатам освоения выбранной профессии.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Пункт5");
ОбластьМакета.Параметры.Заполнить(РезультатЗапроса);
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац29");
ОбластьМакета.Параметры.Абзац29 = "          5.1. Стоимость образовательных услуг по настоящему Договору составляет "+РезультатЗапроса.Стоимость+" "+ЧислоПрописью(РезультатЗапроса.Стоимость,,"Рубль,рубля,рублей,м,копейка,копейки,копеек,ж,2")+" (с учётом ГСМ). НДС не облагается.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац30");
ОбластьМакета.Параметры.Абзац30 = "          Оплата услуг производится Заказчиком путем внесения наличных денежных средств в кассу Заказчика.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац31");
ОбластьМакета.Параметры.Абзац31 = "          Оплата услуг удостоверяется Заказчиком путем предоставления Исполнителю соответствующего документа подтверждающего оплату Заказчика.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац32");
ОбластьМакета.Параметры.Абзац32 = "          5.2. Оплата услуг, предусмотренная настоящим разделом, может быть изменена по соглашению сторон, о чем составляется дополнение к настоящему договору.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Пункт6");
ОбластьМакета.Параметры.Заполнить(РезультатЗапроса);
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац33");
ОбластьМакета.Параметры.Абзац33 = "          6.1. Условия, на которых заключен настоящий Договор, могут быть изменены либо по соглашению сторон, либо в соответствии с действующим законодательством Российской Федерации.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац34");
ОбластьМакета.Параметры.Абзац34 = "          6.2. Настоящий Договор может быть расторгнут по соглашению сторон.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац35");
ОбластьМакета.Параметры.Абзац35 = "          6.3. Заказчик вправе в любое время расторгнуть настоящий договор, при условии оплаты Заказчиком Исполнителю фактически понесенных им расходов.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац36");
ОбластьМакета.Параметры.Абзац36 = "          6.4. Исполнитель вправе отказаться от исполнения обязательств по Договору лишь при условии полного возмещения Заказчику убытков.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Пункт7");
ОбластьМакета.Параметры.Заполнить(РезультатЗапроса);

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

ОбластьМакета = Макет.ПолучитьОбласть("Абзац37");
ОбластьМакета.Параметры.Абзац37 = "          7.1. В случае неисполнения или ненадлежащего исполнения сторонами обязательств по настоящему Договору они несут ответственность, предусмотренную Гражданским кодексом Российской Федерации, федеральными законами и иными нормативными правовыми актами.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац38");
ОбластьМакета.Параметры.Абзац38 = "          7.2. Заказчик возмещает убытки Исполнителю, в сумме – в пределах оплаты простоя  мастера производственного обучения, в случае не явки Заказчика на занятия по практическому вождению без заведомого предупреждения об этом Исполнителя.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Пункт8");
ОбластьМакета.Параметры.Заполнить(РезультатЗапроса);
ТабДок.Вывести(ОбластьМакета);


ОбластьМакета = Макет.ПолучитьОбласть("Абзац39");
ОбластьМакета.Параметры.Абзац39 = "          8.1. Настоящий Договор вступает в силу со дня его заключения сторонами и действует до исполнения Сторонами обязательств по настоящему договору.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Абзац40");
ОбластьМакета.Параметры.Абзац40 = "          8.2. Договор составлен в двух экземплярах, имеющих равную юридическую силу.";
ТабДок.Вывести(ОбластьМакета);

ОбластьМакета = Макет.ПолучитьОбласть("Пункт9");
ОбластьМакета.Параметры.Заполнить(РезультатЗапроса);
ТабДок.Вывести(ОбластьМакета);

УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДок,
НомерСтрокиНачало, ОбъектыПечати, РезультатЗапроса.Ссылка);



КонецЦикла;
Возврат ТабДок;
КонецФункции // ПечатьДвухстороннийДоговор()





cska-fanat-kz

запрос - подозрительный

проверяйте, что у него на выходе,
вангую: 2 строки.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Kironten

Скорее всего когда левые соединения с контактной информацией идут, получаются задвоения.
Типы указаны (телефон, адрес), а вот вид(ФизАдрес, ЮрАдрес, ТелефонРабочий, телефонДомашний и т.д) это нет. Вот и получается, что если к примеру у Организации будет указан и физический и юридический адреса, то обязательно получишь минимум две строки на выходе из запроса.

Space_minus

Цитата: Kironten от 29 июл 2016, 11:50
Скорее всего когда левые соединения с контактной информацией идут, получаются задвоения.
Типы указаны (телефон, адрес), а вот вид(ФизАдрес, ЮрАдрес, ТелефонРабочий, телефонДомашний и т.д) это нет. Вот и получается, что если к примеру у Организации будет указан и физический и юридический адреса, то обязательно получишь минимум две строки на выходе из запроса.
Да, я указывал только тип...  Спосибо, буду в ту сторону смотреть!
Добавлено: 29 июл 2016, 12:18


Цитата: Space_minus от 29 июл 2016, 12:02
Цитата: Kironten от 29 июл 2016, 11:50
Скорее всего когда левые соединения с контактной информацией идут, получаются задвоения.
Типы указаны (телефон, адрес), а вот вид(ФизАдрес, ЮрАдрес, ТелефонРабочий, телефонДомашний и т.д) это нет. Вот и получается, что если к примеру у Организации будет указан и физический и юридический адреса, то обязательно получишь минимум две строки на выходе из запроса.
Да, я указывал только тип...  А вот как мне узнать значение  .ВИД
Вот в другом документе нашел строку 
=ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.АбитуриентАдресПоПрописке)
но она не подходит в этот запрос
Добавлено: 29 июл 2016, 12:19


ой, что наделал! Процитировал себя :))

Kironten

Как вам говорили ранее:
Возьмите отладчик, поставьте точку на выходе из запроса и посмотрите чем отличаются эти ваши 2 строки результата запроса.
Вот чем они отличаются, там и ставьте условие.
А вообще реально с таким запросом вы потом проблемы получите.
Например, у вас выводятся все банковские счета и ответственные лица без каких-либо отборов. Представьте, что организация заведет еще пару счетов для расчетов, и добавит кроме ген дира в ответственные лица еще и глав буха. И вуаля - 3 счета + 2 отв лица + 1 физ лицо из документа - вы уже получите 6(шесть!) экземпляров напечатанных договоров.
Ну а то, что касается контактной информации, я уже писал выше.
Структура хранения её нам неизвестна, поэтому и какие отборы неё надо ставить, только вы знаете. В типовых решениях это Тип и Вид контактной информации.

cska-fanat-kz

Цитата: Kironten от 29 июл 2016, 12:31Например, у вас выводятся все банковские счета и ответственные лица без каких-либо отборов. Представьте, что организация заведет еще пару счетов для расчетов, и добавит кроме ген дира в ответственные лица еще и глав буха. И вуаля - 3 счета + 2 отв лица + 1 физ лицо из документа - вы уже получите 6(шесть!) экземпляров напечатанных договоров.

далеко не 6,
а все возможные комбинации.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Kironten

Цитата: cska-fanat-kz от 29 июл 2016, 12:41
Цитата: Kironten от 29 июл 2016, 12:31Например, у вас выводятся все банковские счета и ответственные лица без каких-либо отборов. Представьте, что организация заведет еще пару счетов для расчетов, и добавит кроме ген дира в ответственные лица еще и глав буха. И вуаля - 3 счета + 2 отв лица + 1 физ лицо из документа - вы уже получите 6(шесть!) экземпляров напечатанных договоров.

далеко не 6,
а все возможные комбинации.
Да не. При таком раскладе как сейчас запрос, будет именно 6.
Одна валюта, два счета, три ответственных. (по одной организации).  :)

Klyacksa

Укажите связи между таблицами, иначе это действительно чревато. Если связей нет, то запрос строит результат по принципу "все со всеми", между тремя таблицами. У вас только в самом конце ненужные строки выкидываются условием
ГДЕ
|    КонтрактНаОбучение.Ссылка В(&МассивОбъектов)
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

cska-fanat-kz

Цитата: Kironten от 29 июл 2016, 13:05Да не. При таком раскладе как сейчас запрос, будет именно 6.
Одна валюта, два счета, три ответственных. (по одной организации).

действительно 6. вот только не потому что 1+2+3=6, а потому что 1*2*3=6
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Kironten

Цитата: cska-fanat-kz от 29 июл 2016, 14:39
Цитата: Kironten от 29 июл 2016, 13:05Да не. При таком раскладе как сейчас запрос, будет именно 6.
Одна валюта, два счета, три ответственных. (по одной организации).

действительно 6. вот только не потому что 1+2+3=6, а потому что 1*2*3=6
Ну это другой разговор, что по счастливому стечению обстоятельств, так сложилось :D

Теги:

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

Рейтинг@Mail.ru

Поиск