Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 ноя 2024, 21:09

Программно перезаписать элементы справочника

Автор ls600, 19 сен 2013, 08:21

0 Пользователей и 1 гость просматривают эту тему.

ls600

Доброго времени суток.
Подскажите как программно перезаписать все элементы справочника "Номенклатура".???
Заранее благодарен.






mixqn

Вообще все без исключения?
А зачем?

если действительно все подряд, то можно так например
НоменклатураВыборка = Справочники.Номенклатура.Выбрать();
Пока НоменклатураВыборка.Следующий() Цикл
НоменклатураОбъект = НоменклатураВыборка.ПолучитьОбъект();
НоменклатураОбъект.Записать();
КонецЦикла;

ls600

дело в том что перекидывал обработкой номенклатуру из одной базы в другую. все успешно.
создается документ поступление товара. товар добавляем из номенклатуры и снизу сообщение "не выбрана единица измерения!" т.е она как бы есть но ее нет. что бы она автоматом добавилась надо элемент справочника перезаписать. а элементов в справочнике 12 тыс.
при подборе видно что колонка единица измерения пустая.

Добавлено: 19 сен 2013, 09:17


Использую "универсальную обработку подбор и обработку объектов" в произвольном алгоритме вставил ваш код и что то думает долго.
P.S выбрал для начала около 50 элементов справочника.

LordWizard

Мне кажется, что нужно добавить открытие формы, запись с закрытием и все станет на свои места. 
Правильно ведите учет или пишите программы и вам воздастся!...

(Кстати - кнопочку Сказать Спасибо - никто не отменял)

mixqn

ну так значит не просто перезаписать надо, а значение реквизитов еще изменить. простая перезапись тут не поможет.
по всей видимости, установить нужно единицу хранения остатков. скорее всего без повторного переноса (или допереноса единиц) из другой базы тут не обойтись, т.к. единиц измерения может быть много и какая из них - единица хранения остатков не известно, надо смотреть в первоисточнике.

ls600

Цитата: LordWizard от 19 сен 2013, 09:17
Мне кажется, что нужно добавить открытие формы, запись с закрытием и все станет на свои места. 

не затруднит код написать?

mixqn

Цитата: LordWizard от 19 сен 2013, 09:17
Мне кажется, что нужно добавить открытие формы, запись с закрытием и все станет на свои места. 
за счет чего оно встанет то? на каком основании будет выбрана единица измерения?

ls600

Цитата: mixqn от 19 сен 2013, 09:18
ну так значит не просто перезаписать надо, а значение реквизитов еще изменить. простая перезапись тут не поможет.
по всей видимости, установить нужно единицу хранения остатков. скорее всего без повторного переноса (или допереноса единиц) из другой базы тут не обойтись, т.к. единиц измерения может быть много и какая из них - единица хранения остатков не известно, надо смотреть в первоисточнике.
буду разбираться....

mixqn

Цитата: ls600 от 19 сен 2013, 09:21
Цитата: LordWizard от 19 сен 2013, 09:17
Мне кажется, что нужно добавить открытие формы, запись с закрытием и все станет на свои места. 

не затруднит код написать?
прежде чем код писать попробуйте "ручками", убедитесь на примере, что ничего не изменится

ls600

в ручную перезаписываешь все нормально! единицы измерения появляются.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск