8.х Ошибка выполнения запроса (не допускается обращение к табличным частям)

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Mosc, 17 мар 2016.

  1. TopicStarter Overlay
    Mosc
    Offline

    Mosc

    Регистрация:
    17 мар 2016
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Добрый день, уважаемые ГУРУ.
    Просьба помочь разобраться с кодом. Загвоздка в следующем:
    Под полными правами формируется без вопросов.
    Код:
        ДатаКонца = ДатаНачала;
        // Определим дату конца
        Выборка = ГруппировкиСтрок1.Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, мНазваниеПериода);
        Пока Выборка.Следующий() цикл
            ТекДата = Выборка[мНазваниеПериода];
            Если ТекДата >= ДатаНачала тогда
                Если ТекДата > ДатаКонца тогда
                    ДатаКонца = ТекДата; // Дата конца как максимальная дата в запросе
                КонецЕсли;
                // На остаток влияют только размещенные заявки
                Остатки[ТекДата] = Выборка.Сумма;
            КонецЕсли;
        КонецЦикла;
        Выборка = ГруппировкиСтрок2.Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, мНазваниеПериода);
        Пока Выборка.Следующий() цикл
            ТекДата = Выборка[мНазваниеПериода];
            Если ТекДата >= ДатаНачала тогда
                Если ТекДата > ДатаКонца тогда
                    ДатаКонца = ТекДата; // Дата конца как максимальная дата в запросе
                КонецЕсли;
                Если Остатки[ТекДата] = Неопределено тогда
                    Остатки[ТекДата] = 0;
                КонецЕсли;
            КонецЕсли;
        КонецЦикла;
        
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    запрос в студию
  3. TopicStarter Overlay
    Mosc
    Offline

    Mosc

    Регистрация:
    17 мар 2016
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Код:
    Запрос = Новый Запрос();
        Запрос.УстановитьПараметр("Дата", ДатаНачала);
       
        Сегодня = ПолучитьНачалоПериода(ТекущаяДата(), Периодичность);
       
        // Скомпануем периоды
        ТекДата = ДатаНачала;
        Пока ТекДата <= ДатаКонца цикл
            // Только значимые периоды
            Если Остатки[ТекДата] <> Неопределено
                ИЛИ ПланПоступления[ТекДата] <> Неопределено тогда
                КоличествоПоказателей = КоличествоПоказателей + 1;
               
                // Заполним периоды
                Если Остатки[ТекДата] = Неопределено тогда
                    Остатки[ТекДата] = 0;
                КонецЕсли;
                Если ПланПоступления[ТекДата] = Неопределено тогда
                    ПланПоступления[ТекДата] = 0;
                КонецЕсли;
                ОстаткиДС[ТекДата] = 0;
                МассивДат.Добавить(ТекДата);
            ИначеЕсли ТекДата = Сегодня тогда
                КоличествоПоказателей = КоличествоПоказателей + 1;
                Если Остатки[ТекДата] = Неопределено тогда
                    Остатки[ТекДата] = 0;
                КонецЕсли;
                Если ПланПоступления[ТекДата] = Неопределено тогда
                    ПланПоступления[ТекДата] = 0;
                КонецЕсли;
                ОстаткиДС[ТекДата] = 0;
                МассивДат.Добавить(ТекДата);
            КонецЕсли;
            ТекДата = ДобавитьПериод(ТекДата, 1, Периодичность);
        КонецЦикла;
       
        КоличествоКолонок = КоличествоКолонок + 1;
       
        МассивГруппировок1 = Новый Массив();
        Для каждого Группировка из ГруппировкиСтрок1.ИзмеренияСтроки цикл
            Если Группировка.Имя <> "БанковскийСчетКасса" тогда
                МассивГруппировок1.Добавить(Группировка.Имя);
            КонецЕсли;
        КонецЦикла;
        МассивГруппировок1.Добавить("Заявка");
        МассивГруппировок2 = Новый Массив();
        Для каждого Группировка из ГруппировкиСтрок2.ИзмеренияСтроки цикл
            МассивГруппировок2.Добавить(Группировка.Имя);
        КонецЦикла;
        МассивГруппировок2.Добавить("Заявка");
       
       
        Для Кол = 1 по КоличествоКолонок + КоличествоПоказателей - 1 цикл
            МакетОтчета.ВставитьОбласть(ОбластьШапкаТаблицыКолонка, ОбластьШапкаТаблицыКолонка, ТипСмещенияТабличногоДокумента.ПоГоризонтали);
            МакетОтчета.ВставитьОбласть(ОбластьСтрокаТаблицыКолонка, ОбластьСтрокаТаблицыКолонка, ТипСмещенияТабличногоДокумента.ПоГоризонтали);
            МакетОтчета.ВставитьОбласть(ОбластьГруппаТаблицыКолонка, ОбластьГруппаТаблицыКолонка, ТипСмещенияТабличногоДокумента.ПоГоризонтали);
        КонецЦикла;
       
        Для Кол = 1 по МассивКолонок.Количество() цикл
            Колонка = МассивКолонок[Кол - 1];
            Область = МакетОтчета.Область(ОбластьШапкаТаблицыНачало.Верх, Кол + 1, ОбластьШапкаТаблицыНачало.Верх, Кол + 1);
            Область.Текст = ПолучитьПоследнееПредставление(Колонка.Представление);
            Область.ШиринаКолонки = 20;
            Если Колонка.Имя = "ЕстьФайлДоговора"
                ИЛИ Колонка.Имя = "ЕстьФайлГарантийногоПисьма"
                ИЛИ Колонка.Имя = "ЕстьФайлСчета" тогда
                Область.ШиринаКолонки = 10;
            КонецЕсли;
            Область = МакетОтчета.Область(ОбластьСтрокаТаблицыНачало.Верх, Кол + 1, ОбластьСтрокаТаблицыНачало.Верх, Кол + 1);
            Область.Заполнение = ТипЗаполненияОбластиТабличногоДокумента.Параметр;
            Область.Параметр = Колонка.Имя;
            Область.РазмещениеТекста = ТипРазмещенияТекстаТабличногоДокумента.Переносить;
            Если Колонка.Имя = "ЕстьФайлДоговора"
                ИЛИ Колонка.Имя = "ЕстьФайлГарантийногоПисьма"
                ИЛИ Колонка.Имя = "ЕстьФайлСчета" тогда
                Область.ПараметрРасшифровки = "Расшифровка" + Колонка.Имя;
            КонецЕсли;
            Область = МакетОтчета.Область(ОбластьГруппаТаблицыНачало.Верх, Кол + 1, ОбластьГруппаТаблицыНачало.Верх, Кол + 1);
            Область.Заполнение = ТипЗаполненияОбластиТабличногоДокумента.Текст;
            Область.Текст = "";
        КонецЦикла;
        Область = МакетОтчета.Область(ОбластьШапкаТаблицыНачало.Верх, КоличествоКолонок + 1, ОбластьШапкаТаблицыНачало.Верх, КоличествоКолонок + 1);
        Область.Текст = "Просроченные";
        Область.ШиринаКолонки = 15;
        Область = МакетОтчета.Область(ОбластьСтрокаТаблицыНачало.Верх, КоличествоКолонок + 1, ОбластьСтрокаТаблицыНачало.Верх, КоличествоКолонок + 1);
        Область.Заполнение = ТипЗаполненияОбластиТабличногоДокумента.Параметр;
        Область.Параметр = "СуммаПросроченных";
        Область = МакетОтчета.Область(ОбластьГруппаТаблицыНачало.Верх, КоличествоКолонок + 1, ОбластьГруппаТаблицыНачало.Верх, КоличествоКолонок + 1);
        Область.Заполнение = ТипЗаполненияОбластиТабличногоДокумента.Параметр;
        Область.Параметр = "СуммаПросроченных";
        Для Кол = 1 по КоличествоПоказателей цикл
            Дата = МассивДат[Кол - 1];
            Область = МакетОтчета.Область(ОбластьШапкаТаблицыНачало.Верх, КоличествоКолонок + Кол + 1, ОбластьШапкаТаблицыНачало.Верх, КоличествоКолонок + Кол + 1);
            Область.Текст = ПолучитьПредставлениеПериода(Дата, Периодичность);
            Область.ШиринаКолонки = 15;
            Область = МакетОтчета.Область(ОбластьСтрокаТаблицыНачало.Верх, КоличествоКолонок + Кол + 1, ОбластьСтрокаТаблицыНачало.Верх, КоличествоКолонок + Кол + 1);
            Область.Заполнение = ТипЗаполненияОбластиТабличногоДокумента.Параметр;
            Область.Параметр = "Сумма" + Формат(Дата, "ДФ=yyyyMMdd");
            Область = МакетОтчета.Область(ОбластьГруппаТаблицыНачало.Верх, КоличествоКолонок + Кол + 1, ОбластьГруппаТаблицыНачало.Верх, КоличествоКолонок + Кол + 1);
            Область.Заполнение = ТипЗаполненияОбластиТабличногоДокумента.Параметр;
            Область.Параметр = "Сумма" + Формат(Дата, "ДФ=yyyyMMdd");
        КонецЦикла;
       
        ОбластьШапкаТаблицы = МакетОтчета.ПолучитьОбласть("ШапкаТаблицы");
        ОбластьСтрокаТаблицы = МакетОтчета.ПолучитьОбласть("СтрокаТаблицы");
        ОбластьГруппаТаблицы = МакетОтчета.ПолучитьОбласть("ГруппаТаблицы");
       
        ТабличныйДокумент.Вывести(ОбластьШапкаТаблицы);
        ТабличныйДокумент.ФиксацияСверху = ТабличныйДокумент.ВысотаТаблицы;
        ТабличныйДокумент.ФиксацияСлева = 1;
       
        // Остаток ДС
       
        ПостроительЗапроса = Новый ПостроительЗапроса();
        ПостроительЗапроса.Текст =
        "ВЫБРАТЬ
        |    ДенежныеСредстваОстатки.СуммаОстаток КАК СуммаОстаток,
        |    ДенежныеСредстваОстатки.БанковскийСчетКасса КАК БанковскийСчетКасса
        |ИЗ
        |    РегистрНакопления.ДенежныеСредства.Остатки(&Дата, ) КАК ДенежныеСредстваОстатки
        |{УПОРЯДОЧИТЬ ПО
        |    БанковскийСчетКасса.*}
        |ИТОГИ
        |    СУММА(СуммаОстаток)
        |ПО
        |    ОБЩИЕ,
        |    БанковскийСчетКасса";
        ПостроительЗапроса.Параметры.Вставить("Дата", ТекущаяДата());
        Для каждого Порядок из ПостроительОтчета.Порядок цикл
            Если Лев(Порядок.ПутьКДанным, 19) = "БанковскийСчетКасса" тогда
                ПостроительЗапроса.Порядок.Добавить(Порядок.ПутьКДанным);
            КонецЕсли;
        КонецЦикла;
        ПостроительЗапроса.Выполнить();
       
        РезультатОстаткиДС = ПостроительЗапроса.Результат;
        ВыборкаОбщие = РезультатОстаткиДС.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Общие");
        ОстатокДС = 0;
        Если ВыборкаОбщие.Следующий() тогда
            ОстатокДС = ВыборкаОбщие.СуммаОстаток;
            Выборка = ВыборкаОбщие.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "БанковскийСчетКасса");
            Пока Выборка.Следующий() цикл
                ОстаткиДССчетов[Выборка.БанковскийСчетКасса] = Выборка.СуммаОстаток;
            КонецЦикла;
        КонецЕсли;
       
        ОбластьГруппаТаблицы.Параметры.Наименование = "Остаток ДС по всем счетам";
        Для каждого ТекДата из МассивДат цикл
            Сумма = ОстатокДС;
            ОстаткиДС[ТекДата] = Сумма;
            ОбластьГруппаТаблицы.Параметры["Сумма" + Формат(ТекДата, "ДФ=yyyyMMdd")] = Сумма;
           
            ОстатокДС = ОстатокДС + ПланПоступления[ТекДата] - Остатки[ТекДата];
            Остатки[ТекДата] = Сумма;
        КонецЦикла;
        ТабличныйДокумент.Вывести(ОбластьГруппаТаблицы);
       
        // Заявки на расход
       
        ПоказыватьОстатки1 = Новый Соответствие();
        Для каждого СтрокаТаблицы из ДопНастройкиГруппировок1 цикл
            Если СтрокаТаблицы.ПоказыватьОстаток тогда
                ПоказыватьОстатки1.Вставить(СтрокаТаблицы.Имя, СтрокаТаблицы.ПоказыватьОстаток);
            КонецЕсли;
        КонецЦикла;
        ПоказыватьОстатки2 = Новый Соответствие();
        Для каждого СтрокаТаблицы из ДопНастройкиГруппировок2 цикл
            Если СтрокаТаблицы.ПоказыватьОстаток тогда
                ПоказыватьОстатки2.Вставить(СтрокаТаблицы.Имя, СтрокаТаблицы.ПоказыватьОстаток);
            КонецЕсли;
        КонецЦикла;
       
        ТабличныйДокумент.НачатьАвтогруппировкуСтрок();
       
        СтруктураПараметров = Новый Структура();
        СтруктураПараметров.Вставить("ОбластьСтрокаТаблицы", ОбластьСтрокаТаблицы);
        СтруктураПараметров.Вставить("ОбластьГруппаТаблицы", ОбластьГруппаТаблицы);
        СтруктураПараметров.Вставить("МассивКолонок", МассивКолонок);
        СтруктураПараметров.Вставить("МассивДат", МассивДат);
        СтруктураПараметров.Вставить("ДатаНачала", ДатаНачала);
        СтруктураПараметров.Вставить("Остатки", Остатки);
        СтруктураПараметров.Вставить("ПоказыватьОстатки", ПоказыватьОстатки1);
       
        СписокУчтенныхСчетов = Новый Соответствие();
        ВыборкаПоСчету = ГруппировкиСтрок1.Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "БанковскийСчетКасса");
        Пока ВыборкаПоСчету.Следующий() цикл
           
            СписокУчтенныхСчетов[ВыборкаПоСчету.БанковскийСчетКасса] = Истина;
           
            ОбластьГруппаТаблицы.Параметры.Наименование = ВыборкаПоСчету.БанковскийСчетКасса;
            ОбластьГруппаТаблицы.Область("СтрокаНаименование1").Отступ = 0;
            ОбластьГруппаТаблицы.Параметры.СуммаПросроченных = 0;
            Остаток = ОстаткиДССчетов[ВыборкаПоСчету.БанковскийСчетКасса];
            // Временные остатки (в рамках счета)
            ОстаткиНач = Новый Соответствие();
            ОстаткиКон = Новый Соответствие();
            Если Остаток = Неопределено тогда
                Остаток = 0;
            КонецЕсли;
            ВыборкаДат = ВыборкаПоСчету.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, мНазваниеПериода);
            Для каждого ТекДата из МассивДат цикл
                ОбластьГруппаТаблицы.Параметры["Сумма" + Формат(ТекДата, "ДФ=yyyyMMdd")] = Остаток;
                ОстаткиНач[ТекДата] = Остаток;
                ОстаткиКон[ТекДата] = Остаток;
                Если ВыборкаДат.НайтиСледующий(ТекДата, мНазваниеПериода) тогда
                    Остаток = Остаток - ВыборкаДат.Сумма;
                КонецЕсли;
            КонецЦикла;
            ОстаткиДССчетов[ВыборкаПоСчету.БанковскийСчетКасса] = Остаток;
            ТабличныйДокумент.Вывести(ОбластьГруппаТаблицы, 0);
           
            СтруктураПараметров.Вставить("Остатки", ОстаткиКон);
       
            ОбластьГруппаТаблицы.Параметры.Наименование = "Размещенные заявки";
            ОбластьГруппаТаблицы.Область("СтрокаНаименование1").Отступ = 2;
            ОбластьГруппаТаблицы.Параметры.СуммаПросроченных = 0;
            ВыборкаДат = ВыборкаПоСчету.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, мНазваниеПериода);
            Для каждого ТекДата из МассивДат цикл
                ОбластьГруппаТаблицы.Параметры["Сумма" + Формат(ТекДата, "ДФ=yyyyMMdd")] = 0;
                Если ВыборкаДат.НайтиСледующий(ТекДата, мНазваниеПериода) тогда
                    ОбластьГруппаТаблицы.Параметры["Сумма" + Формат(ТекДата, "ДФ=yyyyMMdd")] = ВыборкаДат.Сумма;
                КонецЕсли;
            КонецЦикла;
            ТабличныйДокумент.Вывести(ОбластьГруппаТаблицы, 1);
            ВывестиОчереднойУровеньОтчета(ТабличныйДокумент, ВыборкаПоСчету.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, МассивГруппировок1[0]), СтруктураПараметров, МассивГруппировок1, 0, 1);
           
            Для каждого ТекДата из МассивДат цикл
                Остатки[ТекДата] = Остатки[ТекДата] + ОстаткиКон[ТекДата] - ОстаткиНач[ТекДата];
            КонецЦикла;
           
            // Остаток
            Для каждого Колонка из МассивКолонок цикл
                ОбластьСтрокаТаблицы.Параметры[Колонка.Имя] = Неопределено;
            КонецЦикла;
            ОбластьСтрокаТаблицы.Область("СтрокаНаименование").Отступ = 2;
            ОбластьСтрокаТаблицы.Параметры.СуммаПросроченных = 0;
            ОбластьСтрокаТаблицы.Параметры.Наименование = "Остаток";
            //ВыборкаДат = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, мНазваниеПериода);
            Для каждого ТекДата из МассивДат цикл
                Сумма = ОстаткиКон[ТекДата];
                ОбластьСтрокаТаблицы.Параметры["Сумма" + Формат(ТекДата, "ДФ=yyyyMMdd")] = Сумма;
            КонецЦикла;
           
            ТабличныйДокумент.Вывести(ОбластьСтрокаТаблицы, 1);
        КонецЦикла;
        СтруктураПараметров.Вставить("Остатки", Остатки);
       
        // Выведем остатки по остальным счетам
        ВыборкаПоОстаткам = РезультатОстаткиДС.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "БанковскийСчетКасса");
        Пока ВыборкаПоОстаткам.Следующий() цикл
            Если СписокУчтенныхСчетов[ВыборкаПоОстаткам.БанковскийСчетКасса] = Неопределено тогда
                ОбластьГруппаТаблицы.Параметры.Наименование = ВыборкаПоОстаткам.БанковскийСчетКасса;
                ОбластьГруппаТаблицы.Область("СтрокаНаименование1").Отступ = 0;
                ОбластьГруппаТаблицы.Параметры.СуммаПросроченных = 0;
                Остаток = ОстаткиДССчетов[ВыборкаПоОстаткам.БанковскийСчетКасса];
                Если Остаток = Неопределено тогда
                    Остаток = 0;
                КонецЕсли;
                Для каждого ТекДата из МассивДат цикл
                    ОбластьГруппаТаблицы.Параметры["Сумма" + Формат(ТекДата, "ДФ=yyyyMMdd")] = Остаток;
                КонецЦикла;
                ОстаткиДССчетов[ВыборкаПоОстаткам.БанковскийСчетКасса] = Остаток;
                ТабличныйДокумент.Вывести(ОбластьГруппаТаблицы, 0);
            КонецЕсли;
        КонецЦикла;
       
        // Остаток по всем счетам
        Для каждого Колонка из МассивКолонок цикл
            ОбластьСтрокаТаблицы.Параметры[Колонка.Имя] = Неопределено;
        КонецЦикла;
        ОбластьСтрокаТаблицы.Область("СтрокаНаименование").Отступ = 0;
        ОбластьСтрокаТаблицы.Параметры.СуммаПросроченных = 0;
        ОбластьСтрокаТаблицы.Параметры.Наименование = "Остаток по всем счетам";
        Для каждого ТекДата из МассивДат цикл
            Сумма = Остатки[ТекДата];
            ОбластьСтрокаТаблицы.Параметры["Сумма" + Формат(ТекДата, "ДФ=yyyyMMdd")] = Сумма;
        КонецЦикла;
        ТабличныйДокумент.Вывести(ОбластьСтрокаТаблицы, 0);
           
        СтруктураПараметров.Вставить("ПоказыватьОстатки", ПоказыватьОстатки2);
        ОбластьГруппаТаблицы.Параметры.Наименование = "Неразмещенные заявки";
        ОбластьГруппаТаблицы.Область("СтрокаНаименование1").Отступ = 0;
        ОбластьГруппаТаблицы.Параметры.СуммаПросроченных = 0;
        Выборка = ГруппировкиСтрок2.Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ОБЩИЕ");
        Выборка.Следующий();
        ВыборкаДат = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, мНазваниеПериода);
        Для каждого ТекДата из МассивДат цикл
            ОбластьГруппаТаблицы.Параметры["Сумма" + Формат(ТекДата, "ДФ=yyyyMMdd")] = 0;
            Если ВыборкаДат.НайтиСледующий(ТекДата, мНазваниеПериода) тогда
                ОбластьГруппаТаблицы.Параметры["Сумма" + Формат(ТекДата, "ДФ=yyyyMMdd")] = ВыборкаДат.Сумма;
            КонецЕсли;
        КонецЦикла;
        ТабличныйДокумент.Вывести(ОбластьГруппаТаблицы, 0);
        Выборка = ГруппировкиСтрок2.Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "ОБЩИЕ");
        Если Выборка.Следующий() тогда
            ВывестиОчереднойУровеньОтчета(ТабличныйДокумент, Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, МассивГруппировок2[0]), СтруктураПараметров, МассивГруппировок2);
        КонецЕсли;
        ТабличныйДокумент.ЗакончитьАвтогруппировкуСтрок();
       
        // Остаток
        ОбластьСтрокаТаблицы.Область("СтрокаНаименование").Отступ = 0;
        Для каждого Колонка из МассивКолонок цикл
            ОбластьСтрокаТаблицы.Параметры[Колонка.Имя] = Неопределено;
        КонецЦикла;
        ОбластьСтрокаТаблицы.Параметры.СуммаПросроченных = 0;
        ОбластьСтрокаТаблицы.Параметры.Наименование = "Остаток";
        //ВыборкаДат = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, мНазваниеПериода);
        Для каждого ТекДата из МассивДат цикл
            Сумма = Остатки[ТекДата];
            ОбластьСтрокаТаблицы.Параметры["Сумма" + Формат(ТекДата, "ДФ=yyyyMMdd")] = Сумма;
        КонецЦикла;
        ТабличныйДокумент.Вывести(ОбластьСтрокаТаблицы);
  4. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    База какая? файловая?
    Mosc нравится это.
  5. TopicStarter Overlay
    Mosc
    Offline

    Mosc

    Регистрация:
    17 мар 2016
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Нет, SQL (Microsoft SQLServer)
  6. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Просто если файловая то можно было в привелигерованом запускать и без проблем.
    А вы можете отладчиком пройтись и посмтреть какой в коне запрос то получается уВас у посроителя и его прикрепить а не весь код

Поделиться этой страницей