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

Автор Тема: Создание и обработка отчетов  (Прочитано 3728 раз)

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

Оффлайн warshadow

  • ***
  • Сообщений: 114
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-02-24
  • Сайт: 
  • Профессия: Программист 8.1
Добрался я все-таки до главы отчеты. У меня существует 3 документа. Реализация,списания,поступление, также хотелось реализовать: выписку требования-накладной;Книгу покупок;
и Карточки складского учета. Вроде хватит для такой базы данных столько отчетов я считаю.
Начал реализовать первый отчет - поступление товаров услуг.
Через конструктор выбрал:
-ПоступлениеКниг.Ссылка (документ поступление общий)
-ПоступлениеРеализацияСписаниеКнигОбороты.НаименованиеКниги (регистр накопления)
-ПоступлениеРеализацияСписаниеКнигОбороты.КоличествоПриход (регистр накопления)

Сделал условие по ВидПоступления, чтобы можно было выбирать какой он - отИздательства или отЧитателей
Вроде бы все хорошо, все работает.
Начал отладку методом белого-ящика, т.е запустил программу и начал штудировать отчет, сразу при выводе ВидаПоступления отИздательства выдал 3 документа:
1 - Отиздательства
2- ОтЧитателей
3- ОтЧитателей
Ну и ладно...решил теперь сделать ВидПоступления ОтЧитателей,  там я и ахнул...
Выдал вообще все документы...
Подумал...ага)) забыл указать связи, но  тут я подумал все просто..
Сделал 2 связи:
1) НаименованиеКниги (документ ТЧОтИздательства с РегистрНакопленияОбороты)
2) НаименованиеКниги (документ ТЧОтЧитаталей с РегистрНакопленияОбороты)
Запускаю...пробую..и выдает мне ошибку,связанную с SQL,
З.Ы:Если одна какая-то связь стоит, то идеально выдает по одному ВидуПоступления, а по второму как ему ввздумается...
Собственно потому и решил реализовать не 1 документ с 2 ТЧ,а  2 доументы с 1 ТЧ.









Оффлайн warshadow

  • ***
  • Сообщений: 114
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-02-24
  • Сайт: 
  • Профессия: Программист 8.1
В общем надо связать как-то 1  документ с 2-я ТЧ с регистром накопления.
у меня только получается связать 1 документ с 1 ТЧ с регистром.

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
В ОбработкеПроведения:

1. Сперва условие по ВидуОперации
2. Внутри условие на Количество() (строк) нужной ТЧ
3. Внутри цикл по строкам нужной ТЧ - делаем движения по регистру
4. То же самое в ветке ИНАЧЕ...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
warshadow, Вам же cska-fanat-kz дал рекомендации. У Вас получилось? :)
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн warshadow

  • ***
  • Сообщений: 114
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-02-24
  • Сайт: 
  • Профессия: Программист 8.1
warshadow, Вам же cska-fanat-kz дал рекомендации. У Вас получилось? :)
я так понимаю, что связи делать не надо, требуется только пока:
Через конструктор выбрать:
-ПоступлениеКниг.Ссылка (документ поступление общий)
-ПоступлениеРеализацияСписаниеКнигОбороты.НаименованиеКниги (регистр накопления)
-ПоступлениеРеализацияСписаниеКнигОбороты.КоличествоПриход (регистр накопления)
-Условие по ВидПоступления, а потом уже:
В ОбработкеПроведения:

1. Сперва условие по ВидуОперации
2. Внутри условие на Количество() (строк) нужной ТЧ
3. Внутри цикл по строкам нужной ТЧ - делаем движения по регистру
4. То же самое в ветке ИНАЧЕ...
так?


Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Инструкция была про ПРОВЕДЕНИЕ ДОКУМЕНТА РЕАЛИЗАЦИЯ,
которая у вас с двумя ТЧ, а не про то, как отчет собирать!

И давайте будем одной темы придерживаться - отчеты так отчеты...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн warshadow

  • ***
  • Сообщений: 114
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-02-24
  • Сайт: 
  • Профессия: Программист 8.1
Так,вот что получилось:

Процедура ОбработкаПроведения(Отказ, Режим)
         ПроверкаРеквизитов(Отказ, Режим);
               
         Для Каждого ТекСтрокаТблПоступлОтиздат Из ТблПоступлОтиздат Цикл
            Если ВидОперации=Перечисления.ВидыОпераций.ОтИздательства Тогда
              Если  ТблПоступлОтиздат.Количество() Тогда   

      // регистр ПоступлениеРеализацияСписаниеКниг Приход
      Движение = Движения.ПоступлениеРеализацияСписаниеКниг.Добавить();
      Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
      Движение.Период = Дата;
      Движение.НаименованиеКниги = ТекСтрокаТблПоступлОтиздат.НаименованиеКниги;
      Движение.ВидПоступления = ВидОперации;
      Движение.Количество = ТекСтрокаТблПоступлОтиздат.Количество;
      Движение.Цена = ТекСтрокаТблПоступлОтиздат.Цена;
   КонецЕсли;
    КонецЕсли;
   КонецЦикла;


   Для Каждого ТекСтрокаТблПоступлДарЧитат Из ТблПоступлДарЧитат Цикл
      Если ВидОперации=Перечисления.ВидыОпераций.ОтЧитателей Тогда
       Если  ТблПоступлДарЧитат.Количество()  Тогда    
      // регистр ПоступлениеРеализацияСписаниеКниг Приход
      Движение = Движения.ПоступлениеРеализацияСписаниеКниг.Добавить();
      Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
      Движение.Период = Дата;
      Движение.НаименованиеКниги = ТекСтрокаТблПоступлДарЧитат.НаименованиеКниги;
      Движение.ВидПоступления = ВидОперации;
      Движение.Количество = ТекСтрокаТблПоступлДарЧитат.Количество;
      Движение.Цена = 0;
   КонецЕсли;
    КонецЕсли;
   
   КонецЦикла;
          
КонецПроцедуры

Оффлайн warshadow

  • ***
  • Сообщений: 114
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-02-24
  • Сайт: 
  • Профессия: Программист 8.1
Так разобрался,программа определяет количество строк в ТЧ (заданной ).
Далее какие действия должны быть?

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Мою инструкцию внимательно читайте!

У вас вместо моих пунктов 1,2,3 - 3,1,2!!

Повторяю. Сперва условие на вид операции, затем проверка на количество строк.

Кстати, условие не

Если  ТблПоступлДарЧитат.Количество()  Тогда

а

 Если  ТблПоступлДарЧитат.Количество()>0  Тогда

Затем цикл по строкам Для каждого  Из...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн warshadow

  • ***
  • Сообщений: 114
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-02-24
  • Сайт: 
  • Профессия: Программист 8.1
Извините...
Прочитал внимательно! исправил!

Процедура ОбработкаПроведения(Отказ, Режим)
         ПроверкаРеквизитов(Отказ, Режим);
               
         Если ВидОперации=Перечисления.ВидыОпераций.ОтИздательства Тогда
         Если  ТблПоступлОтиздат.Количество()>0 Тогда
         Для Каждого ТекСтрокаТблПоступлОтиздат Из ТблПоступлОтиздат Цикл
                          
      // регистр ПоступлениеРеализацияСписаниеКниг Приход
      Движение = Движения.ПоступлениеРеализацияСписаниеКниг.Добавить();
      Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
      Движение.Период = Дата;
      Движение.НаименованиеКниги = ТекСтрокаТблПоступлОтиздат.НаименованиеКниги;
      Движение.ВидПоступления = ВидОперации;
      Движение.Количество = ТекСтрокаТблПоступлОтиздат.Количество;
      Движение.Цена = ТекСтрокаТблПоступлОтиздат.Цена;
   КонецЦикла;
   
       
                                  
        ИначеЕсли ВидОперации=Перечисления.ВидыОпераций.ОтЧитателей Тогда
      ИначеЕсли  ТблПоступлДарЧитат.Количество()>0  Тогда
   Для Каждого ТекСтрокаТблПоступлДарЧитат Из ТблПоступлДарЧитат Цикл
       
      // регистр ПоступлениеРеализацияСписаниеКниг Приход
      Движение = Движения.ПоступлениеРеализацияСписаниеКниг.Добавить();
      Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
      Движение.Период = Дата;
      Движение.НаименованиеКниги = ТекСтрокаТблПоступлДарЧитат.НаименованиеКниги;
      Движение.ВидПоступления = ВидОперации;
      Движение.Количество = ТекСтрокаТблПоступлДарЧитат.Количество;
      Движение.Цена = 0;
    КонецЦикла;
    КонецЕсли;
     КонецЕсли;
                     
КонецПроцедуры


Теги:
 

Ошибка при загрузке данных через (Обработка "Выгрузка и загрузка данных XML")

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

Ответов: 1
Просмотров: 8579
Последний ответ 26 Апр 2012, 23:08
от Dethmontt
Обработка "ПодборНоменклатуры"

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

Ответов: 1
Просмотров: 2972
Последний ответ 18 Апр 2012, 20:38
от Dethmontt
Обработка "СогласованиеЗаявок"

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

Ответов: 2
Просмотров: 809
Последний ответ 24 Сен 2016, 00:37
от Денис Андрушко
Программное создание документа на основании документа

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

Ответов: 6
Просмотров: 4502
Последний ответ 23 Апр 2015, 08:45
от Golickoff
Автоматическое создание " Заполнение" документа

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

Ответов: 6
Просмотров: 4457
Последний ответ 06 Мар 2014, 14:48
от mashencev_anton

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

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

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


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

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
145 Сообщений
ilyay ilyay
63 Сообщений
AIFrame
58 Сообщений
alex0402
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
alexandr_ll
24 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal