Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
15 Дек 2017, 16:47
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Печатная форма  (Прочитано 3979 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн red14_88

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-01-22
  • Сайт: 
  • Профессия: Ученик 1С
Платформа 1С Предприятие 7.70.027
конфа Комплексная 7.70.501

Задача - получить печатную форму документа "Реализация", содержащую таблицу, состоящую из Номенклатуры, ее количества, и "сертификата". Где "Сертификат" это дополнительный реквизит в табличной части документа ПоступлениеТМЦРозница. Сертификат - это элемент справочника сертификатов, содержащего всего 3 текстовых поля и одно поле Дата.

Собственно проблема в получении и выгрузке данных в печатную форму, раньше работал только с восьмёркой.

Что нашёл: в строке как приходного, так и расходного документов, есть реквизит "Партия" одного и того же типа.

Вопросы:
1.как составить запрос, вытаскивающий нужные мне данные?
2.как эти данные из запроса выгрузить в печатную форму (саму форму создал)?

Заранее всем спасибо.


Оффлайн red14_88

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-01-22
  • Сайт: 
  • Профессия: Ученик 1С
Re: Печатная форма
« Ответ #1: 22 Янв 2011, 19:10 »
Вопрос №2 снят. Вопрос №1 совсем непонятен, как без соединений в базе получить данные...

Оффлайн prog1c7.7

  • Модератор
  • *****
  • Сообщений: 784
  • РЕПУТАЦИЯ: 260
  • КПД: 33%
  • ну - да , ну - да...
  • Регистрация: 2010-10-20
  • Сайт: 
  • Профессия: Программист 1С
Re: Печатная форма
« Ответ #2: 22 Янв 2011, 19:38 »
//если модуль внутри формы документа, то
выбратьстроки()
Пока получитьстроку() = 1 Цикл
......
......
......
Конеццикла;

Оффлайн red14_88

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-01-22
  • Сайт: 
  • Профессия: Ученик 1С
Re: Печатная форма
« Ответ #3: 22 Янв 2011, 20:09 »
//если модуль внутри формы документа, то
выбратьстроки()
Пока получитьстроку() = 1 Цикл
......
......
......
Конеццикла;
Пишу так :
ВыбратьСтроки ();     
НПП = 0;
Пока ПолучитьСтроку () = 1 Цикл
    УПартия = Партия;
УНоменклатура = Номенклатура;
ТекстЗапроса = "
|Партия = Документ.ПоступлениеТМЦРозница.Партия;
|Сертификат = Документ.ПоступлениеТМЦРозница.Сертификат;
|Группировка Партия;
|Условие(Партия = УПартия);
|Условие(Номенклатура = УНоменклатура);
|";
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Пока Запрос.Группировка(1) = 1 Цикл
НПП = НПП +1;
ПечТабл.ВывестиСекцию("Строка");
КонецЦикла;                        

КонецЦикла;
Но запрос не выполняется..

Оффлайн red14_88

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-01-22
  • Сайт: 
  • Профессия: Ученик 1С
Re: Печатная форма
« Ответ #4: 22 Янв 2011, 20:10 »
В учетной политике какой метод учета себестоимости прописан?
Где это можно посмотреть?

з.ы. как можно своё  сообщение отредактировать? а то билиберда получилась

Оффлайн red14_88

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-01-22
  • Сайт: 
  • Профессия: Ученик 1С
Re: Печатная форма
« Ответ #5: 22 Янв 2011, 20:15 »
2 prog1c7.7:
ВыбратьСтроки ();     
НПП = 0;
Пока ПолучитьСтроку () = 1 Цикл
    УПартия = Партия;
УНоменклатура = Номенклатура;
ТекстЗапроса = "
|Партия = Документ.ПоступлениеТМЦРозница.Партия;
|Сертификат = Документ.ПоступлениеТМЦРозница.Сертификат;
|Группировка Партия;
|Условие(Партия = УПартия);
|Условие(Номенклатура = УНоменклатура);
|";
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Пока Запрос.Группировка(1) = 1 Цикл
НПП = НПП +1;
ПечТабл.ВывестиСекцию("Строка");
КонецЦикла;                        

КонецЦикла;
Так пишу, а не запрос, скорее всего, неверен.

Оффлайн red14_88

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-01-22
  • Сайт: 
  • Профессия: Ученик 1С
Re: Печатная форма
« Ответ #6: 22 Янв 2011, 20:44 »
Используется FIFO

з.ы. при подстановке тегов кода опера показывает страшную ересь, IE немного лучше ( прошу прощения

Оффлайн red14_88

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-01-22
  • Сайт: 
  • Профессия: Ученик 1С
Re: Печатная форма
« Ответ #7: 22 Янв 2011, 21:06 »
Для проведенного документа выбираешь движения регистра ПартииНаличие (бери именно не перебором строк, т.к. возможно что реализуется товар из разных партий).
Из движения регистров добираешься до справочника Партии, через него в документ прихода, а там уже и до сертификата рукой подать.
Спасибо, буду пробовать, но примерчик не помешал бы совсем, особенно как мне указать условие отбора из нужного регистра.

Оффлайн red14_88

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-01-22
  • Сайт: 
  • Профессия: Ученик 1С
Re: Печатная форма
« Ответ #8: 22 Янв 2011, 22:27 »
Сертификат прикручен к приходному документу, как реквизит табличной части (как цена, партия и тд)

Пишу так:
############################################
   НПП = 0;               
   Рег=СоздатьОбъект("Регистр.ПартииНаличие");
   Если Рег.ВыбратьДвиженияДокумента(ТекущийДокумент())=1 Тогда
      Пока Рег.ПолучитьДвижение()=1 Цикл
         Партия = Рег.Партия;
         УНоменклатура = Рег.Номенклатура;
         Если ПустоеЗначение(Партия.ПриходныйДокумент)=0 Тогда
            ПриходныйДокумент = (Партия.ПриходныйДокумент);
         Иначе
            ПриходныйДокумент = "";
         КонецЕсли; 
         
         //Сообщить("123"+ПриходныйДокумент);
         
         ТекстЗапроса ="
            |Без итогов;
            |ТекущийДокумент = Документ.ПоступлениеТМЦРозница.ТекущийДокумент;
            |Номенклатура = Документ.ПоступлениеТМЦРозница.Номенклатура;
            |Партия = Документ.ПоступлениеТМЦРозница.Партия;
            |Сертификат = Документ.ПоступлениеТМЦРозница.Сертификат;
            |Группировка Партия;
            |Условие(ТекущийДокумент = ПриходныйДокумент);
            |Условие(Номенклатура = УНоменклатура);
            |";
         Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
            Возврат;
         КонецЕсли;
          Пока Запрос.Группировка(1) = 1 Цикл     
            НПП = НПП +1;
            ПечТабл.ВывестиСекцию("Строка");
         КонецЦикла;
         
      КонецЦикла;
   КонецЕсли;
############################################

Оффлайн red14_88

  • *
  • Сообщений: 22
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-01-22
  • Сайт: 
  • Профессия: Ученик 1С
Re: Печатная форма
« Ответ #9: 22 Янв 2011, 22:27 »
Но выборка пустая...


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
179 Сообщений
ilyay ilyay
69 Сообщений
alex0402
54 Сообщений
oleg-x
48 Сообщений
AIFrame
46 Сообщений
andron81_81
44 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
31 Сообщений
BuhRust
30 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 592
  • Точка Скрытых: 1
  • Точка Пользователей: 12
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal