1. Спонсор публикаций Marketplace codeby. Сервис, который так долго ждали. При расчетах используем биткоин. Первый товар уже в продаже: Консультация на тему ИБ от Ondrik8

    Скрыть объявление
  2. Спонсор публикаций Marketplace codeby. Сервис, который так долго ждали. При расчетах используем биткоин. Второй товар маркетплейса: Надёжная обфускация вашей программы от PingVinich

    Скрыть объявление

Простая обработка не работает

Тема в разделе "1C и всё что с ней связано", создана пользователем Dzo, 20 ноя 2009.

  1. Dzo

    Dzo Active Member

    Репутация:
    0
    Регистрация:
    13 апр 2009
    Сообщения:
    38
    Симпатии:
    0
    Прошу прощения, возможно где то уже было, если так то ткните..

    Есть простая обработка (писал сам)

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

    ошибок никаких нет. При запуске ertшки снизу написано. Выполняется обработка, однако сообщений не выводится, подскажите в чем может быть проблема? Заранее благодарен.

    1с7.7 ТиС
     
  2. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Репутация:
    0
    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    ну во первых отладчик в руки и вперед! и каждую стоку смотреть
     
  3. vbs

    vbs Well-Known Member

    Репутация:
    0
    Регистрация:
    18 фев 2007
    Сообщения:
    1.708
    Симпатии:
    3
    После этой строки вставь цикл выборки из справочника СпрСН
    СпрСН.ВыбратьЭлементы();
    Пока СпрСН.ПолучитьЭлемент() = 1 цикл
    Производ=СпрСН.ЗначениеСвойства;
    Сообщить(Товар + " " + Производ);
    КонецЦикла
     
  4. Max 1C

    Max 1C Гость

    Репутация:
    0
    1.Для выборки из подчиненного справочника нужно применять ИспользоватьВладельца(), ИспользоватьРодителя() применяется для выбора элементов внутри группы одного справочника
    2.Справочник "СвойстваНоменклатуры" подчинен справочнику "Номенклатура"
    3.Справочник "СвойстваНоменклатуры" не имеет ни кода, ни наименования=>ищем по реквизиту, или делаем выборку по реквизиту
    4.При выводе сообщения необходимо либо явное преобразование товара в тип "Строка": Строка(Товар), т.к. за ним следует строковое выражение, либо вывод наименования Товар.Наименование
    Рабочий код:

    Процедура Сформировать()
    Таб=СоздатьОбъект("Таблица");

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

    //СпрВС.ИспользоватьРодителя(Товар);
    //Выносим из цикла, т.к. вид свойства для всех товаров общий - производитель
    СпрВС.НайтиПоНаименованию("Производитель",0,1);
    Производитель=СпрВС.ТекущийЭлемент();

    СпрН.ВыбратьЭлементы();
    Пока СпрН.ПолучитьЭлемент()=1 Цикл
    Товар=СпрН.ТекущийЭлемент();
    Если Товар.ЭтоГруппа()=1 Тогда
    Продолжить
    КонецЕсли;

    //СпрСН.ИспользоватьРодителя(Производитель);
    //Производ=СпрСН.ЗначениеСвойства;
    СпрСН.ИспользоватьВладельца(Товар);
    СпрСН.ВыбратьЭлементыПоРеквизиту("ВидСвойства",Производитель,1,0);
    Пока СпрСН.ПолучитьЭлемент()=1 Цикл
    Производ=СпрСН.ЗначениеСвойства;
    Сообщить(Товар.Наименование + " " + Производ);
    КонецЦикла;
    КонецЦикла;
    КонецПроцедуры
     
Загрузка...

Поделиться этой страницей