Как поменять ЕдиницуИзмерения Номенклатуры с проведенными доками

1. andersss 06.09.13 17:29 Сейчас в теме
Добрый день. После обмена слетели ЕдиницаХраненияОстатков и ЕдиницаДляОтчетов, с обменом разобрался... Осталась базовая можно по ней восстановить, номенклатура с проведенными доками(доки распровести не могу). Пробовал так
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.БазоваяЕдиницаИзмерения,
| Номенклатура.ЕдиницаХраненияОстатков,
| Номенклатура.ЕдиницаДляОтчетов,
| Номенклатура.Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.ЭтоГруппа = ЛОЖЬ";

Результат = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = Результат.Выбрать();

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

Ругаеться Поле для записи не доступно, подскажите как записать?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. AnryMc 849 06.09.13 17:47 Сейчас в теме
(1) andersss,

Объект.Записать();
6. AnryMc 849 06.09.13 17:59 Сейчас в теме
(1) andersss,

И при всём этом, Вы не поменяете единицу измерения в документах, т.к. пытаетесь поменять их выборке.

Надо:

Объект=ВыборкаДетальныеЗаписи.ССылка.ПолучитьОбъект();
Объект.ЕдиницаХраненияОстатков=ВыборкаДетальныеЗаписи.БазоваяЕдиницаИзмерения; 
Объект.ЕдиницаДляОтчетов=ВыборкаДетальныеЗаписи.БазоваяЕдиницаИзмерения;

Объект.ОбменДанными.Загрузка=Истина;

Попытка
     Объект.Записать(РежимЗаписиДокумента.Проведение);
Исключение 
    Сообщить(ОписаниеОшибки() ,);
КонецПопытки;
Показать
3. AnryMc 849 06.09.13 17:49 Сейчас в теме
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
Записать (Write)
Синтаксис:
Записать(<РежимЗаписи>, <РежимПроведения>)
Параметры:
<РежимЗаписи> (необязательный)
Тип: РежимЗаписиДокумента.
Позволяет выбрать один из возможных режимов записи.
Значение по умолчанию: Запись
<РежимПроведения> (необязательный)
Тип: РежимПроведенияДокумента.
Позволяет выбрать один из возможных режимов проведения.
Значение по умолчанию: Неоперативный
Описание:
Записывает документ в базу данных.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Примечание:
Для документов с поддержкой уникальности номеров в процессе записи, если нужно, проверяется уникальность номера.
Пример:

Попытка
НовДокумент.Записать(РежимЗаписиДокумента.Проведение);
Исключение
Текст = "ru = ""Невозможно провести документ."";"
+ " en = ""Document needs reposting.""";
Предупреждение(НСтр(Текст));
КонецПопытки;


Показать
4. AnryMc 849 06.09.13 17:52 Сейчас в теме
(3) AnryMc,
Но я бв делал не так, как в синтатксис-помошнике, п так:

Попытка
     Объект.Записать(РежимЗаписиДокумента.Проведение);
Исключение 
    Сообщить(ОписаниеОшибки() ,);
КонецПопытки;
5. AnryMc 849 06.09.13 17:56 Сейчас в теме
А ещё перед записью документа хорошо использовать:

Объект.ОбменДанными.Загрузка=Истина;


ПараметрыОбменаДанными (DataExchangeParameters)
Загрузка (Load)
Использование:
Чтение и запись.
Описание:
Тип: Булево.
Если значение данного свойства Истина, то при выполнении записи или удаления данных будет производиться минимум проверок, так как при этом делается предположение, что производится запись данных, полученных через механизмы обмена данными, и эти данные корректны.
Доступность:
Сервер, толстый клиент, внешнее соединение.
7. AnryMc 849 06.09.13 18:02 Сейчас в теме
Пардон! не обратил внимания, что справочник. В строке
Объект.Записать(РежимЗаписиДокумента.Проведение);

нужно убрать "РежимЗаписиДокумента.Проведение"Получиться:
Объект.Записать();
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот