8.х Помогите плз.

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Kugelfangg, 13 фев 2008.

  1. TopicStarter Overlay
    Kugelfangg
    Offline

    Kugelfangg Опытный в 1С

    Регистрация:
    13 фев 2008
    Сообщения:
    71
    Симпатии:
    0
    Баллы:
    26
    Проблема в том что не могу пренести РегистрыНакопления.ПартииТоваровНаСкладахОстатки.КоличествоОстаток в ячейку табличной части документа
    вот что получилось.но не работает, вместо цифр в ячеейке пишит "ТаблицаЗначений"
    ---------------------------------------------------------------------------------------------------------------------------
    Код:
    Процедура ТабличноеПоле1Колонка4ПриИзменении(Элемент)
    ИмяРегистра=регистрыНакопления.ПартииТоваровНаСкладах;
    РегистрыНакопления.ПартииТоваровНаСкладах.УстановитьПериодРассчитанныхИтогов(ТекущаяДата());
    Запрос = Новый Запрос(
    "ВЫБРАТЬ
    |    ПартииТоваровНаСкладахОстатки.КоличествоОстаток,
    |    ПартииТоваровНаСкладахОстатки.Номенклатура,
    |    ПартииТоваровНаСкладахОстатки.Номенклатура.Представление
    |ИЗ
    |    РегистрНакопления.ПартииТоваровНаСкладах.Остатки КАК ПартииТоваровНаСкладахОстатки");
    
    
    
    СтрокаТабличнойЧасти = ЭлементыФормы.Части.ТекущиеДанные;
    Если  ЗначениеЗаполнено(СтрокаТабличнойЧасти.Наименование) Тогда
    СтрокаТабличнойЧасти.Внал =Запрос.Выполнить().Выгрузить();
    КонецЕсли;
    
    КонецПроцедуры
    
    
    -----------------------------------------------------------------------------------------------------------------------------
    P.S. спс за внимание.
  2. DmitryS
    Offline

    DmitryS Опытный в 1С

    Регистрация:
    20 июл 2007
    Сообщения:
    119
    Симпатии:
    0
    Баллы:
    26
    1. Метод "Запрос.Выполнить().Выгрузить()" возвращает таблицу значений (или может вернуть ДеревоЗначений)

    2. Строка: РегистрыНакопления.ПартииТоваровНаСкладах.УстановитьПериодРассчитанныхИтогов(ТекущаяДата())
    накак не влияет на результат запроса. Нужно в запрос передать дату остатков:

    .....
    ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&ДатаОстатков) КАК ПартииТоваровНаСкладахОстатки

    ....

    Запрос.УстановитьПараметр("ДатаОстатков",ТекущаяДата());

    3. Посмотрите как это реализовано в стандартных конфигурациях, например в формах подбора товаров (Номенклатуры)
  3. TopicStarter Overlay
    Kugelfangg
    Offline

    Kugelfangg Опытный в 1С

    Регистрация:
    13 фев 2008
    Сообщения:
    71
    Симпатии:
    0
    Баллы:
    26
    спс. за совет.=)
  4. TopicStarter Overlay
    Kugelfangg
    Offline

    Kugelfangg Опытный в 1С

    Регистрация:
    13 фев 2008
    Сообщения:
    71
    Симпатии:
    0
    Баллы:
    26
    А как тогда реализовать запрос и перенос данных в ячейку, я уже 4 час над этим бъюсь
  5. lazy
    Offline

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

    Регистрация:
    1 сен 2007
    Сообщения:
    2.127
    Симпатии:
    4
    Баллы:
    29
    Попробуй заменить вот это безобразие:

    Код:
    СтрокаТабличнойЧасти = ЭлементыФормы.Части.ТекущиеДанные;
    Если ЗначениеЗаполнено(СтрокаТабличнойЧасти.Наименование) Тогда
    СтрокаТабличнойЧасти.Внал =Запрос.Выполнить().Выгрузить();
    КонецЕсли;
    
    
    На вот это безобразие:

    Код:
    Выборка = Запрос.Выполнить.Выбрать();
    Пока выборка.Следующий() Цикл
    Для каждого СтрТЧ из Части Цикл
    Если СтрТЧ.Номенклатура = Выборка.Номенклатура Тогда
    СтрТЧ.Внал = Выборка.КоличествоОстаток;
    КонецЕсли;
    КонецЦикла;
    КонецЦикла;
    
    

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