helpf.pro
Регистрация

v8: Заполнения реквизитов в форме номенклатуры по строке наименования

Dana
30.03.2020 11:29Прочитано: 822

Добрый день! Для заполнения реквизитов в форме номенклатуры по строке наименования в 1С 7 использую такую процедуру:

Процедура Взять()

спЧасти=СоздатьОбъект("СписокЗначений");

Наим=СокрЛП(Наименование);

Для сч=1 По 3 Цикл

Если ПустаяСтрока(Наим)=1 Тогда

спЧасти.ДобавитьЗначение("",Строка(сч));

Продолжить;

КонецЕсли;

Раздел=Найти(Наим," ");

Если Раздел=0 Тогда

спЧасти.ДобавитьЗначение(Наим,Строка(сч));

Наим="";

Иначе

спЧасти.ДобавитьЗначение(Лев(Наим,Раздел-1),Строка(сч));

Наим=Прав(Наим,СтрДлина(Наим)-Раздел);

КонецЕсли;

КонецЦикла;

Артикул=спЧасти.ПолучитьЗначение(1);

стрКласс=спЧасти.ПолучитьЗначение(2);

стрРод=Лев(спЧасти.ПолучитьЗначение(3),3);

Класс="";

Если ПустаяСтрока(стрКласс)=0 Тогда

спрКласс=СоздатьОбъект("Справочник.КлассТовара");

спрКласс.НайтиПоНаименованию(стрКласс);

Если спрКласс.Выбран()=1 Тогда

Класс=спрКласс.ТекущийЭлемент();

КонецЕсли;

КонецЕсли;

Род="";

Если ПустаяСтрока(стрРод)=0 Тогда

перРод=Перечисление.РодТовара.ЗначениеПоИдентификатору(стрРод);

Если ПустоеЗначение(перРод)=0 Тогда

Род=перРод;

КонецЕсли;

КонецЕсли;

КонецПроцедуры

При переходе на УТ 11.4 нужно сделать внешнюю обработку для этой же задачи.

Может кто-нибудь помочь?

Yandex
Возможно, вас также заинтересует
Реклама на портале
Dana
31.03.2020 05:19Ответ № 1

Никто не знает как сделать такую же процедуру в 8.3?

PahaB
31.03.2020 06:38Ответ № 2

создание происходит по-другому: 

Код 1C v 7.x
 спЧасти=СоздатьОбъект("СписокЗначений");
Код 1C v 7.x
 спрКласс=СоздатьОбъект("Справочник.КлассТовара");
Код 1C v 8.3
 спЧасти = Новый СписокЗначений;   
Код 1C v 8.3
 спрКласс=Справочники.КлассТовара.СоздатьЭлемент();   

попробуй переписать эти методы.

Dana
31.03.2020 07:55Ответ № 3

Спасибо, но 1 - возможно, а 2 - в УТ 11 КлассТовара - это не справочник, а допреквизит номенклатуры.

PahaB
31.03.2020 10:56Ответ № 4

допРеквизит, тогда попробуйте РегистрыСведений.ДополнительныеРеквизиты.СоздатьНаборЗаписей() или РегистрыСведений.ДополнительныеРеквизиты.СоздатьНаборЗаписей(). Если я правильно вас понял.

Dana
31.03.2020 11:56Ответ № 5

Похоже разобралась, просто нужно использовать: РеквизитыФормыВСтроку и обратную.

Dana
31.03.2020 11:56Ответ № 6

Похоже разобралась, просто нужно использовать: РеквизитыФормыВСтроку и обратную.

Dana
31.03.2020 11:56Ответ № 7

Похоже разобралась, просто нужно использовать: РеквизитыФормыВСтроку и обратную.

PahaB
31.03.2020 12:22Ответ № 8

Хорошо!

Подсказка: Для редактирования своего ответа щелкните по значку (справа)
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.