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

Автор Тема: Запрос для Унив. перед. докум  (Прочитано 1491 раз)

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

Оффлайн Alex56

  • *****
  • Сообщений: 828
  • РЕПУТАЦИЯ: 11
  • КПД: 1%
  • Регистрация: 2013-10-02
  • Сайт: itoren.ucoz.ru
  • Профессия: Ученик 1С
Здравствуйте, не могу найти запрос помогите.

Функция ПечатьУниверсальныхПередаточныхДокументов(МассивОбъектов, ОбъектыПечати)
   
    ТабДокумент = Новый ТабличныйДокумент;
   
   // Устанавливаем параметры печати и колонтитулы
   ТабДокумент.ОриентацияСтраницы    = ОриентацияСтраницы.Ландшафт;
   ТабДокумент.ПолеСверху             = 12;
   ТабДокумент.ПолеСлева              = 0;
   ТабДокумент.ПолеСнизу              = 0;
   ТабДокумент.ПолеСправа             = 0;
   ТабДокумент.АвтоМасштаб       = Истина;
   ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_УниверсальныйПередаточныйДокумент";
   
   ПервыйДокумент             = Истина;
   ВыводитьКолонтитул       = МассивОбъектов.Количество() = 1;
   ТабДокументНеВыводитьНаПечать    = Истина;
   ДокументыСчетФактураНеТребуется = ОпределитьСчетФактураТребуются(МассивОбъектов);
   
   Для каждого Ссылка Из МассивОбъектов Цикл
         
      Если Не ПервыйДокумент Тогда
         ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
      КонецЕсли;
      ПервыйДокумент = Ложь;
      НомерСтрокиНачало = ТабДокумент.ВысотаТаблицы + 1;
      
      РеквизитыДокумента = ОбщегоНазначения.ПолучитьЗначенияРеквизитов(Ссылка, "Ссылка, Дата, Номер, Организация,
         |ВидОперации, Контрагент, ДоговорКонтрагента, ОтпускРазрешил, ГлавныйБухгалтер, Подразделение,
         |ДоверенностьНомер, ДоверенностьДата, ДоверенностьВыдана, ДоверенностьЧерезКого");
         
      ДанныеДокумента = Новый Структура();
      ДанныеДокумента.Вставить("ДокументСсылка",                РеквизитыДокумента.Ссылка);
      ДанныеДокумента.Вставить("Номер",                         РеквизитыДокумента.Номер);
      ДанныеДокумента.Вставить("Дата",                          РеквизитыДокумента.Дата);
      ДанныеДокумента.Вставить("Ссылка",                        Документы.СчетФактураВыданный.ПустаяСсылка());
      ДанныеДокумента.Вставить("ДокументОснование",             РеквизитыДокумента.Ссылка);
      ДанныеДокумента.Вставить("Организация",                    РеквизитыДокумента.Организация);
      ДанныеДокумента.Вставить("Контрагент",                     РеквизитыДокумента.Контрагент);
      ДанныеДокумента.Вставить("ДоговорКонтрагента",               РеквизитыДокумента.ДоговорКонтрагента);
      ДанныеДокумента.Вставить("Руководитель",                  РеквизитыДокумента.ОтпускРазрешил);
      ДанныеДокумента.Вставить("ГлавныйБухгалтер",              РеквизитыДокумента.ГлавныйБухгалтер);
      ДанныеДокумента.Вставить("ВалютаРегламентированногоУчета",  глЗначениеПеременной("ВалютаРегламентированногоУчета"));
      ДанныеДокумента.Вставить("Подразделение",                  РеквизитыДокумента.Подразделение);
      
      Если ЗначениеЗаполнено(РеквизитыДокумента.ДоверенностьНомер) ИЛИ ЗначениеЗаполнено(РеквизитыДокумента.ДоверенностьДата)
         ИЛИ ЗначениеЗаполнено(РеквизитыДокумента.ДоверенностьВыдана) ИЛИ ЗначениеЗаполнено(РеквизитыДокумента.ДоверенностьЧерезКого) Тогда
         Доверенность = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
            НСтр("ru = 'по доверенности №%1 от %2 выданной %3 %4'"),
            РеквизитыДокумента.ДоверенностьНомер, Формат(РеквизитыДокумента.ДоверенностьДата, "ДЛФ=ДД"),
            РеквизитыДокумента.ДоверенностьВыдана, РеквизитыДокумента.ДоверенностьЧерезКого);
         ДанныеДокумента.Вставить("Доверенность", Доверенность);
      КонецЕсли;
      
      ВидДоговора = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(РеквизитыДокумента.ДоговорКонтрагента, "ВидДоговора");
      ПередачаНаРеализациюПоКомиссии = (ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером);
      ДанныеДокумента.Вставить("ПередачаНаРеализациюПоКомиссии",  ПередачаНаРеализациюПоКомиссии);
      
      СчетФактураТребуется = (ДокументыСчетФактураНеТребуется.Найти(Ссылка) = Неопределено);
      
      СтруктураОтбораСчетаФактуры = Новый Структура;
      СтруктураОтбораСчетаФактуры.Вставить("ПометкаУдаления", Ложь);
      
      Если УчетНДС.ПечатьУниверсальногоПередаточногоДокумента(ДанныеДокумента, СчетФактураТребуется, ТабДокумент, СтруктураОтбораСчетаФактуры) = Неопределено Тогда
         Продолжить;
      КонецЕсли;
      
      ТабДокумент.ВерхнийКолонтитул.Выводить = ВыводитьКолонтитул;
      
      ТабДокументНеВыводитьНаПечать = Ложь;
      УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент, НомерСтрокиНачало, ОбъектыПечати, Ссылка);
      
   КонецЦикла;
   
   Если ТабДокументНеВыводитьНаПечать Тогда
      Макет = ПолучитьОбщийМакет("УниверсальныйПередаточныйДокумент");
      ОбластьМакета = Макет.ПолучитьОбласть("Ошибка");
      ТабДокумент.Вывести(ОбластьМакета);
   КонецЕсли;
   
   Возврат ТабДокумент;
   
КонецФункции
Нужно постоянно трудиться.


Оффлайн GRADUS

  • *****
  • Сообщений: 699
  • РЕПУТАЦИЯ: 51
  • КПД: 7%
  • Регистрация: 2013-06-08
  • Сайт: 
  • Профессия: Программист 1С
УчетНДС.ПечатьУниверсальногоПередаточногоДокумента(ДанныеДокумента, СчетФактураТребуется, ТабДокумент, СтруктураОтбораСчетаФактуры)

Ты уверен насчет профессии программист 1с ?
Может быть стоит пойти методистом? У тебя это лучше выходит.

Оффлайн Alex56

  • *****
  • Сообщений: 828
  • РЕПУТАЦИЯ: 11
  • КПД: 1%
  • Регистрация: 2013-10-02
  • Сайт: itoren.ucoz.ru
  • Профессия: Ученик 1С
И тут нету я там смотрел.

Функция ПечатьУниверсальногоПередаточногоДокумента(ДанныеДокумента, СчетФактураТребуется, ТабДокумент = Неопределено, СтруктураОтбораСчетаФактуры = Неопределено) Экспорт
   
   Если ДанныеДокумента.Дата < '20130101' Тогда
      ТекстСообщения = НСтр("ru = 'Применение формы универсального передаточного документа возможно только с 01 января 2013 года!'");
      ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
      Возврат Неопределено;
   КонецЕсли;

   Если СтруктураОтбораСчетаФактуры = Неопределено Тогда
      СчетФактура = НайтиПодчиненныйСчетФактуру(ДанныеДокумента.ДокументСсылка, "СчетФактураВыданный");
   Иначе
      СчетФактура = НайтиПодчиненныйСчетФактуру(ДанныеДокумента.ДокументСсылка, "СчетФактураВыданный", СтруктураОтбораСчетаФактуры);
   КонецЕсли;
   
   Если ТабДокумент = Неопределено Тогда
      ТабДокумент = Новый ТабличныйДокумент;
      // Устанавливаем параметры печати и колонтитулы
      ТабДокумент.ОриентацияСтраницы    = ОриентацияСтраницы.Ландшафт;
      ТабДокумент.ПолеСверху          = 12;
      ТабДокумент.ПолеСлева           = 0;
      ТабДокумент.ПолеСнизу           = 0;
      ТабДокумент.ПолеСправа          = 0;
      ТабДокумент.АвтоМасштаб       = Истина;
      ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_УниверсальныйПередаточныйДокумент";
   КонецЕсли;
   
   Если ЗначениеЗаполнено(СчетФактура) ИЛИ СчетФактураТребуется Тогда
      
      // УПД печатается из документа счет-фактура
      Если НЕ ЗначениеЗаполнено(СчетФактура) Тогда
         ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
                  НСтр("ru = 'По документу ""%1"" не выписан счет-фактура или он помечен на удаление!'"), ДанныеДокумента.ДокументСсылка);
         ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
         Возврат Неопределено;
      КонецЕсли;
      
      РеквизитыСФ = ОбщегоНазначения.ПолучитьЗначенияРеквизитов(СчетФактура, "Дата, ВидСчетаФактуры, Исправление,НомерИсправления,
         |СчетФактураБезНДС, КППКонтрагента");
      ДанныеДокумента.Вставить("Ссылка",                СчетФактура);
      ДанныеДокумента.Вставить("Дата",                РеквизитыСФ.Дата);
      ДанныеДокумента.Вставить("ВидСчетаФактуры",       РеквизитыСФ.ВидСчетаФактуры);
      ДанныеДокумента.Вставить("Исправление",           РеквизитыСФ.Исправление);
      ДанныеДокумента.Вставить("НомерИсправления",       РеквизитыСФ.НомерИсправления);
      ДанныеДокумента.Вставить("СчетФактураБезНДС",       РеквизитыСФ.СчетФактураБезНДС);
      ДанныеДокумента.Вставить("КППКонтрагента",           РеквизитыСФ.КППКонтрагента);
      
      ДанныеДляПечати = Документы.СчетФактураВыданный.ПодготовитьДанныеДляПечатиУниверсальногоПередаточногоДокумента(ДанныеДокумента);
      Если ДанныеДляПечати = Неопределено Тогда
         Возврат Неопределено;
      КонецЕсли;
      
      Если ДанныеДокумента.Свойство("ДатаОтгрузкиПередачи") Тогда
         ДанныеДляПечати.Вставить("ДатаОтгрузкиПередачи", ДанныеДокумента.ДатаОтгрузкиПередачи);
      КонецЕсли;
      
      Документы.СчетФактураВыданный.ПечатьУниверсальногоПередаточногоДокумента(ДанныеДляПечати, ТабДокумент);

      Возврат ТабДокумент;
      
   КонецЕсли;
   
   // УПД печатается по статусу 2
   ДанныеДляПечати = ПодготовитьДанныеДляПечатиУниверсальногоПередаточногоДокумента(ДанныеДокумента);
   Если ДанныеДляПечати = Неопределено Тогда
      Возврат Неопределено;
   КонецЕсли;
   
   Макет = ПолучитьОбщийМакет("УниверсальныйПередаточныйДокумент");

   ВывестиСчетФактуруВТабличныйДокумент(ТабДокумент, Макет, ДанныеДляПечати);

   ВывестиПодвалУниверсальногоПередаточногоДокументаВТабличныйДокумент(ТабДокумент, Макет, ДанныеДляПечати);
   
   Возврат ТабДокумент;
   
КонецФункции


Нужно постоянно трудиться.

Оффлайн GRADUS

  • *****
  • Сообщений: 699
  • РЕПУТАЦИЯ: 51
  • КПД: 7%
  • Регистрация: 2013-06-08
  • Сайт: 
  • Профессия: Программист 1С
ДанныеДокумента 

Чем не устроили?


Теги:
 

Как можно подставлять цену из регистра сведений "Цены поставщиков" в документ"ПоступлениеТоваров" на актуальную дату? Необходимо использовать запрос в решении.

Автор Елена6666666666Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 9330
Последний ответ 24 Окт 2014, 13:30
от cska-fanat-kz
Запрос Параметры для "ИЗ"

Автор БерезинРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 2990
Последний ответ 15 Май 2013, 23:27
от Березин
Что быстрее: Загрузить табличную часть в запрос и там добавить колонки, или пробежаться циклом по ТЧ и добавить значения в колонки

Автор ZeedРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 977
Последний ответ 11 Июл 2016, 09:00
от vitasw
Запрос по обработке "Согласование заявок"

Автор DenielAkreedРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 678
Последний ответ 29 Сен 2016, 02:39
от DenielAkreed
8.2 Бух. Запрос с условием "комментарий содержит текст"

Автор bolobolРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 13
Просмотров: 16514
Последний ответ 02 Сен 2011, 01:14
от bolobol

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
168 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
42 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
32 Сообщений
BuhRust
29 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal