|
КопироватьТаблЧасть полностью | ☑ | ||
---|---|---|---|---|
0
Олеся999
06.02.15
✎
12:49
|
Скажите пожалуйста, как копировать из одной ТабличнойЧасти справочника1 в ТабличнуюЧасть другого справочника2?
|
|||
1
Cube
06.02.15
✎
12:52
|
(0) Если ТЧ идентичные, то:
Табличная часть (Tabular section) Выгрузить (Unload) Вариант синтаксиса: Выгрузить колонки Синтаксис: Выгрузить(<Строки>, <Колонки>) Параметры: <Строки> (необязательный) Тип: Массив. Массив строк для выгрузки. Если не указан, выгружаются все строки табличной части. <Колонки> (необязательный) Тип: Строка. Список колонок для копирования в формате: "Колонка1, Колонка2...". Если список не задан, то будут скопированы все колонки. Описание варианта метода: Если указаны строки и колонки, то только они будут скопированы. Если не указаны - то табличная часть будет выгружена полностью. А потом: Табличная часть (Tabular section) Загрузить (Load) Синтаксис: Загрузить(<Таблица>) Параметры: <Таблица> (обязательный) Тип: ТаблицаЗначений. Таблица значений, откуда загружается табличная часть. Колонки таблиц совмещаются по именам. Описание: Загружает табличную часть из таблицы значений. При этом все прежние строки табличной части удаляются. При загрузке значения в колонках табличной части заполняются значениями из колонок таблицы значений с совпадающими именами. Это всё есть в синтаксис-помощнике... |
|||
2
Олеся999
06.02.15
✎
13:16
|
Вот так вот ?
ТЧ=Справочники.СпецификацияТК.ТаблицаSMD.Выгрузить(); Справочники.Прогноз.Таб1.Загрузить(ТЧ); |
|||
3
1Сергей
06.02.15
✎
13:17
|
(2) нет, не так
|
|||
4
Cube
06.02.15
✎
13:18
|
(2) Чё?))
Как-то так: ТЧ = СсылкаНаСпецификациюТК.ТаблицаSMD.Выгрузить(); СсылкаНаПрогноз.Таб1.Загрузить(ТЧ); А если подумать, то вообще так: СсылкаНаПрогноз.Таб1.Загрузить(СсылкаНаСпецификациюТК.ТаблицаSMD.Выгрузить()); |
|||
5
Ёпрст
06.02.15
✎
13:19
|
(2) найти ссылку, поиметь объект, потом ужо загрузить и записать
|
|||
6
Cube
06.02.15
✎
13:19
|
(4) Ой ё... Записывать-то надо в объект...
Исправляюсь: ТЧ = СсылкаНаСпецификациюТК.ТаблицаSMD.Выгрузить(); ОбъектПрогноз.Таб1.Загрузить(ТЧ); |
|||
7
ktvladimir
06.02.15
✎
13:20
|
а если не одинаковые то
Для Каждого стр ИЗ СсылкаНаСпецификациюТК.ТаблицаSMD Цикл ЗаполнитьЗначенияСвойств(СсылкаНаПрогноз.Таб1.Добавить(), Стр); КонецЦикла; :) |
|||
8
ktvladimir
06.02.15
✎
13:21
|
ну или точнее ОбъектПрогноз как правильно сказали
|
|||
9
Олеся999
06.02.15
✎
13:23
|
(6)
&НаСервере Процедура СкопироватьВТаб2НаСервере() ТЧ = СсылкаНаСпецификациюТК.ТаблицаSMD.Выгрузить(); ОбъектПрогноз.Таб2.Загрузить(ТЧ); КонецПроцедуры &НаКлиенте Процедура СкопироватьВТаб2(Команда) СкопироватьВТаб2НаСервере(); КонецПроцедуры {Справочник.СпецификацияТК.Форма.ФормаЭлемента.Форма(66,6)}: Переменная не определена (СсылкаНаСпецификациюТК) ТЧ = <<?>>СсылкаНаСпецификациюТК.ТаблицаSMD.Выгрузить(); (Проверка: Сервер) {Справочник.СпецификацияТК.Форма.ФормаЭлемента.Форма(67,1)}: Переменная не определена (ОбъектПрогноз) <<?>>ОбъектПрогноз.Таб2.Загрузить(ТЧ); (Проверка: Сервер) |
|||
10
Cube
06.02.15
✎
13:26
|
(9) Так "СсылкаНаСпецификациюТК" - это ссылка на элемент справочника, откуда ты копируешь ТЧ... Я её так для примера назвал, ты должна вместо этой переменной свою подставить...
|
|||
11
Олеся999
06.02.15
✎
13:34
|
(10) Я получается кнопку СкопироватьВТаб2 на форме СпецификацияТК сделала.
"СсылкаНаСпецификациюТК" Это то есть Справочники.СпецификацияТК.ТаблицаSMD ? или где можно ссылку глянуть? |
|||
12
Cube
06.02.15
✎
13:39
|
(11) Если это кнопка на форме, то просто пиши
ТЧ = Объект.ТаблицаSMD.Выгрузить(); И при нажатии на кнопку предложи пользователю выбрать элемент справочника Прогноз, в который надо скопировать... |
|||
13
Олеся999
06.02.15
✎
13:45
|
ТЧ = Объект.ТаблицаSMD.Выгрузить();
Объект.ТаблицаDP.Загрузить(ТЧ); Вот так вот выгружает в пределах одного справочника А как прописать путь чтобы выгружал в табличнуюЧасть другого справочника? |
|||
14
Cube
06.02.15
✎
13:52
|
(13) Как-то так:
Прогноз = Справочники.Прогнозы.ПустаяСсылка(); Если ВвестиЗначение(Прогноз) Тогда ОбъектПрогноз = Прогноз.ПолучитьОбъект(); ОбъектПрогноз.ТаблицаDP.Загрузить(Объект.ТаблицаSMD.Выгрузить()); ОбъектПрогноз.Записать(); КонецЕсли; |
|||
15
Олеся999
06.02.15
✎
14:01
|
(14) {Справочник.СпецификацияТК.Форма.ФормаЭлемента.Форма(74,6)}: Процедура или функция с указанным именем не определена (ВвестиЗначение)
Если <<?>>ВвестиЗначение(Прогноз) Тогда (Проверка: Сервер) |
|||
16
Олеся999
09.02.15
✎
07:29
|
Как получить ссылку другой таблицы другого справочника?
|
|||
17
Cube
09.02.15
✎
07:45
|
(15) ВвестиЗначение() надо на клиенте делать-то...
|
|||
18
Олеся999
09.02.15
✎
07:54
|
Ну я вот так написала ...но не работает
&НаСервере Процедура СкопироватьВТаб2НаСервере() ТЧ = Объект.ТаблицаSMD.Выгрузить(); ПР=Справочники.Прогноз.ПустаяСсылка(); ПР.Таб1.Загрузить(ТЧ); КонецПроцедуры &НаКлиенте Процедура СкопироватьВТаб2(Команда) СкопироватьВТаб2НаСервере(); КонецПроцедуры |
|||
19
Cube
09.02.15
✎
08:34
|
(18) Опиши задачу: что требуется сделать и для чего это надо.
|
|||
20
Олеся999
09.02.15
✎
08:47
|
http://lvkr.ru/f/zBB8Xw/1280.jpg
Сделала предопределенный. Почему то не дает записывать туда. &НаСервере Процедура СкопироватьВТаб2НаСервере() ТЧ = Объект.ТаблицаSMD.Выгрузить(); Справочники.Прогноз.ТаблицыСравнения.Таб2.Загрузить(ТЧ); КонецПроцедуры &НаКлиенте Процедура СкопироватьВТаб2(Команда) СкопироватьВТаб2НаСервере(); КонецПроцедуры |
|||
21
Олеся999
09.02.15
✎
08:49
|
(19) Мне нужно из таблицы одного справочника, скопировать данные, в таблицу другого справочника ... Далее..что бы в каждой таблице провести свой расчет а потом эти таблицы просуммировать.
|
|||
22
Cube
09.02.15
✎
08:58
|
(21) "из таблицы одного справочника, скопировать данные, в таблицу другого справочника"
Не понятно... Нельзя из справочника ничего копировать и записывать в него тоже нельзя. Из ЭЛЕМЕНТОВ справочника можно. Но, опять же, не понятно, откуда берется элемент справочника 2... Его нужно новый создать и заполнить или его пользователь должен указать? |
|||
23
Олеся999
09.02.15
✎
09:51
|
(22) Ну в предопределенный ранее созданный
|
|||
24
Cube
09.02.15
✎
09:58
|
(23) Делай примерно так:
&НаСервере Процедура СкопироватьВТаб2НаСервере(СсылкаНаПрогноз) ОбъектПрогноз = СсылкаНаПрогноз.ПолучитьОбъект(); ОбъектПрогноз.ТаблицаDP.Загрузить(Объект.ТаблицаSMD.Выгрузить()); ОбъектПрогноз.Записать(); КонецПроцедуры &НаКлиенте Процедура СкопироватьВТаб2(Команда) СсылкаНаПрогноз = Справочники.Прогнозы.ПустаяСсылка(); Если ВвестиЗначение(СсылкаНаПрогноз) Тогда СкопироватьВТаб2НаСервере(СсылкаНаПрогноз); КонецЕсли; КонецПроцедуры |
|||
25
Олеся999
09.02.15
✎
10:36
|
&НаСервере
Процедура СкопироватьВТаб2НаСервере(СсылкаНаПрогноз) ОбъектПрогноз = СсылкаНаПрогноз.ПолучитьОбъект(); ОбъектПрогноз.Таб2.Загрузить(Объект.ТаблицаSMD.Выгрузить()); ОбъектПрогноз.Записать(); КонецПроцедуры &НаКлиенте Процедура СкопироватьВТаб2(Команда) СсылкаНаПрогноз = Справочники.Прогноз.ТаблицыСравнения.Пустая(); Если ВвестиЗначение(СсылкаНаПрогноз) Тогда СкопироватьВТаб2НаСервере(СсылкаНаПрогноз); КонецЕсли; КонецПроцедуры Пишет ошибку: {Справочник.СпецификацияТК.Форма.ФормаЭлемента.Форма(79,23)}: Переменная не определена (Справочники) СсылкаНаПрогноз = <<?>>Справочники.Прогноз.ТаблицыСравнения.Пустая(); (Проверка: Тонкий клиент) ТаблицыСравнения- это предопределенный элемент в котором содержится Таб2 |
|||
26
Cube
09.02.15
✎
10:40
|
(25) Потому что надо писать правильно...
Вместо СсылкаНаПрогноз = Справочники.Прогноз.ТаблицыСравнения.Пустая(); пиши СсылкаНаПрогноз = ПредопределенноеЗначение("Справочник.Прогноз.ПустаяСсылка"); |
|||
27
ShoGUN
09.02.15
✎
10:40
|
(25) На клиенте это недоступно, перенеси весь код на сервер, на клиенте оставь только вызов серверной процедуры.
И матчасть подучи, что ли, что за программирование методом тыка? |
|||
28
ShoGUN
09.02.15
✎
10:41
|
(26) Не проще ли ссылку уже на сервере получить, зачем с клиента её передавать?
|
|||
29
Dmitrii
гуру
09.02.15
✎
10:42
|
У меня одного ощущение, что автор пытается написать стандартный функционал платформы создания объектов на основании и перенести стандартную ОбработкаЗаполнения чёрте куда?
|
|||
30
Cube
09.02.15
✎
10:50
|
(28) Ну, ежели ты сумеешь &НаСервере отобразить диалог выбора элемента справочника, то тебе надо памятник будет поставить.
|
|||
31
Cube
09.02.15
✎
10:51
|
(29) Ты не один, я с тобой :)
Но, как показывает практика, она на уточняющие вопросы практически не отвечает... Ну, хоть фотки выкладывает :) |
|||
32
ShoGUN
09.02.15
✎
10:52
|
(30) Тьфу ты, просмотрел. Сорри.
|
|||
33
Олеся999
09.02.15
✎
10:55
|
(26) Спасибо работает :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |