|
Помогите с заполнением табличной части | ☑ | ||
---|---|---|---|---|
0
katerinaUniv
29.03.17
✎
15:00
|
БП 3.0.49.17, пишу внешнюю обработку для заполнения табличной части перемещения. Нужно установить параметры запроса, для этого нужны значения дата и складОтправитель документа. Не получается обратиться к значениям.
|
|||
1
katerinaUniv
29.03.17
✎
15:01
|
склад = ПолучитьЗначениеРеквизита(ВладелецФормы.объект.СкладОтправитель);
дата = ПолучитьЗначениеРеквизита(ВладелецФормы.объект.Дата); тз = ПолучитьОстатки(склад, дата); Если тз.Количество()> 0 Тогда Для Каждого текСтрока Из тз Цикл нСтрока = ВладелецФормы.Объект.Товары.Добавить(); нСтрока.Номенклатура = текСтрока.Номенклатура; нСтрока.КоличествоМест = 1; нСтрока.Коэффициент = 1; нСтрока.Количество = текСтрока.Количество; нСтрока.СчетУчета = текСтрока.СчетУчета; нСтрока.НовыйСчетУчета = текСтрока.СчетУчета; КонецЦикла; КонецЕсли; |
|||
2
katerinaUniv
29.03.17
✎
15:01
|
&НаСервере
Функция ПолучитьЗначениеРеквизита(чтоТо) Возврат РеквизитФормыВЗначение(чтоТо); КонецФункции |
|||
3
katerinaUniv
29.03.17
✎
15:01
|
ВладелецФормы.объект - тип данных ДанныеФормыСтруктура
|
|||
4
katerinaUniv
29.03.17
✎
15:15
|
помогите, если кто знает, в чем причина
|
|||
5
h-sp
29.03.17
✎
15:27
|
(4) правильнее писать
склад = ВладелецФормы.объект.СкладОтправитель; дата = ВладелецФормы.объект.Дата; |
|||
6
katerinaUniv
29.03.17
✎
15:31
|
(5) не получается, когда передаю в функцию на сервере, где выполняется запрос, выдает ошибку о неверном типе данных
|
|||
7
katerinaUniv
29.03.17
✎
15:32
|
(5){ВнешняяОбработка.ЗаполнениеПоСкладу.Форма.Форма.Форма(6)}: Ошибка при вызове метода контекста (ПолучитьОстатки)
тз = ПолучитьОстатки(склад, дата); по причине: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: НачалоСвойства: ret Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType по причине: Ошибка отображения типов: Отсутствует отображение для типа '{http://v8.1c.ru/8.1/data/core}ValueTable' |
|||
8
katerinaUniv
29.03.17
✎
15:32
|
Это реквизиты формы, а мне нужны их значения
|
|||
9
butterbean
29.03.17
✎
15:34
|
какой тип у ВладелецФормы.объект.СкладОтправитель??
|
|||
10
katerinaUniv
29.03.17
✎
16:01
|
(9) типЗнч показывает тип "Склад"
|
|||
11
katerinaUniv
29.03.17
✎
16:15
|
я понимаю, что метод РеквизитФормыВЗначение работает у меня для текущей формы
|
|||
12
katerinaUniv
29.03.17
✎
16:16
|
Нужно найти способ из структуры данных формы вытащить то, что мне необходимо
|
|||
13
FIXXXL
29.03.17
✎
16:23
|
(7) ты каким то макаром ТаблицуЗначений передаешь
смотри с отладчиком |
|||
14
dezss
29.03.17
✎
16:32
|
(1) вот не люблю я переопределять стандартные названия, кроме запроса)))
А если "дата" переименовать? |
|||
15
dezss
29.03.17
✎
16:35
|
(14) и применить способ из (5)
|
|||
16
butterbean
29.03.17
✎
16:36
|
(10) отладчиком посмотри, нет такого типа "Склад"
|
|||
17
dezss
29.03.17
✎
16:38
|
тьфу...тм там реально, походу, попытка вернуть из ПолучитьОстатки(склад, дата); ТЗ.
(1) это на клиенте выполняется? |
|||
18
katerinaUniv
29.03.17
✎
16:40
|
ПолучитьОстатки() выполняется на сервере
|
|||
19
katerinaUniv
29.03.17
✎
16:40
|
а вызывается эта функция из процедуры на клиенте
|
|||
20
katerinaUniv
29.03.17
✎
16:41
|
как посмотреть отладчиком внешнюю обработку?
|
|||
21
FIXXXL
29.03.17
✎
16:44
|
(19) на клиенте вот это
тз = ПолучитьОстатки(склад, дата); Если тз.Количество()> 0 Тогда вызывает ошибку нет ТЗ на клиенте |
|||
22
h-sp
29.03.17
✎
16:45
|
(19) всю вот эту фигню нужно на сервер
тз = ПолучитьОстатки(склад, дата); Если тз.Количество()> 0 Тогда Для Каждого текСтрока Из тз Цикл нСтрока = ВладелецФормы.Объект.Товары.Добавить(); нСтрока.Номенклатура = текСтрока.Номенклатура; нСтрока.КоличествоМест = 1; нСтрока.Коэффициент = 1; нСтрока.Количество = текСтрока.Количество; нСтрока.СчетУчета = текСтрока.СчетУчета; нСтрока.НовыйСчетУчета = текСтрока.СчетУчета; КонецЦикла; КонецЕсли; |
|||
23
katerinaUniv
29.03.17
✎
16:46
|
(22) сервер говорит, что не знает, что такое ВладелецФормы.Объект.Товары.Добавить()
|
|||
24
katerinaUniv
29.03.17
✎
16:47
|
(21) эта функция возвращает таблицу значений на клиент, разве на клиенте не бывает таблиц значений?
|
|||
25
FIXXXL
29.03.17
✎
16:47
|
(24) нет
|
|||
26
h-sp
29.03.17
✎
16:47
|
(24) не бывает
|
|||
27
h-sp
29.03.17
✎
16:48
|
(24) возвращай массив структур тогда
|
|||
28
FIXXXL
29.03.17
✎
16:49
|
(24) но можешь сделать финт ушами:
завести реквизит формы с типом ТЗ, нарисовать колонки гонять форму с клиента на сервер, заполнить реквизит и вернуться обратно на клиенте перебирать строки реквизита |
|||
29
dezss
29.03.17
✎
16:52
|
я голосую за (27)
|
|||
30
katerinaUniv
29.03.17
✎
16:55
|
(27) что это и как?
|
|||
31
h-sp
29.03.17
✎
17:01
|
(30) массив не знаешь что такое?
|
|||
32
FIXXXL
29.03.17
✎
17:01
|
||||
33
katerinaUniv
29.03.17
✎
17:08
|
(32) если я помещаю на сервере тз в хранилище, то потом на клиенте делаю что-то типа хранилище.Получить()
снова ошибки не будет? я же получу оттуда таблицу значений |
|||
34
dezss
29.03.17
✎
17:08
|
(27) еще и безконтекстный вызов можно сделать, тогда...
|
|||
35
dezss
29.03.17
✎
17:09
|
(33) нет
|
|||
36
dezss
29.03.17
✎
17:09
|
(35) хранилище очистится, как только выйдешь с сервера...вроде так..
|
|||
37
dezss
29.03.17
✎
17:10
|
(33) делай как в (27) и в (32) тебе подсказали...так лучше...
ну или как в (28) |
|||
38
katerinaUniv
29.03.17
✎
17:16
|
сделала как в (28)
|
|||
39
katerinaUniv
29.03.17
✎
17:16
|
спасибо всем за подсказки и помощь, если кому нужно, могу скинуть рабочую обработку
|
|||
40
dezss
29.03.17
✎
17:25
|
(39) Да зачем нам обработка.
Главное что фотка в профиле есть ;) |
|||
41
katerinaUniv
29.03.17
✎
17:37
|
(40) я уже с красными волосами) только фото сюда никак не скину ;)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |