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

При копировании номенклатуры не копируются имеющиеся в ней спецификации

Автор Тимур_про, 02 сен 2024, 23:13

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

Тимур_про

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

Процедура Расш_ПередЗаписью(Отказ, ПараметрыЗаписи)
   
     Если ПараметрыЗаписи.РежимЗаписи = РежимЗаписи.Добавление Тогда
        // Получаем объект текущего элемента номенклатуры
        ТекущийЭлемент = ЭтотОбъект.ТекущийЭлемент();

        // Вызываем процедуру копирования
        Расш_КопироватьСпецификации(ТекущийЭлемент);
    КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура Расш_ПослеЗаписи(Отказ, ПараметрыЗаписи)
    Если ПараметрыЗаписи.РежимЗаписи = РежимЗаписи.Добавление Тогда
        // Получаем объект текущего элемента номенклатуры
        ТекущийЭлемент = ЭтотОбъект.ТекущийЭлемент();

        // Вызываем процедуру копирования
        Расш_КопироватьСпецификации(ТекущийЭлемент);
    КонецЕсли;
КонецПроцедуры

Процедура Расш_КопироватьСпецификации(НоваяНоменклатура)
    // Проверяем, есть ли у исходной номенклатуры спецификации
    Если НоваяНоменклатура.Спефикации.Количество() > 0 Тогда
        // Цикл по спецификациям исходной номенклатуры
        Для Каждого Спецификация Из НоваяНоменклатура.Спефикации Цикл
            // Создаем новую спецификацию в новой номенклатуре
            НоваяСпецификация = НоваяНоменклатура.Спефикации.Создать("Новый элемент");
            // Копируем данные из исходной спецификации
            НоваяСпецификация.Номенклатура = Спецификация.Номенклатура;
            НоваяСпецификация.Количество = Спецификация.Количество;
            НоваяСпецификация.Цена = Спецификация.Цена;
            // Дополнительно: скопировать другие свойства спецификации, если нужно
            // Например: НоваяСпецификация.ЕдиницаИзмерения = Спецификация.ЕдиницаИзмерения;
           
            // Записываем новую спецификацию
            НоваяСпецификация.Записать();
        КонецЦикла;
    КонецЕсли;
КонецПроцедуры

Синтаксических ошибок нет. Версия 1С Бухгалтерия 3.0

alexandr_ll

Тимур_про, пропущены буквы
НоваяНоменклатура.Спефикациинадо
НоваяНоменклатура.Спецификации

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

Рейтинг@Mail.ru

Поиск