|
Хранилище , как циклично запрашивать новые данные ? | ☑ | ||
---|---|---|---|---|
0
Анастасия Изотова
13.04.15
✎
09:34
|
Помогите советом. У меня 1С 8.1. Справочник сотрудников. Там есть поле - Подпись. Могу вставить картинку.
Есть документ, с табличной частью, где в каждой строке тот или иной сотрудник. И есть внешняя обработка, которая на основании Этого документа делает печатную форму. Необходимо что бы все сотрудники перечисленные в табличной части Документа, выдавали картинки своих подписей в печатную форму. Вот код: Во внешней обработке есть процедура: Процедура ВыводКартинки(Сотрудник,Рисунок) Если Сотрудник.ОсновноеИзображение.Хранилище.Получить() = Неопределено Тогда Картинка = Новый Картинка(); Иначе //НовоеПоле = Область.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка); Рисунок.Картинка = Сотрудник.ОсновноеИзображение.Хранилище.Получить(); КонецЕсли; КонецПроцедуры Я так поняла она запрашивает из хранилища собственно рисунок, передавая данные в перем.Рисунок *? А далее в тексте обработки: Область=Макет.ПолучитьОбласть("Строка"); Запрос=Новый Запрос; Запрос.Текст= "ВЫБРАТЬ | ТабличнаяЧасть.Услуга, | ТабличнаяЧасть.СпециализацияВрача, | ТабличнаяЧасть.Сотрудник, | ТабличнаяЧасть.Кабинет | ИЗ | Документ.НазначениеНаОсмотр.Услуги КАК ТабличнаяЧасть | ГДЕ | ТабличнаяЧасть.Ссылка = &Ссылка"; Запрос.УстановитьПараметр("Ссылка",СсылкаНаОбъект); Результат = Запрос.Выполнить().Выбрать(); Пока Результат.Следующий() Цикл Сотрудник.ОсновноеИзображение.Хранилище.Получить() = Неопределено ; РеквизитХранилище = Неопределено; Область.Параметры.Услуга=Результат.Услуга; Область.Параметры.Сотр=Результат.Сотрудник; ВыводКартинки(Результат.Сотрудник,Область.Рисунки.D1); Область.Параметры.Кабинет=Результат.Кабинет; ТабДок.Вывести(Область); КонецЦикла; Тут запрашиваются данные из табличной части Документа, и идут в печатную форму. Тут и к процедуре ВыводКартинки идет обращение. НО! в Печатной форме циклично, строка за строкой идет одна и та же картинка. Как будто как запомнилась она где-то, так и печатается, несмотря на то что цикл (выше) перебирает РАЗНЫХ сотрудников. Можно как то зануление переменной с картинкой сделать ? Или засунуть текст Процедуры в код цикла, что бы запрашивать хранилище после каждого прохода по циклу ? |
|||
1
Oleg_ka
13.04.15
✎
09:51
|
Результат.Сотрудник.ОсновноеИзображение.Хранилище.Получить()
а так? |
|||
2
ifso
13.04.15
✎
09:51
|
собственноручно росписываться в документе сотрудники отказываются?
|
|||
3
Oleg_ka
13.04.15
✎
10:09
|
(1)Чушь ляпнул.
Надо смотреть ВыводКартинки(Результат.Сотрудник,Область.Рисунки.D1) Точнее результат Сотрудник.ОсновноеИзображение.Хранилище.Получить() и чему равен Рисунок. Но вот это Сотрудник.ОсновноеИзображение.Хранилище.Получить() = Неопределено ; РеквизитХранилище = Неопределено; точно лишнее. |
|||
4
Анастасия Изотова
14.04.15
✎
02:51
|
Эта печатная бумаженция печатается срочно, и нужно что бы без участия людей, сканы-картинки их подписей валились в готовый документ .
А строка про "неопределено" - это я пыталась как то уже в цикле очищать значение переменной(это же переменная, да?), что бы с новым витком цикла новая-следущая картинка запрашивалась ... Как значение посмотреть ? Пыталась сделать точки останова, но отладчик тупит, просит включить tcp/ip (почитала как лечить такое, руки затряслись( |
|||
5
Web00001
14.04.15
✎
03:35
|
(4)Это встроенный брандмауер спрашивает разрешить или нет приложению активность по сети. Отладчик так связан с приложением просто разрешите ему когда спрашивает, отчего руки то трясутся?
|
|||
6
Web00001
14.04.15
✎
03:46
|
Выбирать надо данные из табличной части документа, а не из документа и потом из его табличной части.
Сотрудник.ОсновноеИзображение.Хранилище.Получить() = Неопределено Действительно лишнее, нельзя присвоить значение результату метода. Так не видно, где проблема, используйте таки отладчик, несмотря на страшные слова. |
|||
7
Анастасия Изотова
14.04.15
✎
04:08
|
Я нашла второй сервер с рабочим отладчиком.
Расставила точки остановки. В самом начале, где процедура картинки: Рисунок.Картинка = Сотрудник.ОсновноеИзображение.Хранилище.Получить(); - Результат Свойство: Ошибка в выражении А тут: ВыводКартинки(Результат.Сотрудник,Область.Рисунки.D1); - Результат Свойство: Обращение к процедуре как к функции (Вывод картинки) Я думала он пошагово выдаст куда и что пишется, но почти на все строки в этом цикле ниже пишет - Ошибка в выражении ... |
|||
8
Анастасия Изотова
14.04.15
✎
04:12
|
re(( ыбирать надо данные из табличной части документа, )) - я взяла за основу табличную часть документа, по ней же цикл крутится. от нее идет прямая связь со справочником сотрудиников, а там и подписи эти собственно лежат.
А иначе я не умею. Вот отладчик выдает какую то хрень, а картинка то в итоге в переменную пишется. Правда первая в списке. И далее циклом множится во все строки печатной формы. А дальше я не знаю как правильно! запросить картинку, откуда тогда ? или может эту процедуру запроса из ХранилищаКартинок прямо в цикл встроить, можно такое ? что бы каждый проход цикла, очередной запрос к хранилищу картинок, исходя из смены текущего сотрудника |
|||
9
forforumandspam
14.04.15
✎
07:24
|
(0) Во-первых:
Процедура ВыводКартинки(Сотрудник, Рисунок) Картинка = Сотрудник.ОсновноеИзображение.Хранилище.Получить(); Если Картинка = Неопределено Тогда Картинка = Новый Картинка(); Иначе Рисунок.Картинка = Картинка; КонецЕсли; КонецПроцедуры во-вторых: ..... Пока Результат.Следующий() Цикл Область.Параметры.Услуга=Результат.Услуга; Область.Параметры.Сотр=Результат.Сотрудник; ВыводКартинки(Результат.Сотрудник,Область.Рисунки.D1); Область.Параметры.Кабинет=Результат.Кабинет; ТабДок.Вывести(Область); КонецЦикла; |
|||
10
forforumandspam
14.04.15
✎
07:24
|
+(9) Ой.... :)
Процедура ВыводКартинки(Сотрудник, Рисунок) Картинка = Сотрудник.ОсновноеИзображение.Хранилище.Получить(); Если Картинка = Неопределено Тогда Картинка = Новый Картинка(); КонецЕсли; Рисунок.Картинка = Картинка; КонецПроцедуры |
|||
11
ifso
14.04.15
✎
08:25
|
(4) угу, а далее будет Т-53, не ?)
|
|||
12
forforumandspam
16.04.15
✎
07:52
|
Вот так вот: спросила и пропала.
|
|||
13
ifso
16.04.15
✎
07:56
|
(12) думаешь их уже повязали?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |