Имя: Пароль:
1C
 
Возврат таблицы значений с сервера
0 Lannia
 
31.05.17
18:46
Доброго времени суток. Как можно возвратить таблицу значений с сервера? Временное хранилище не подошло. При изъятии из временного хранилища ошибка остается.
1 Джинн
 
31.05.17
18:48
В массив и обратно.
2 Lannia
 
31.05.17
18:51
Джинн, вы не могли бы дать пример?
3 Ц_У
 
31.05.17
18:51
(0) для чего?
4 Lannia
 
31.05.17
18:54
(3) Мне нужно вернуть таблицу значений одного документа, что бы заполнить ими таблицу другого документа. Пробовала посылать таблицу на сервер и там заполнять, но не доступно для редактирования.
5 PiotrLoginov
 
31.05.17
18:54
Уверен, приятное фото решит все вопросы
6 LordCMEPTb
 
31.05.17
18:56
(4) А зачем тогда нужна таблица на клиенте? Во временное хранилище таблицу на сервере положить, на клиенте эту строку передать в другой документ, в другом документе на сервере работать с сохраненной таблицей.
7 Ц_У
 
31.05.17
18:56
(4) Думаю заполняли не объект?
8 Ц_У
 
31.05.17
18:57
(4) код бы посмотреть, где "недоступно для записи"
9 Lannia
 
31.05.17
18:57
(7) в функцию отправляла Объект.Товары.
10 Ц_У
 
31.05.17
19:00
Тогда код где заполнение ТЧ на сервере
11 Ц_У
 
31.05.17
19:00
Если через загрузить/выгрузить не получается, то через обход коллекции
12 Lannia
 
31.05.17
19:03
(11)
Функция ПолучитьТовары(ЗаказНаряд, Товары)
        Т = ЗаказНаряд.Товары;

        Для каждого Строка Из Т Цикл
            НоваяСтрока = Таб.Добавить();
            НоваяСтрока.Номенклатура = Строка.Номенклатура;
            НоваяСтрока.Количество = Строка.Количество;
            НоваяСтрока.ЕдиницаИзмерения = Строка.ЕдиницаИзмерения;
            НоваяСтрока.Партия = Строка.Партия;
            НоваяСтрока.Склад = Строка.Склад;
        КонецЦикла;
13 Lannia
 
31.05.17
19:04
(12) Только там процедура была. Специально назад откатила, что бы прислать.
14 Ц_У
 
31.05.17
19:05
Таб.Добавить() <- это кто?
15 Ц_У
 
31.05.17
19:06
(13) процедура и должна быть
16 Lannia
 
31.05.17
19:07
(14) Извиняюсь, Товары.Добавить(); было
17 Lannia
 
31.05.17
19:08
(15) Вот сама ошибка: {Документ.ПеремещениеТоваровВПроизводство.Форма.ФормаДокумента.Форма(4)}: Ошибка при установке значения атрибута контекста (Товары)
    ПолучитьТовары(Объект.ЗаказНаряд, Объект.Товары);
по причине:
Нельзя изменять поле, содержащее объект данных формы
18 Lannia
 
31.05.17
19:10
Вот на всякий цельный код:
&НаКлиенте
Процедура ЗаказНарядПриИзменении(Элемент)
    ПолучитьТовары(Объект.ЗаказНаряд, Объект.Товары);
КонецПроцедуры

&НаСервере
Процедура ПолучитьТовары(ЗаказНаряд, Товары)
        Т = ЗаказНаряд.Товары;

        Для каждого Строка Из Т Цикл
            НоваяСтрока = Товары.Добавить();
            НоваяСтрока.Номенклатура = Строка.Номенклатура;
            НоваяСтрока.Количество = Строка.Количество;
            НоваяСтрока.ЕдиницаИзмерения = Строка.ЕдиницаИзмерения;
            НоваяСтрока.Партия = Строка.Партия;
            НоваяСтрока.Склад = Строка.Склад;
        КонецЦикла;
КонецПроцедуры
19 Ц_У
 
31.05.17
19:15
(18) если ему передать этотобъект.Товары он заполнит ТЧ?
20 Живой Ископаемый
 
31.05.17
19:17
стоп, сказали же вернуть таблицу, а не заполнить?
21 Ц_У
 
31.05.17
19:17
(18) вызов сервера в контексте формы, можно не передавать ничего в процедуру, а работать с исходными данными
22 Lannia
 
31.05.17
19:18
(19) {Документ.ПеремещениеТоваровВПроизводство.Форма.ФормаДокумента.Форма(4)}: Поле объекта не обнаружено (Товары)
23 Lannia
 
31.05.17
19:19
(20) Мне нужно либо вернуть заполненную таблицу значений, либо, если это возможно, заполнить ее на сервере.
24 Ц_У
 
31.05.17
19:20
(22) товары на форме не товары?
25 Lannia
 
31.05.17
19:21
(24) В объекте и на форме название Товары.
26 Живой Ископаемый
 
31.05.17
19:22
2(22)
блин, ничего не понял. Нужно заполнить табличную часть объекта из его формы на клиенте? Ты перебираешь одну таблицу, чтобы строчки добавить в нее же?
27 Живой Ископаемый
 
31.05.17
19:22
2(25) А нужно что?
28 Ц_У
 
31.05.17
19:23
&НаСервере
Процедура ПолучитьТовары()
    Для каждого СтрокаТовар Из Объект.ЗаказНаряд.Товары Цикл
        ЗаполнитьЗначениеСвойств(Объект.Товары.Добавить(),СтрокаТовар);
    КонецЦикла;
КонецПроцедуры
29 Lannia
 
31.05.17
19:24
(26)
Мне нужно исходя из выбранного ЗаказНаряда вытянуть табличную часть и заполнить теми же данными табличную часть в документе "Переместить товар в производство"
30 Lannia
 
31.05.17
19:28
(28) Процедура или функция с указанным именем не определена
31 Ц_У
 
31.05.17
19:29
(30) Это как? :)
32 Lannia
 
31.05.17
19:31
(31) Так отладчик сказал.
33 Lexey_
 
31.05.17
19:31
(30) ЗаполнитьЗначениЯСвойств, думать тоже иногда надо
34 Lannia
 
31.05.17
19:33
Может еще дело в самой версии. Многие варианты пробую, но не помогает. Версия 8.3
35 Живой Ископаемый
 
31.05.17
19:34
нет, это работало и работает еще с 8.2
36 Ц_У
 
31.05.17
19:35
ЗаполнитьЗнач Ctrl+Space
37 Lexey_
 
31.05.17
19:35
(34) дело не в версии
38 Ц_У
 
31.05.17
19:37
Похоже конец истории прочитаю завтра :)
39 Lannia
 
31.05.17
19:42
(36) Не знала. С 1С знакома меньше месяца.
40 Lannia
 
31.05.17
19:44
(38) Еще раз спасибо за помощь. Очень помогли.
41 AlvlSpb
 
31.05.17
19:44
Т.е. в документе Перемещение вы хотите заполнить ТЧ по данным из выбранного Заказ-наряда?

&НаСервере
Процедура ЗаказНарядПриИзменении()
Объект.Товары.Очистить();
знОбъект = Объект.ЗаказНаряд.ПолучитьОбъект();
Таб = знОбъект.Товары:
    Для каждого СтрокаТовар Из Таб Цикл
        ЗаполнитьЗначенияСвойств(Объект.Товары.Добавить(),СтрокаТовар);
    КонецЦикла;
КонецПроцедуры
42 Lannia
 
31.05.17
19:53
(41) Да, спасибо большое и вам. Не знала что так можно заполнять.
43 Ц_У
 
31.05.17
20:10
(41) Зачем объект получаете, менять собрались?
(42) в контексте формы можно без заморочек
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший