Можно ли заменить в спецификации вспомогательные объекты на базовые, не удаляя и не создавая заново эти объекты?
Может где-то можно просто переключить 1 на 0 :) Вряд ли конечно.
А если создавать новый базовый объект, то как сделать так, чтобы он создался точно в том же месте, где был вспомогательный?
Вот подошел я итератором к очередному вспомогательному объекту, на всякий случай получил от него все нужные тексты для создания нового объекта: формат, номер позиции, обозначение, наименование, кол-во. А дальше как действовать?
Только удалением и созданием заново.
А почему он не должен оказаться на том же месте если включена автосортировка?
Для создания объекта код примерно такой(API5):
specification.ksSpcObjectCreate("", 0, ChangeRazdel.Instance.NumberofRazdel, 0, 0, 0);
specification.ksSetSpcObjectColumnText(1, 1, 0, format);
specification.ksSetSpcObjectColumnText(2, 1, 0, zona);
specification.ksSetSpcObjectColumnText(3, 1, 0, pos);
specification.ksSetSpcObjectColumnText(4, 1, 0, Obozz);
specification.ksSetSpcObjectColumnText(5, 1, 0, Naimen);
specification.ksSetSpcObjectColumnText(6, 1, 0, kolvo);
specification.ksSetSpcObjectColumnText(7, 1, 0, prim);
specification.ksSetSpcObjectColumnText(8, 1, 0, massa);
specification.ksSpcObjectEnd();
API7 вроде не захотел заполнять доп. колонки.
А как узнать для текущего объекта номер раздела спецификации для создания нового объекта в том же разделе?
В SDK нашел как узнать название раздела в текстовом виде, а надо то в виде целого числа - 10, 20, 30.
Имеется только целое число obj - текущее значение итератора по вспомогательным объектам.
obj:=iter.ksMoveIterator('F');
А из него надо как-то получить номер раздела. Не могу найти как.
Номер раздела можно получить из текстового названия типа if s='Детали' then n:=20;
Новые базовые объекты создаются в конце раздела. Теперь не могу понять как удалить старый вспомогательный объект.
obj:=iter.ksMoveIterator('N');
DeleteObject(obj); - это не работает.
А как правильно удалить строку тогда?
разобрался, надо же было делать ksDeleteObj(obj);
ТрындецЪ дописывал макрос. Посмотрите тему.
http://forum.ascon.ru/index.php/topic,31324.0.html
Я свою функцию конвертирования объектов сделал таки.
А тот макрос у меня не работает, наверное я как-то не так использую.
Строки копирует и вставляет в другой раздел хорошо (но правда вставляет уже как вспомогательные, "базовость" теряется).
А вот конвертация в базовые объекты не работает, все остается как было. У меня Python 3 вроде. Ну да ладно. Все равно хороший макрос.
Я вроде поискал сегодня по форуму такую задачу конвертирования, вдруг кто озадачивался уже, но не нашел и кинулся сам писать :)