7.7 Как вытащить данные из документа?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Tolik, 3 июл 2006.

  1. TopicStarter Overlay
    Tolik
    Offline

    Tolik Гость Гость

    Нужно из документа СчетФактура вытащить Наименование, Единицу Измерения, Количество, Сумму, НДС и т.д. и забить эти данные в отчет. Как это сделать?
  2. knm_work
    Offline

    knm_work

    Регистрация:
    3 июл 2006
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    Док=СоздатьОбъект("СчетФактура");

    Док.ВыбратьДокументы(НачДата,КонДата);
    ПОка Док.ПолучитьДокумент()=1 Цикл
    Док.ВыбратьСтроки();
    Пока ДОк.ПОлучитьСтроку()=1 цикл
    ТЗ.наименование=ДокНаименование;
    Тз.ЕдиницаИзмерения=Док.ЕдиницаИзмерения;
    и т.д.
    КонецЦикла;
    КонецЦикла;
    Что то вроде этого :unsure:
  3. рамиль
    Offline

    рамиль Опытный в 1С

    Регистрация:
    12 мар 2006
    Сообщения:
    595
    Симпатии:
    0
    Баллы:
    26
    Используйте "конструктор запросов"
  4. TopicStarter Overlay
    Гость
    Offline

    Гость Гость Гость

    Запросы не прокатят, некоторые поля нужно брать из справочника Номенклатура и Материалы, такие как например Единица измерения и Код. Кстати как это сделать я тоже не знаю. И главный вопрос:
    Вот моя программа:
    //*******************************************
    Процедура Сформировать()
    Док = СоздатьОбъект("Документ.СчетФактура");
    Таб = СоздатьОбъект ("Таблица");
    Док.ВыбратьДокументы(Дата1,Дата2);
    Таб.ИсходнаяТаблица("Табл");
    Таб.ВывестиСекцию("Шапка");
    ОбрабатыватьДокумент=1;
    Пока Док.ПолучитьДокумент() > 0 Цикл

    Док.ВыбратьСтроки();
    Пока Док.ПолучитьСтроку() > 0 Цикл
    Цена = Строка(Док.Цена);
    Наим = Строка(Док.Товар);
    КонецЦикла;
    Таб.ВывестиСекцию("Строка");
    КонецЦикла;
    Таб.ТолькоПросмотр(1);
    Таб.Опции(0,0,0,0);
    Таб.Показать("Сводная ведомость");


    КонецПроцедуры
    Процедура ПриОткрытии();
    Дата1 = КонецРассчитанногоПериодаБИ();
    Дата2 = НачалоПериодаБИ();
    КонецПроцедуры



    Дак вот, Цена и Наим выводятся в таблице как Цена и Наим, а не их значения. В таблице тип строки - выражение. Почему значения не выводятся понять не могу, мож знает кто?
  5. TopicStarter Overlay
    Гость
    Offline

    Гость Гость Гость

    Ещё пробовал выводить не строку, а просто выражение, тоже не выводит, пробовал выражения писать в самой таблице, а не в модуле, тоже не выводит, уже незнаю чего и делать то.
  6. Byte
    Offline

    Byte

    Регистрация:
    3 июл 2006
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Попробуй в ячейках прописать Док.Цена и Док.Товар проставь Тип - Выражение, а в коде дето так:
    Док.ВыбратьСтроки();
    Пока Док.ПолучитьСтроку() > 0 Цикл
    КонецЦикла;
    Таб.ВывестиСекцию("Строка");

    ОЙ! Дак у тебя ж Таб.ВывестиСекцию("Строка"); не на том месте!!! или это очепятка? :) Должно быть так:

    Док.ВыбратьСтроки();
    Пока Док.ПолучитьСтроку() > 0 Цикл
    Таб.ВывестиСекцию("Строка");
    КонецЦикла;
  7. рамиль
    Offline

    рамиль Опытный в 1С

    Регистрация:
    12 мар 2006
    Сообщения:
    595
    Симпатии:
    0
    Баллы:
    26
    Док.ВыбратьСтроки();
    Пока Док.ПолучитьСтроку() > 0 Цикл
    Цена = Строка(Док.Цена);
    Наим = Строка(Док.Товар);
    Таб.ВывестиСекцию("Строка");
    КонецЦикла;

    КонецЦикла;
    Таб.ТолькоПросмотр(1);
    Таб.Опции(0,0,0,0);
    Таб.Показать("Сводная ведомость");
    Нужно выводить строку внутри цикла , либо объявить ЦЕНА и Товар как Переменные всей формы
  8. Tolikv
    Offline

    Tolikv

    Регистрация:
    4 июл 2006
    Сообщения:
    25
    Симпатии:
    0
    Баллы:
    1
    А как вытянуть пару полей из справочника и забить их в таблицу? Суть такая: Если в документе СчетФактура наименование товара совпадает с наименованием в Справочнике Номенклатура или Материалы тогда нужно взять из этих справочников Код этого товара и Единицу измерения и забить их в таблицу.
  9. Tolikv
    Offline

    Tolikv

    Регистрация:
    4 июл 2006
    Сообщения:
    25
    Симпатии:
    0
    Баллы:
    1
    Щас попробовал поставить эту строку Таб.ВывестиСекцию("Строка"); в цикл как сказали, толку нету...

    Вот выложил этот отчет, посмотрите кому не трудно.

    Вложения:

    • SodVed.rar
      Размер файла:
      11,6 КБ
      Просмотров:
      153
  10. рамиль
    Offline

    рамиль Опытный в 1С

    Регистрация:
    12 мар 2006
    Сообщения:
    595
    Симпатии:
    0
    Баллы:
    26
    Сначало отчет не работал, затем убрал защиту с ечеек "наим" и "цена" , заработал. :unsure:
  11. Tolikv
    Offline

    Tolikv

    Регистрация:
    4 июл 2006
    Сообщения:
    25
    Симпатии:
    0
    Баллы:
    1
    Оказалось так всё просто!!!
  12. Byte
    Offline

    Byte

    Регистрация:
    3 июл 2006
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Если я правильно понял то просто напрямую обращайся:
    Код = Док.Товар.Код;
    Ед = Док.Товар.БазЕд; - ну или ед. по умолчанию, не помню как там...
  13. Tolikv
    Offline

    Tolikv

    Регистрация:
    4 июл 2006
    Сообщения:
    25
    Симпатии:
    0
    Баллы:
    1
    Всем спасибо! Разобрался.

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