Перейти к содержимому


- - - - -

(РЕШЕНО) выбор значений по текстовому совпадению в отчет


Сообщений в теме: 3

#1 colanah

    Прохожий


  • 4 сообщений

Отправлено 22 февраля 2012 - 23:07

Здравствуйте.

Возник вопрос у начинающего 1с'ника)

Есть Журнал Приходные Накладные, где собственно эти самые накладные создаются.
Есть Журнал Документов, где выводится список приходных накладных в таблице.
Хочу сделать Отчет, что бы он выводил мне только те накладные, у которых колонка поставщик содержит тестовое поле "магазин".

То есть если название поставщика ООО Вася, то не надо выводить, а если Магазин "Лента", то надо.

Так вот вопрос, каким образом осуществляется доступ к тому месту, где храняться эти самые постащики, это же не реквизит, а какая то временная таблица уже созданная и соответсвенно мы собираемся ее еще раз отсортировать по заданному параметру для отчета.


Процедура ОтчетПоМагазинам()  
ном_закл = Форма.Закладки.ТекущаяСтрока();	
Таб = СоздатьОбъект("Таблица");
  Таб.ИсходнаяТаблица("ОтчетПоМагазинам");	  
   прих = СоздатьОбъект("Документ.ПриходнаяНакладная");  
   прих.ВыбратьДокументы(ДатаНач, ДатаКон);  
   пн = 0;
   Пока прих.ПолучитьДокумент() = 1 Цикл  // прих


	  пн = пн + 1;

	  Если пн = 1 Тогда
		 Таб.ВывестиСекцию("Шапка");	
	  КонецЕсли;		  


	  Сообщить(прих.Клиент);

	  Если прих.Клиент = "Магазин" Тогда
	  Таб.ВывестиСекцию("ПрихДок");  
	  КонецЕсли;

   КонецЦикла;	 // прих	  
   Таб.ТолькоПросмотр(1);  
   Таб.ПовторятьПриПечатиСтроки(4,4);
   Таб.Опции(0, 0, 4, 0, "ОтчетПоМагазинам");
   Таб.Показать("ОтчетПоМагазинам","");	  
   Таб.ПараметрыСтраницы(2,100, , 10, 0, 0, 0, 5, 5,  1);	

КонецПроцедуры  

Вот данный код выводит мне одно название магазина во всех колонках, а надо, что бы были соответствующие приходным накладным.

В таблице вывожу Выражение прих.Клиент.

Я так понимаю нужен какой то перебор еще добавить?

Сообщение отредактировал Бухгалтерский угодник: 23 февраля 2012 - 04:40


#2 Бухгалтерский угодник

    Ветеран


  • 13 310 сообщений

Отправлено 23 февраля 2012 - 04:46

Это строка, сформированная из имени того или иного реквизита....
Если я правильно понял вашу "хочуху", то нужно так:
Процедура ОтчетПоМагазинам()
ном_закл = Форма.Закладки.ТекущаяСтрока();
Таб = СоздатьОбъект("Таблица");
  Таб.ИсходнаяТаблица("ОтчетПоМагазинам");  
   прих = СоздатьОбъект("Документ.ПриходнаяНакладная");
   прих.ВыбратьДокументы(ДатаНач, ДатаКон);
   Таб.ВывестиСекцию("Шапка"); //шапку лучше выводить до цикла - пропадает лишнее условие
   Пока прих.ПолучитьДокумент() = 1 Цикл  // прих
   //Сообщить(прих.Клиент);
   Если Найти(ВРег(прих.Клиент.Наименование),"МАГАЗИН")<>0 Тогда
   Таб.ВывестиСекцию("ПрихДок");
   КонецЕсли;
   КонецЦикла;  // прих  
   Таб.ТолькоПросмотр(1);
   Таб.ПовторятьПриПечатиСтроки(4,4);
   Таб.Опции(0, 0, 4, 0, "ОтчетПоМагазинам");
   Таб.Показать("ОтчетПоМагазинам","");  
   Таб.ПараметрыСтраницы(2,100, , 10, 0, 0, 0, 5, 5,  1);
КонецПроцедуры  
+ неплохо было бы увидеть ваш макет
"Любая проблема имеет Фамилию, Имя, Отчество....." (И. Сталин)
Жмакнувшим Изображение буду благодарен.

#3 colanah

    Прохожий


  • 4 сообщений

Отправлено 26 февраля 2012 - 21:20

Спасибо! Помогло.

#4 Бухгалтерский угодник

    Ветеран


  • 13 310 сообщений

Отправлено 27 февраля 2012 - 04:09

Для "спасибо" есть кнопка.
Обращайтесь
"Любая проблема имеет Фамилию, Имя, Отчество....." (И. Сталин)
Жмакнувшим Изображение буду благодарен.





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных