![]() |
![]() |
![]() |
|
Как вывести в журнале документов графу из справочника? | ☑ | ||
---|---|---|---|---|
0
Босечка
28.03.17
✎
16:37
|
Как вывести в журнале документов графу из справочника? Есть справочник ОригиналыДокументов, в котором есть реквизиты Документ и Оригинал. И есть журнал документов "Реализация". Надо в нем вывести колонку из справочника, которая соответствует данному документу.
В какой функции это выводится и как? Запрос примерно так выглядит: "ВЫБРАТЬ | ОригиналыДокументов.Документ, | ОригиналыДокументов.Оригинал, | РеализацияТоваров.Ссылка |ИЗ | Справочник.ОригиналыДокументов КАК ОригиналыДокументов | ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваров КАК РеализацияТоваров | ПО ОригиналыДокументов.Документ = РеализацияТоваров.Ссылка" |
|||
1
novichok79
28.03.17
✎
16:39
|
формы управляемые или нет?
в управляемых - реквизит дин. списка достаешь, в обычных в событии списка получитьданные или при выводе строки. |
|||
2
Босечка
28.03.17
✎
16:40
|
обычные, а запрос как сделать?
|
|||
3
Босечка
28.03.17
✎
16:47
|
ап..
|
|||
4
novichok79
28.03.17
✎
16:51
|
(2) при получении данных списком получаешь данные из ссылок, которые находятся в данныхстроки. потом соответственно устанавливаешь эти значения в колонки в том же обработчике. дальше объяснять не буду, примеров в типовых уйма.
|
|||
5
Босечка
28.03.17
✎
16:58
|
А где примеры есть в каких конфигурациях?
|
|||
6
novichok79
28.03.17
✎
16:59
|
(5) например установка артикула и кода в табличной части документов товародвижений в УТ 10.3
|
|||
7
Босечка
28.03.17
✎
17:36
|
мДок = Новый Массив;
Для каждого Оформление Из ОформленияСтрок Цикл мДок.Добавить(Оформление.ДанныеСтроки.Ссылка); КонецЦикла; Запрос= новый Запрос; Запрос.Текст= "ВЫБРАТЬ | ОригиналыДокументов.Документ, | ОригиналыДокументов.Оригинал, | РеализацияТоваров.Ссылка |ИЗ | Справочник.ОригиналыДокументов КАК ОригиналыДокументов | ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваров КАК РеализацияТоваров | ПО ОригиналыДокументов.Документ = РеализацияТоваров.Ссылка |ГДЕ | ОригиналыДокументов.Документ В(&ТекДок)"; Запрос.УстановитьПараметр("ТекДок", мДок); Результат = Запрос.Выполнить().Выгрузить(); Результат.ВыбратьСтроку(); в итоге все виснет.... |
|||
8
Vaflya
28.03.17
✎
18:04
|
интересно, что Результат.Количество() покажет. И логика не понятна - почему Выбрать(), если надо весь список заполнить.
Если правильно понимаю задачу, то надо еще в цикле запрос делать и там же, на каждой итерации, заполнять нужную ячейку значением, но там Текст кажется будет, ссылка не пойдет, хотя проверить надо. Ну и традиционно нельзя не сказать про запросы и сложные вычисления в ПриПолученииДанных - это событие отрабатывает при каждом "движении" списка, хотя нагрузка и меньше, чем ПриВыводеСтроки |
|||
9
Босечка
28.03.17
✎
18:29
|
мДок = Новый Массив;
соотв = Новый Соответствие; Для каждого Оформление Из ОформленияСтрок Цикл мДок.Добавить(Оформление.ДанныеСтроки.Ссылка); соотв[Оформление.ДанныеСтроки.Ссылка] = Оформление; КонецЦикла; Запрос= новый Запрос("ВЫБРАТЬ | ОригиналыДокументов.Документ |ИЗ | Справочник.ОригиналыДокументов КАК ОригиналыДокументов |ГДЕ | ОригиналыДокументов.Документ В(&ТекДок) И ОригиналыДокументов.Оригинал"); Запрос.УстановитьПараметр("ТекДок", мДок); выб = Запрос.Выполнить().Выбрать(); Пока выб.Следующий() Цикл соотв[выб.Ссылка].Ячейки.Оригинал.УстановитьФлажок(Истина); КонецЦикла; вот все решение |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |