Страница 1 из 2

VIP, копирование строки таблицы

Добавлено: 01 фев 2006, 11:49
Johny
Есть ли функция, позволяющая скопировать строку таблицы? Или нужно писать свою? Больно не хочеться, для каждой таблицы, строку которой нужно скопировать создавать некую структуру с перечислением всех полей (просто таблцицы типа MNPLAN и пр слишком объемные)

А еще лучше, хотелось бы узнать как называется фейс (и параметры) стандартный, который отрабатывает в модуле Планирование производства по Ctrl+F2 и Ctrl+F3 (Копировать документ в буфер и вставить из буфера),
может его как-то прикрутить надо.

Задача - пакетом скопировать плановые документы, и кое-какую коррекцию произвести на исходных документах.

Добавлено: 01 фев 2006, 11:57
Алексей
Делаете навигацию по таблице, останавливаетесь на нужной записи.

table.nrec :=0;
table.field := нужные значения
...........
table.field := нужные значения
insert current table;

Запись вставится в таблицу с теми полями, которые вы не трогали и с теми, которые вы изменили (с измененными значениями).

Единственное - не менять поля, по которой произведена подцепка, либо попробовать делать External _Loop

Добавлено: 01 фев 2006, 12:01
Johny
Попробую.
Одно уточнение
table.nrec :=0
Это к чему? Это обязательно или тут так просто вписано?

Добавлено: 01 фев 2006, 12:05
Алексей
Это что бы обнулить нрек, при вставке, он присвоется следующий по значению. Если не сделать - возникнет исключение по дублированию Нрека.

Добавлено: 01 фев 2006, 12:20
Johny
А вот и спасибо, а вот и получилось. Ухожу в работу. :?

Добавлено: 01 фев 2006, 12:42
oiko
Используй алгоритм 22 - копирование и агрегация

Добавлено: 01 фев 2006, 12:46
Алексей
oiko
а по подробнее можно, что за алгоритм 22 ?

Добавлено: 01 фев 2006, 13:01
Johny
Это алгоритм в производственных модулях, который позволяет копировать документы. Только он тут не подходит, я пробовал

Эх, если бы оно работало. Он не подходит. Причина - нуно, чтобы входящие связки сохранялись в первозданном виде. Пример:

Заявка->План1.

А если копирую план 22-м, то связь будет уже План1->План2, а нуно Заявка->План2

И там еще нюансы есть.

Добавлено: 01 фев 2006, 14:35
oiko
Связка будет Заявка - План1 -План2
Зато и копировать можно в другой шаблон

Добавлено: 01 фев 2006, 14:38
oiko
Можно настроить корректировку плана2 по изменению плана1

Добавлено: 01 фев 2006, 15:03
Johny
Использовать 43 ?
Тут не подходит.
Тут задача какая:
Есть 6 документов (6 разделова плана)
Они формируются на основе заявок. (Получается, что для одной заявки 6 исходящих в каждый тип плана)
Так вот эти планы являются текущими. И из этих планов нужно удалять позиции по отработанным заявкам.
Удалять не проблема, проблема, что иногда требуется выгрузить план за старый период. Вот для этого я и хочу делать "снимок" за каждый период планирования. А текущие планы корректировать (удалять позиции по закрытым заявкам на дату архивации)

Добавлено: 01 фев 2006, 16:07
oiko
Можно как раз после создания плана его копировать с другим шаблоном назвав например "Архив" и дальше работать можно из заявок формировать 2 плана рабочий и архивный. Можно не удалять позиции а ставить им статус закрытый (или без статуса) работу алгоритмов настроить на статусы позиций, настроить фильтр представления на нужный статус сразу т.е. изменил статус и позиция сразу исчезла из видимости и т.д.

Добавлено: 01 фев 2006, 16:14
Johny
С этой стороны я не заходил, настроил по другому.

Тут у меня на вскидку кое какие вопросы сразу появляются:
1) Архивных планов должно быть много (за каждый период планирования, то есть 12 штук в год) Тут надо настраивать еще как-то автоматическое создание нового плана в какой-то момент времени и обзывание его архивным. Ну в принципе можно поковыряться (хотя как это сделать я сходу и не скажу)

2)
Можно не удалять позиции а ставить им статус закрытый ... изменил статус и позиция сразу исчезла из видимости
А вот тут уже проблема. Активный план и так содержит порядка 500 позиций (строк) Так он уже в таком виде тормозит. Что с ним будет если из него еще и позиции не удалять, я вообще не предстваляю.
А статусы я активно использую. Их куча у меня.

Добавлено: 01 фев 2006, 16:29
oiko
Johny писал(а):С этой стороны я не заходил, настроил по другому.

Тут у меня на вскидку кое какие вопросы сразу появляются:
1) Архивных планов должно быть много (за каждый период планирования, то есть 12 штук в год) Тут надо настраивать еще как-то автоматическое создание нового плана в какой-то момент времени и обзывание его архивным. Ну в принципе можно поковыряться (хотя как это сделать я сходу и не скажу)

Так делай одновременно по 2 раным шаблонам план и все, в одном работай а в другом никаких алгоритмов не прописывай.

2)
Можно не удалять позиции а ставить им статус закрытый ... изменил статус и позиция сразу исчезла из видимости
А вот тут уже проблема. Активный план и так содержит порядка 500 позиций (строк) Так он уже в таком виде тормозит. Что с ним будет если из него еще и позиции не удалять, я вообще не предстваляю.
А статусы я активно использую. Их куча у меня.
У меня ПЗ содержит более 2000 позиций я нем ничего не удаляю, так и мило живем с небольшими/большими тормозами. :smile:

Добавлено: 01 фев 2006, 17:04
Johny
Так у меня план всего первый месяц толком работает. Соотв, через пару месяцев совсем завал с таким подходом будет. Не, я быстрее фейс напишу. Тем более, что эти таблы типа MNPLAN, OBJACCT, SPMNPL и пр. от зубов уже отскакивают :)
Осталось только алгоритм проработать