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

гуид товара

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

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

antoneus

Да всё не так.

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

Цитата: sali от Вчера в 14:44название номенклатуры как оно создано в 1с

А почему не класть туда ссылку? Толк там какой от этого наименования?

sali

antoneus, потому что нужно для этого в расширение добавить справочник Номенклатура чтобы задать тип данных справочникссылка в реквизите регистра сведений. а это расширение делается для унф и бухгалтерии . если разрабатывать расширение в базе унф и добавить справочник, а потом загрузить это же расширение в базу бухгалтерии то оно ругнется на справочник. так как он не понятен для базы

antoneus

Ну так может из функции надо все-таки ГУИДПриемник возвращать? Или я вообще отказываюсь понимать как там у вас все устроено.

sali

antoneus, так я написал приемник теперь проверить не могу потому что соединение прервали :thwrt:  ;)

fruitella

Лучше использовать отбор, вместо наименования ссылку на справочник, для каждой базы юзай свое расширение.

sali

Цитата: fruitella от Вчера в 16:19для каждой базы юзай свое расширение.
нет . так было задумано

sali

и все равно объект не найден &НаСервере
Функция ПолучитьНоменклатуруИзРегистраСопоставления(IDТовара)   

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

Для каждого Запись Из мНаборЗаписей Цикл 
Если Запись.ГУИДИсточник = IDТовара Тогда
Возврат Запись.ГУИДПриёмник;
КонецЕсли;
КонецЦикла;

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

ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Номенклатура", Номенклатура);
НайденныеСтроки = ДокументОбъект.Товары.НайтиСтроки(ПараметрыОтбора);

я тупой или оно должно работать просто не находит такой номенклатуры???

sali

да. он его не находит в справочнике . сделал обработку для поиска по гуиду и все нормально когда взял уже имеющуюся

sali

вчера еще думал проверить так, мозг мне парило это ЭДО

antoneus

Говорю же - не обрабатывается возврат неопределено. Раза три сказал и так и сяк.

Теги:

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

Рейтинг@Mail.ru

Поиск