|
Цикл с условием | ☑ | ||
---|---|---|---|---|
0
oqjawa
15.05.17
✎
01:58
|
// Необходимо чтобы данные области:
ТабДок.Вывести(ОбластьШапка1, Выборка1.Уровень()); ТабДок.Вывести(ОбластьСтудентыШапка1); //выводились в том случае если цикл на заполнения заполняет Выборка1.Следующий(); ВыборкаСтуденты2 = Выборка1.Студенты.Выбрать(); Пока ВыборкаСтуденты2.Следующий() Цикл ОбластьСтуденты.Параметры.Заполнить(ВыборкаСтуденты2); ТабДок.Вывести(ОбластьСтуденты, ВыборкаСтуденты2.Уровень()); КонецЦикла; // как правильно сделать? через если у меня не получается.. наверное не правильно делаю, подскажите пожалуйста Запрос2 = Новый Запрос; Запрос2.Текст = "ВЫБРАТЬ | Выхода_на_практику.Вид_практики, | Выхода_на_практику.Группа, | Выхода_на_практику.Дата, | Выхода_на_практику.Дата_конца_практики, | Выхода_на_практику.Дата_начала_практики, | Выхода_на_практику.ДатаИзданияПриказа, | Выхода_на_практику.Курс, | Выхода_на_практику.Номер, | Выхода_на_практику.НомерПриказа, | Выхода_на_практику.Специальность, | Выхода_на_практику.Студенты.( | НомерСтроки, | ФИО_студента, | Место_прохождения_практики, | Договор, | База, | Основа_обучения | ) |ИЗ | Документ.Выхода_на_практику КАК Выхода_на_практику |ГДЕ | Выхода_на_практику.Ссылка В(&Ссылка) | И Выхода_на_практику.Студенты.Основа_обучения = Значение(Перечисление.Основа_обучения.платник) | И Выхода_на_практику.Студенты.База = Значение(Перечисление.База_классов.классов_9)"; Запрос2.Параметры.Вставить("Ссылка", Ссылка); Выборка1 = Запрос2.Выполнить().Выбрать(); ОбластьШапка1.Параметры.Заполнить(Выборка1); ОбластьШапка1.Параметры.Дата_Начала_Практики = Формат(Выборка.Дата_начала_практики, "ДЛФ=D"); ОбластьШапка1.Параметры.Дата_Конца_Практики = Формат(Выборка.Дата_конца_практики, "ДЛФ=D"); ТабДок.Вывести(ОбластьШапка1, Выборка1.Уровень()); ТабДок.Вывести(ОбластьСтудентыШапка1); Выборка1.Следующий(); ВыборкаСтуденты2 = Выборка1.Студенты.Выбрать(); Пока ВыборкаСтуденты2.Следующий() Цикл ОбластьСтуденты.Параметры.Заполнить(ВыборкаСтуденты2); ТабДок.Вывести(ОбластьСтуденты, ВыборкаСтуденты2.Уровень()); КонецЦикла; |
|||
1
igorPetrov
15.05.17
✎
05:15
|
(0) "в том случае если цикл на заполнения заполняет
" Это что?! |
|||
2
bse
15.05.17
✎
05:25
|
Выводи область если выборкастуденты2 заполнена
|
|||
3
bse
15.05.17
✎
05:27
|
Еще лучше чтобы незаполненные значения в выборку не попадали
|
|||
4
oqjawa
15.05.17
✎
06:02
|
ТабДок.Вывести(ОбластьШапка1, Выборка1.Уровень());
ТабДок.Вывести(ОбластьСтудентыШапка1); Это шапка которая не должна выводится если выборкастуденты 2 не заполнена... зачем она мне пустая нужна... как так сделать? |
|||
5
Мимохожий Однако
15.05.17
✎
06:10
|
Найди обработку Консоль запросов и в ней потренируйся получение правильной выборки. Начни запрос к табличной части Выхода_на_практику.Студенты. Из этого же запроса вытащи отдельный массив по ссылкам на документ Выхода_на_практику.
Т.е. в одном ПАКЕТНОМ запросе получаешь и табличную часть и шапки.Метод Запрос.ВыполнитьПакет() |
|||
6
oqjawa
15.05.17
✎
06:42
|
нету обработки консоль запросов это разработка собственной конфигурации
|
|||
7
oqjawa
15.05.17
✎
06:47
|
есть документ "Выхода_на_практику" в нём есть табличная часть "Студенты"
я создал печатную форму документа, в ней четыре табличные части.. каждая табличная часть заполняется благодаря на писаным четырём запросам... мне необходимо чтобы в случае не заполнения выборки области ШАПКИ не выводились |
|||
8
Мимохожий Однако
15.05.17
✎
06:47
|
(6) На диске ИТС или на просторах инета куча
|
|||
9
Мимохожий Однако
15.05.17
✎
06:47
|
(7) Откажись от 4 запросов и сделай всё в одном.
|
|||
10
h-sp
15.05.17
✎
06:52
|
(7) а зачем вам нужно, чтобы шапка не выводилась? Все выводят, и не парятся. Это бзик какой-то у вас.
|
|||
11
Redkiy
15.05.17
✎
06:53
|
1. Разберись какой тип значения возвращает запрос в Выборка1.Студенты
2. Проверь Выборка1.Студенты на "пусто" методом из соответсвующего раздела СП. 3. За дублирование тем можно в баню сходить. Хозяин пока спит... |
|||
12
oqjawa
15.05.17
✎
07:00
|
Извините за дублирование темы, я зарегистрировался часов 15 назад, до этого никогда сам на форумах не сидел, поскольку не было в этом необходимости, надеюсь хоязин поймёт мою неопытность в этом вопросе и удалит мой "Дубль"
P.S. Как кунить ссылку на скриншот?? как его добавить сюда |
|||
13
Мимохожий Однако
15.05.17
✎
07:04
|
(12) Тебе скриншот не поможет. Хотя, я уверен, ты найдешь сайт через который можно сюда ссылки на картинки вставить. Тебе предлагают удочки- консоль запросов, отладчик, а ты упёрся в неправильный вариант и лепишь к нему костыли. Подумай и начни заново. ИМХО, это будет полезнее и в конечном счёте быстрее.
|
|||
14
oqjawa
15.05.17
✎
07:05
|
h-sp
это не бзик, а реально необходимость. На основе документа "Выхода на практику" формируется печатная форма "Приказ" в нём указаны реквизиты учебного заведения и стандартные реквизиты документа, но самое важно то что приказ Максимум имеет 4 табличные части: в первой ТЧ указываются студенты после 9 класса которые Бюджетники во второй ТЧ указываются студенты после 9 класса которые Платники в третий ТЧ указываются студенты после 11 класса которые бюджетники в четвёртой ТЧ указываются студенты после 11 класса которые Платники Если какаято из этих табличных частей не заполнилась выборкой поскольку студентов с такими характеристиками нет в приказе, то область пустую выводить не нужно.. |
|||
15
h-sp
15.05.17
✎
07:11
|
(14) ну тогда пробуй великое шаманство
Если Выборка1.Количество() > 0 Тогда ТабДок.Вывести(ОбластьСтудентыШапка1); КонецЕсли; |
|||
16
Мимохожий Однако
15.05.17
✎
07:19
|
(14) запрос переделал?
|
|||
17
Redkiy
15.05.17
✎
07:24
|
(13) + к вышесказаному
Рекомендую посмотреть серию видео про запросы с ресурса http://1c.chistov.pro/ Поможет направить мозги в нужное направление. Не реклама. |
|||
18
KishMish
15.05.17
✎
07:33
|
// Необходимо чтобы данные области:
Выводить=Истина; //выводились в том случае если цикл на заполнения заполняет Выборка1.Следующий(); ВыборкаСтуденты2 = Выборка1.Студенты.Выбрать(); Пока ВыборкаСтуденты2.Следующий() Цикл ////////////////////////// Если Выводить=Истина Тогда ТабДок.Вывести(ОбластьШапка1, Выборка1.Уровень()); ТабДок.Вывести(ОбластьСтудентыШапка1); Выводить=Ложь; КонецЕсли; ////////////////////////// ОбластьСтуденты.Параметры.Заполнить(ВыборкаСтуденты2); ТабДок.Вывести(ОбластьСтуденты, ВыборкаСтуденты2.Уровень()); КонецЦикла; |
|||
19
oqjawa
15.05.17
✎
08:07
|
Спасибо каждому человеку кто отвечал мне, вы все так или иначе очень помогли мне)
МимохожийОднако был со мной с самого начала, благодаря вам я не опускал руки знал что можно сделать правильно но к сожаления я пошёл лёгким путём.. Спасибо h-sp, воспользовался твоим методом) всё работает, а до консоли запросов я ещё доберусь! возможно уже скоро, главное порыться в интернете и узнать с какой стороны к ней подойти.. пока только скачал.. Redkiy видео про запросы я бы посмотрел, если вам не трудно скинуть нормальную прямую ссылку.. навигация для нового пользователя просто никакая.. я заблудился))) всем спасибо) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |