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

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

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
Просмотров: 3986
Последний ответ 24 Дек 2015, 15:34
от дфтын
Помогите подобрать Back-office и Front-office

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

alex0402
95 Сообщений
oleg-x
93 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
68 Сообщений
Golickoff Golickoff
51 Сообщений
ilyay ilyay
45 Сообщений
AIFrame
42 Сообщений
wise wise
31 Сообщений
Амал
30 Сообщений
ab30ru
24 Сообщений
lansy
22 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal