Форум программистов, компьютерный форум, киберфорум
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,228
1
1C 8.x

Работа с запросом

26.10.2015, 15:09. Показов 1326. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день! Не могу понять почему не заполняется табличная часть ТП
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
    Запрос = Новый Запрос;
    ТекстЗапроса = "ВЫБРАТЬ
    |   ЗаявкаЕдиноеОкно.Дата КАК Период,
    |   ЗаявкаЕдиноеОкно.ТипЗаявки,
    |   ЗаявкаЕдиноеОкно.Причина,
    |   ЗаявкаЕдиноеОкно.Статус,
    |   ЗаявкаЕдиноеОкно.Номер
    |ИЗ
    |   Документ.ЗаявкаЕдиноеОкно КАК ЗаявкаЕдиноеОкно
    |ГДЕ
    |   ЗаявкаЕдиноеОкно.Статус = &Статус";
    
    Запрос.УстановитьПараметр("ФИО",ЭтаФорма.ЭлементыФормы.Ответственный.Значение);
    Запрос.УстановитьПараметр("Статус",Перечисления.СтатусЕдиноеОкно.Открыта);
    Запрос.Текст=ТекстЗапроса;
    Вывод=Запрос.Выполнить().Выбрать();
    Пока Вывод.Следующий() Цикл
        Дата = Формат(Вывод.Период,"ДФ='дд.ММ.гггг'");
        Для Каждого Стр Из ТП Цикл
            Стр.Дата = Дата;
            Стр.Информация = " " + "Заявка:" + " " + "№" + Вывод.Номер + Символы.ПС + " " + "Тип заявки:" + " " + Вывод.ТипЗаявки + Символы.ПС + " " + "Причина заявки:" + " " + Вывод.Причина;
        КонецЦикла;
    КонецЦикла;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.10.2015, 15:09
Ответы с готовыми решениями:

Работа с запросом
8,2 толстая. Конструктор запроса... Есть вложенный запрос,который выбирает данные...в том числе...

Работа с запросом
Почему в результате запроса по объекту выходят не все данные сразу. Объект один и тот же в...

работа с запросом
Здравствуйте. Интересует такой момент. В модуле формы документа реализации при создании нового...

Работа с запросом и ошибка "Ошибка при вызове метода контекста (Выполнить)"
Подскажите почему вылезает ошибка {Форма.ФормаОтчета.Форма(52)}: Ошибка при вызове метода...

16
Эксперт 1С
434 / 305 / 92
Регистрация: 28.05.2014
Сообщений: 1,247
26.10.2015, 15:52 2
Ermak27, результат запроса пустой?
0
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,228
26.10.2015, 15:56  [ТС] 3
Phil, вообще ничего не выводит, хотя данные есть
0
Эксперт 1С
434 / 305 / 92
Регистрация: 28.05.2014
Сообщений: 1,247
26.10.2015, 16:29 4
Ermak27,
Запрос.УстановитьПараметр("ФИО",ЭтаФорма.ЭлементыФормы.Ответственный.Значение);
Запрос.УстановитьПараметр("Статус",Перечисления.СтатусЕдиноеОкно.Открыта);

а без параметров? Сузить нужно поиск. Убирай параметры и добавляй по одному. И где в запросе параметр ФИО используется?

Добавлено через 4 минуты
и где описание что такое ТП?
0
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,228
26.10.2015, 16:40  [ТС] 5
Phil, Параметры убрал, все равно не работает.
ТП - эта табличная часть

Добавлено через 2 минуты
Phil, по отладчику посмотрел почему то не заходит в цикл Для Каждого Стр Из ТП Цикл, мимо его обходит, почему?
0
Эксперт 1С
434 / 305 / 92
Регистрация: 28.05.2014
Сообщений: 1,247
26.10.2015, 16:41 6
Ermak27, ТП - Табличная часть документа? Что должно произойти? мы перезаписываем объект, тогда где мы его получаем и сохраняем после изменения реквизитов?
Что в отладке? Запрос не пустой? я не вижу общей картины по этому куску кода.
0
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,228
26.10.2015, 16:46  [ТС] 7
Есть обработка в ней есть Табличная часть в которую выводим данные документа. Обработку вложил.
Вложения
Тип файла: zip СтартоваяЕО.zip (7.2 Кб, 2 просмотров)
0
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,228
26.10.2015, 16:48  [ТС] 8
В отладчике показала что не заходит в цикл Для Каждого Стр Из ТП Цикл
0
Эксперт 1С
434 / 305 / 92
Регистрация: 28.05.2014
Сообщений: 1,247
26.10.2015, 16:57 9
Ermak27, можно cf-ку?)
0
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,228
26.10.2015, 16:58  [ТС] 10
Phil, В отладчике теперь данные вижу, почему в табличную часть не выводит не понятно

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
    
    Запрос = Новый Запрос;
    ТекстЗапроса = "ВЫБРАТЬ
                   |    ЗаявкаЕдиноеОкно.Дата КАК Период,
                   |    ЗаявкаЕдиноеОкно.ТипЗаявки,
                   |    ЗаявкаЕдиноеОкно.Причина,
                   |    ЗаявкаЕдиноеОкно.Статус,
                   |    ЗаявкаЕдиноеОкно.Номер
                   |ИЗ
                   |    Документ.ЗаявкаЕдиноеОкно КАК ЗаявкаЕдиноеОкно";
    
    //Запрос.УстановитьПараметр("ФИО",ЭтаФорма.ЭлементыФормы.Ответственный.Значение);
    //Запрос.УстановитьПараметр("Статус",Перечисления.СтатусЕдиноеОкно.Открыта);
    Запрос.Текст=ТекстЗапроса;
    Вывод=Запрос.Выполнить().Выбрать();
    Номер1 = ЭлементыФормы.ТП.Колонки.НомерСтроки;
    Номер1 = 0;
    Пока Вывод.Следующий() Цикл
        Дата1 = ЭлементыФормы.ТП.Колонки.Дата;
        Информ = ЭлементыФормы.ТП.Колонки.Информация;     
        Дата2 = Формат(Вывод.Период,"ДФ='дд.ММ.гггг'");
        //Для Каждого Стр Из ТП Цикл
        Номер1 = Номер1+1;
            Дата1 = Дата2;
            Информ = " " + "Заявка:" + " " + "№" + Вывод.Номер + Символы.ПС + " " + "Тип заявки:" + " " + Вывод.ТипЗаявки + Символы.ПС + " " + "Причина заявки:" + " " + Вывод.Причина;
        //КонецЦикла;
    КонецЦикла;
0
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,228
26.10.2015, 17:00  [ТС] 11
Вот держи
Вложения
Тип файла: zip 1Cv8.zip (6.51 Мб, 2 просмотров)
0
Эксперт 1С
434 / 305 / 92
Регистрация: 28.05.2014
Сообщений: 1,247
26.10.2015, 17:22 12
Ermak27, тут прям целая трагедия ЛС создать))) есть ДТ-шка
0
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,228
26.10.2015, 17:23  [ТС] 13
ДТ большая
0
Эксперт 1С
434 / 305 / 92
Регистрация: 28.05.2014
Сообщений: 1,247
26.10.2015, 17:23 14
а вообще я бы сделал так: Полученную тз выгрузил и в цикле добавил бы 2 колонки: а потом загрузил бы на форму и не мучился.
0
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,228
26.10.2015, 17:24  [ТС] 15
Phil, В отладчике я данные вижу, почему в табличную часть они не попадают вот это вопрос. бред какой то

Добавлено через 22 секунды
Phil, можно на примере показать
0
Эксперт 1С
434 / 305 / 92
Регистрация: 28.05.2014
Сообщений: 1,247
26.10.2015, 17:44 16
Ermak27,
1C
1
2
3
4
5
6
7
8
9
ТЗ = Запрос.Выполнить().Выгрузить();
     ТЗ.Колонки.Добавить("НовыйИнвНомер",Новый ОписаниеТипов("Строка", ,,,Новый КвалификаторыСтроки(100)),"3");
     
     счетчик = 78151;
       Для каждого строка из  ТЗ Цикл    
           строка.НовыйИнвНомер=Строка("000000" + (Формат(счетчик, "ЧГ=0")));
           счетчик = счетчик + 1;
       КонецЦикла;
     МатериалАктив.Загрузить(ТЗ);
Добавлено через 18 минут
1C
1
2
3
4
5
6
7
8
9
ТЗ = новый таблицаЗначений;
    ТЗ.Колонки.Добавить("Дата",Новый ОписаниеТипов("Дата", ,,,,Новый КвалификаторыДаты(ЧастиДаты.Дата),"1");
    ТЗ.Колонки.Добавить("Информация",Новый ОписаниеТипов("Строка", ,,,Новый КвалификаторыСтроки(100)),"2");
    Пока Вывод.Следующий() Цикл
        НоваяСТРОКАТЗ = ТЗ.Добавить();
        НоваяСТРОКАТЗ.Дата=Формат(Вывод.дата,"ДФ='дд.ММ.гггг'");
        НоваяСТРОКАТЗ.Информация=" " + "Заявка:" + " " + "№" + Вывод.Номер + Символы.ПС + " " + "Тип заявки:" + " " + Вывод.ТипЗаявки + Символы.ПС + " " + "Причина заявки:" + " " + Вывод.Причина;
    КонецЦикла;
ТП.Загрузить(ТЗ);
как-то так не проверял, и в обработке поставь ограниченную длину для реквизита тч Информация, а то может ругнуться.
1
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,228
27.10.2015, 09:16  [ТС] 17
​Тут такая идея была использовать обновление табличной части в каждую секунду, использовал такой способ
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Процедура ПриОткрытии()
    
    ОповещениеЗаявки();
    
КонецПроцедуры
 
Процедура ОповещениеЗаявки()
    
    Запрос = Новый Запрос;
    ТекстЗапроса = "ВЫБРАТЬ
                   |    ЗаявкаЕдиноеОкно.Ссылка,
                   |    ЗаявкаЕдиноеОкно.Номер,
                   |    ЗаявкаЕдиноеОкно.Дата
                   |ИЗ
                   |    Документ.ЗаявкаЕдиноеОкно КАК ЗаявкаЕдиноеОкно
                   |ГДЕ
                   |    ЗаявкаЕдиноеОкно.Статус = &Статус";
    
    //Запрос.УстановитьПараметр("ФИО",ЭтаФорма.ЭлементыФормы.Ответственный.Значение);
    Запрос.УстановитьПараметр("Статус",Перечисления.СтатусЕдиноеОкно.Открыта);
    Запрос.Текст=ТекстЗапроса;
    Вывод=Запрос.Выполнить().Выбрать();
    Пока Вывод.Следующий() Цикл 
        Информ = " " + "Новая Заявка:" + " " + "№" + Вывод.Номер + " " + "от" + " " + Формат(Вывод.Дата,"ДФ='дд.ММ.гггг'");
        //Информ = " " + Вывод.Ссылка;
        новСтр = ТП.Добавить();
        новСтр.Информация=Информ;
    КонецЦикла;      
    
КонецПроцедуры
 
ПодключитьОбработчикОжидания("ОповещениеЗаявки", 1);
Теперь данные загружаются повторно в каждую секунду, нужно когда появился новый документ документ сразу же загружались данные Табличную часть
0
27.10.2015, 09:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.10.2015, 09:16
Помогаю со студенческими работами здесь

Помощь с запросом
Здравствуйте. Не могу понять как составить запрос, данные такие: -справочник Рабочие -регистр...

Проблема с запросом
Здравствуйте. У меня вопрос. Работаю в 1С 8.0. В конфигурации у меня есть справочник...

Помогите С Запросом
Всем доброго времени суток. Вопрос такой. Есть запрос по регустру.В выборку попадают поля...

Помогите с запросом
Нужно просуммировать суммы документов помесячно, то есть по конртагенту гончаров в апреле сумма...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru