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

гуид товара

Автор sali, Вчера в 12:54

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

antoneus

Да, про это. Ну и почему бы не

Возврат Запись.Номенклатура

sali

antoneus, а почему?

antoneus

Что почему? Почему возвращать ссылку вместо строки? Чтобы не возиться потом с ее получением, увеличивая тем самым энтропию Вселенной.

sali

antoneus, но запись.номенклатура тоже строковый тип данных в рс

antoneus

Ну, крутой рс. А что там хранится?

sali

antoneus, сопоставленная номенклатура 1с и эдо. и все там строка,  я ж вам говорил.

antoneus

Ну в самом реквизите Номенклатура - что хранится? Вообще, желательно, чтобы и названия регистров совпадали с тем, что в них хранится. "Сопоставление номенклатуры" подразумевает именно что сопоставление ссылок на номенклатуру и данных эдо. Ну или в поле ГУИДПриемник хотя бы хранится гуид номенклатуры в базе. И функция находит запись по гуиду источника и возвращает гуид приемника. Короче, что-то в консерватории надо подправить.

sali

IDТовара = ПараметрыСтрокиТовары.ID;
                    Если СопоставлятьНоменклатуру Тогда   
                        НайденаяНоменклатура = ПолучитьНоменклатуруИзРегистраСопоставления(IDТовара);   
                        Номенклатура = Справочники["Номенклатура"].ПолучитьСсылку(Новый УникальныйИдентификатор(НайденаяНоменклатура));
                    Иначе
                        Номенклатура = Справочники["Номенклатура"].ПолучитьСсылку(Новый УникальныйИдентификатор(ПараметрыСтрокиТовары.ID));
                    КонецЕсли;
                   
                    ПараметрыОтбора = Новый Структура;
                    ПараметрыОтбора.Вставить("Номенклатура", Номенклатура);
                    НайденныеСтроки = ДокументОбъект.Товары.НайтиСтроки(ПараметрыОтбора);

&НаСервере
Функция ПолучитьНоменклатуруИзРегистраСопоставления(IDТовара)   
   
    мНаборЗаписей = РегистрыСведений.СопоставлениеНоменклатуры.СоздатьНаборЗаписей();
    //    мНаборЗаписей.Отбор.ГУИДИсточник.Установить(IDТовара);
    мНаборЗаписей.Прочитать();
   
    Для каждого Запись Из мНаборЗаписей Цикл 
        Если Запись.ГУИДИсточник = IDТовара Тогда
                Возврат Запись.ГУИДИсточник;
        Иначе
            Возврат Неопределено;
        КонецЕсли;
    КонецЦикла;
   
КонецФункции

ну вот че не так??

sali

Цитата: antoneus от Вчера в 14:41Ну в самом реквизите Номенклатура - что хранится?
название номенклатуры как оно создано в 1с

sali


Теги:

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

Рейтинг@Mail.ru

Поиск