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

Автор Тема: Помогите!!! Пожалуйста!!! Знаний нет, а сделать надо(  (Прочитано 382 раз)

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

Оффлайн sadrain

  • *
  • Сообщений: 1
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-04-12
  • Сайт: 
  • Профессия: Программист 1С
Есть внешняя обработка, которая создает документ "Отчет производства за смену" для определенного вида услуг. Появилось требование чтобы в этом отчете выводился также Заказ покупателя (он к примеру есть в Акте Об Оказании производственных Услуг).
Вот что есть:

Процедура КнопкаВыполнитьНажатие(Кнопка)
   Запрос = Новый Запрос;
   Запрос.Текст =  "ВЫБРАТЬ
      |   ЗатратыНаВыпускПродукцииОбороты.Регистратор КАК Ссылка,
      |   ЗатратыНаВыпускПродукцииОбороты.Период
      |ИЗ
      |   РегистрНакопления.ЗатратыНаВыпускПродукции.Обороты(, , Регистратор, ) КАК ЗатратыНаВыпускПродукцииОбороты
      |ГДЕ
      |   ЗатратыНаВыпускПродукцииОбороты.Затрата В ИЕРАРХИИ(&Затрата)
      |   И ЗатратыНаВыпускПродукцииОбороты.Период МЕЖДУ &НачДата И &КонДата
      |СГРУППИРОВАТЬ ПО
      |   ЗатратыНаВыпускПродукцииОбороты.Регистратор,
      |   ЗатратыНаВыпускПродукцииОбороты.Период
      |УПОРЯДОЧИТЬ ПО
      |   ЗатратыНаВыпускПродукцииОбороты.Период";
   Запрос.УстановитьПараметр("НачДата", НачалоМесяца(Период));
   Запрос.УстановитьПараметр("КонДата", КонецМесяца(Период));
   Запрос.УстановитьПараметр("Затрата", Справочники.Номенклатура.НайтиПоНаименованию("Гальванопокрытия",Истина));
   РезультатЗапроса = Запрос.Выполнить();
   ВыборкаДетальныеОтчетыЗаписи = РезультатЗапроса.Выбрать();
   Отчет = Неопределено;
   Пока ВыборкаДетальныеОтчетыЗаписи.Следующий() Цикл
      Документ = ВыборкаДетальныеОтчетыЗаписи.Ссылка.ПолучитьОбъект();
      ГруппаПолуфабрикаты = Справочники.Номенклатура.НайтиПоНаименованию("Гальванопокрытия");
      
      //Построителем 
      ПостроительГал = Новый ПостроительЗапроса;
      ПостроительГал.ИсточникДанных = Новый ОписаниеИсточникаДанных(Документ.РаспределениеМатериалов);
      ПостроительГал.Отбор.Добавить("Номенклатура");
      ПостроительГал.Отбор.Номенклатура.Использование = Истина;
      ПостроительГал.Отбор.Номенклатура.ВидСравнения = ВидСравнения.ВСпискеПоИерархии;
      ПостроительГал.Отбор.Номенклатура.Значение.Добавить(ГруппаПолуфабрикаты);
      
      Таблица = ПостроительГал.Результат.Выгрузить();
      
      Запрос = Новый Запрос;   
      Запрос.Текст =  "ВЫБРАТЬ ПЕРВЫЕ 1
                      |   ОтчетПроизводстваЗаСмену.Ссылка КАК Отчет
                      |ИЗ
                      |   Документ.ОтчетПроизводстваЗаСмену КАК ОтчетПроизводстваЗаСмену
                      |      ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектов
                      |      ПО ОтчетПроизводстваЗаСмену.Ссылка = КатегорииОбъектов.Объект
                      |ГДЕ
                      |   НЕ КатегорииОбъектов.Объект ЕСТЬ NULL
                      |   И КатегорииОбъектов.Категория = &КатегорияАвто
                      |   И ОтчетПроизводстваЗаСмену.Подразделение = &Подразделение
                      |   И ОтчетПроизводстваЗаСмену.ПометкаУдаления <> ИСТИНА
                      |   И ОтчетПроизводстваЗаСмену.ЗаданиеНаПроизводство = &Пустая
                      |   И ОтчетПроизводстваЗаСмену.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&Дата, ДЕНЬ) И КОНЕЦПЕРИОДА(&Дата, ДЕНЬ)";
      Запрос.УстановитьПараметр("КатегорияАвто", Справочники.КатегорииОбъектов.НайтиПоНаименованию("Загружается автоматом",истина));
      Запрос.УстановитьПараметр("Пустая", Документы.ЗаданиеНаПроизводство.ПустаяСсылка());
      Запрос.УстановитьПараметр("Подразделение", Справочники.Подразделения.НайтиПоНаименованию ("У"));
      Запрос.УстановитьПараметр("Дата",Документ.Дата);
      РезультатЗапроса = Запрос.Выполнить();
      Если Не РезультатЗапроса.Пустой() Тогда
         ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
         Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
            ОтчетСсылка = ВыборкаДетальныеЗаписи.Отчет;
            ОтчетОбъект = ОтчетСсылка.ПолучитьОбъект();
            Если не Отчет = ОтчетСсылка Тогда
               Отчет = ОтчетСсылка;
               ОтчетОбъект.Продукция.Очистить();
            КонецЕсли;
         КонецЦикла;
      Иначе
         ПараметрОбъектКопирования = Неопределено;
         ОтчетОбъект = Документы.ОтчетПроизводстваЗаСмену.СоздатьДокумент();
         ОтчетОбъект.ОтражатьВУправленческомУчете = Истина;
         ОтчетОбъект.ИспользоватьЗаказыНаОбслуживаниеОС = Истина;
         ОтчетОбъект.Дата = НачалоДня(Документ.Дата);
         ОтчетОбъект.УстановитьНовыйНомер();
         ОтчетОбъект.Склад =  Справочники.Склады.НайтиПоНаименованию("Склад Цеха У");
         ОтчетОбъект.Подразделение = Справочники.Подразделения.НайтиПоНаименованию ("У");
         ОтчетОбъект.ИспользоватьНаправленияВыпуска = Истина;
         ОтчетОбъект.ИспользоватьЗаказы = Истина;
         Документ.ВводитьСтатьиЗатратПоСтрокам  = Истина;
         ОтчетОбъект.Ответственный = Справочники.Пользователи.НайтиПоКоду("Иванов");
         ОтчетОбъект.Организация = Справочники.Организации.НайтиПоКоду("000000001");
         ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(ОтчетОбъект,,ПараметрОбъектКопирования);
         ОтчетОбъект.ОтражатьВУправленческомУчете = Истина;
         ОтчетОбъект.Записать();
         Регистр = РегистрыСведений.КатегорииОбъектов.СоздатьНаборЗаписей();
         НовыйРегистр=Регистр.Добавить();
         НовыйРегистр.Объект= ОтчетОбъект.Ссылка;
         НовыйРегистр.категория=Справочники.КатегорииОбъектов.НайтиПоНаименованию("Загружается автоматом",истина);
         НовыйРегистр.Период = ОтчетОбъект.Дата;
         Регистр.Записать(Ложь);   
      КонецЕсли;
      Для Каждого Стр ИЗ Таблица Цикл
         СтрПродукция = ОтчетОбъект.Продукция.Добавить();
         СтрПродукция.Номенклатура = Стр.Номенклатура;
         СтрПродукция.ХарактеристикаНоменклатуры = Стр.ХарактеристикаНоменклатуры;
         СтрПродукция.Количество = Стр.Количество;
         СтрПродукция.Качество = Справочники.Качество.Новый;
         СтрПродукция.ВидВыпуска  =  Перечисления.ВидыВыпуска.Выпуск;
         СтрПродукция.НаправлениеВыпуска = Перечисления.НаправленияВыпуска.НаЗатраты;
         СтрПродукция.ПодразделениеПолучатель =  Документ.Подразделение;
         СтрПродукция.ПодразделениеОрганизацииПолучатель = Документ.ПодразделениеОрганизации;
               
 СтрПродукция.Заказ = :dfbsdfbsdf: ПОДСКАЖИТЕ ЧТО СЮДА НАДО ДОПИСАТЬ
                   
                      Если ТипЗнч(Документ.Ссылка) = Тип("ДокументСсылка.ОтчетПроизводстваЗаСмену") Тогда   
            СтрПродукция.ЗаказПолучатель = Стр.Заказ;
            ИначеЕсли ТипЗнч(Документ.Ссылка) = Тип("ДокументСсылка.АктОбОказанииПроизводственныхУслуг") Тогда   
            СтрПродукция.ЗаказПолучатель = Стр.ЗаказВыпуска;
           КонецЕсли;
         СтрПродукция.Качество = Справочники.Качество.Новый;
         СтрПродукция.СтатьяЗатратПолучатель = СтрПродукция.Номенклатура.СтатьяЗатрат;
         СтрПродукция.Коэффициент = Стр.Коэффициент;
         СтрПродукция.ЕдиницаИзмерения=  Стр.ЕдиницаИзмерения;
         СтрПродукция.СтатусПартии = Перечисления.СтатусыПартийТоваров.Продукция;
         СтрПродукция.КонечнаяПродукция   =   Стр.Продукция;
         КлючСвязи = УчетСерийныхНомеров.ПолучитьНовыйКлючСвязи(ОтчетОбъект.мПараметрыСвязиСтрокТЧ, ОтчетОбъект, "Продукция", Истина);
         СтрПродукция.КлючСвязи = КлючСвязи;
         НоваяСтрока = ОтчетОбъект.ПараметрыВыпускаПродукции.Добавить();
         НоваяСтрока.КлючСвязи = КлючСвязи;
         НоваяСтрока.ВидПараметра  = Справочники.ВидыПараметровВыпускаПродукции.НайтиПоНаименованию("отчет");
         НоваяСтрока.Значение = Прав( Документ.Номер, 7);
      КонецЦикла;   
      
               Попытка
                  ОтчетОбъект.ЗаполнитьСчетаУчетаВТабЧасти(ОтчетОбъект.Продукция, "Продукция", ОтчетОбъект.ОтражатьВБухгалтерскомУчете, ОтчетОбъект.ОтражатьВНалоговомУчете);

               ОтчетОбъект.Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.Неоперативный);            
            Исключение
               ОтчетОбъект.Записать(РежимЗаписиДокумента.Запись,РежимПроведенияДокумента.Неоперативный);
               Сообщить("Внимание, не провиден документ" +Документ);
            КонецПопытки;
            
   КонецЦикла;
   
КонецПроцедуры


Оффлайн espero2000

  • **
  • Сообщений: 76
  • РЕПУТАЦИЯ: 12
  • КПД: 16%
  • Регистрация: 2011-03-11
  • Сайт: 
  • Профессия: Программист 7.7
Надо просто сделать новую обработку.


Теги:
 

Помогите срочно!! В вкладке "Сервис"--> "Журнал регистрации" отражаются все операции как можно определить сделаны ли операции "задним числом" и как вычислить первоначальную информацию какой расчет поменял на другой?

Автор 2ronРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 3848
Последний ответ 24 Дек 2015, 15:34
от дфтын
Помогите подобрать Back-office и Front-office

Автор avrnskРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 5102
Последний ответ 07 Сен 2010, 12:01
от mohock
Помогите с отчётами в УТ 10.3. (Ведомость по товарам и ведомость по заказам)

Автор chum710Раздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 5410
Последний ответ 28 Мар 2012, 13:02
от chum710
Помогите с отчетом "Валовая прибыль"

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

Ответов: 4
Просмотров: 3434
Последний ответ 10 Сен 2015, 13:57
от Dm109
помогите с отчетом "характеристики контрагентов"

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

Ответов: 2
Просмотров: 1669
Последний ответ 07 Дек 2016, 15:53
от Kironten

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
85 Сообщений
wise wise
63 Сообщений
Dethmontt Dethmontt
60 Сообщений
MuI_I_Ika MuI_I_Ika
52 Сообщений
alex0402
49 Сообщений
ilyay ilyay
32 Сообщений
Сергей Федоров Сергей Федоров
32 Сообщений
ilnur75
25 Сообщений
Дмитрий Медведков
19 Сообщений
magnifico61
18 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal