8.х Вывод в табличную часть документа

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем AleksP, 7 авг 2012.

  1. TopicStarter Overlay
    AleksP
    Offline

    AleksP

    Регистрация:
    17 июл 2012
    Сообщения:
    44
    Симпатии:
    0
    Баллы:
    1
    Здраствуйте, помогите с решением вот такой проблемы. Необходимо заполнить табличную часть документа значениями из определеной группы. Вот код:
    Код:
    ФормаВыбора = Справочники.Номенклатура.ПолучитьФормуВыбораГруппы();
    ФормаВыбора.Заголовок = "Выберите группу номенклатур";
    ФормаВыбора.РежимВыбора = Истина;
    
    СписокНом = ФормаВыбора.ОткрытьМодально();
    Если Не ЗначениеЗаполнено(СписокНом) Тогда
    Возврат;
    КонецЕсли;
    
    СпрНом = Справочники.Номенклатура;
    Группа = СпрНом.НайтиПоНаименованию(СписокНом);
    Выборка = СпрНом.Выбрать(Группа);
    
    СтруктураПоиска = Новый Структура;
    Пока Выборка.Следующий() = 1 Цикл
    СтруктураПоиска.Вставить("Номенклатура", Выборка.Наименование);
    СтрокаТабличнойЧасти = ОбработкаТабличныхЧастей.НайтиСтрокуТабЧасти(ТаблицаЦен,СтруктураПоиска);
    Если СтрокаТабличнойЧасти = Неопределено Тогда
    СтрокаТабличнойЧасти = ТаблицаЦен.Добавить();
    СтрокаТабличнойЧасти.Номенклатура = Выборка.Наименование;
    КонецЕсли;
    //Сообщить("Номенклатура" + Выборка.Наименование);
    КонецЦикла;
    
    Алгоритм работает, в табличной части выводится нумерованный список по количеству элементов в группе. Однако, СтрокаТабличнойЧасти.Номенклатура = Выборка.Наименование ничего не выводится. Конфигурация 1с 8.2 УПП.
  2. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    все данные храняться на сервере, следовательно все манипуляции с данными производить надо тоже не сервере.
  3. Draco
    Online

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    А разве строка
    СписокНом = ФормаВыбора.ОткрытьМодально(); не возвращает вам в СписокНом ссылку на выбранную группу
    Зачем Вам еще делать Группа = СпрНом.НайтиПоНаименованию(СписокНом);
    Когда выьранная вами группа Это СписокНом
    Попробуйте Выборка = СпрНом.Выбрать(СписокНом);
  4. TopicStarter Overlay
    AleksP
    Offline

    AleksP

    Регистрация:
    17 июл 2012
    Сообщения:
    44
    Симпатии:
    0
    Баллы:
    1
    Попробовал не помогло то же самое. Я делал вывод в "Сообщить" выводит то, что нужно, мне кажется ошибка где в присваивании табличной части.
  5. Draco
    Online

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Я сомневаюсь, что НайтиСтрокуТабЧасти(ТаблицаЦен,СтруктураПоиска) ищет по наименованию.
    Замените везеде Выборка.Наименование на Выборка.Ссылка
    Вы же и тут должны ссылку на обект передать, а не наименование СтрокаТабличнойЧасти.Номенклатура = Выборка.Наименование;
  6. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    а вы каждый раз добавляете элемент Номенклатура в структуру СтруктураПоиска.Вставить("Номенклатура", Выборка.Наименование); без Очистить? Могу конечно ошибаться, но врядли он перезаписывается, а каждый раз явно структура разрастается. Посмотрите отладчиком
  7. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Какой тип у значений в колонке "Номенклатура" в таблице "ТаблицаЦен" ?
  8. TopicStarter Overlay
    AleksP
    Offline

    AleksP

    Регистрация:
    17 июл 2012
    Сообщения:
    44
    Симпатии:
    0
    Баллы:
    1
    Это пока только примерчик с целью "чтоб заработало". С делал так как посоветовал Draco заработало. Большое спасибо.
  9. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Документ какой ?

    ОК :)

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