Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Сортировка по алфавиту          
wmatik Подменю пользователя
сообщение 21.02.12, 13:07
Сообщение #1

Оратор
*****
Группа: Пользователи
Сообщений: 294
Спасибо сказали: 1 раз
Рейтинг: 0

При формировании отчета необходимо,чтобы контрагенты выводились в алфавитном порядке, но почему то не выводятся, что может быт не так,подскажите:
Процедура Сформировать()
    Перем Запрос, ТекстЗапроса, Таб;
      Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Таблица");
    Таб.ВывестиСекцию("Заголовок");

    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = "
    |Период с ВыбНачПериода по ВыбКонПериода;
    |Обрабатывать НеПомеченныеНаУдаление;
    |ОбрабатыватьДокументы Проведенные;
    |Док = Документ.ПриходнаяНакладнаяГТД.ТекущийДокумент, Документ.ПриходнаяНакладнаяЗапасы.ТекущийДокумент, Документ.ПриходнаяНакладнаяПрочие.ТекущийДокумент, Документ.УслугиСтороннихОрганизаций.ТекущийДокумент;
    |Группировка Док;";
    
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;

    Табл = СоздатьОбъект("ТаблицаЗначений");
    Табл.НоваяКолонка("Контрагент");
    Док = "";
    Пока Запрос.Группировка(1) = 1 Цикл
        Док = Запрос.Док;    
        
        Если (Док.Вид() = "УслугиСтороннихОрганизаций") ИЛИ
            (Док.Вид() = "ПриходнаяНакладнаяЗапасы") ИЛИ
            (Док.Вид() = "ПриходнаяНакладнаяПрочие") ИЛИ
            (Док.Вид() = "ПриходнаяНакладнаяГТД") Тогда
            Док.ВыбратьСтроки();
            Пока Док.ПолучитьСтроку() = 1 Цикл
                Если ПустоеЗначение(Док.Контрагент) = 1 Тогда
                    Продолжить;
                КонецЕсли;
                Табл.НоваяСтрока();
                Табл.Контрагент = Док.Контрагент;
                Табл.Свернуть("Контрагент", "Контрагент");
                Если ПустоеЗначение(Табл.Контрагент) = 1 Тогда
                    Продолжить;
                КонецЕсли;
                Таб.ВывестиСекцию("Строка");
            КонецЦикла;
        КонецЕсли;
    КонецЦикла;     
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Сформировать", "");
КонецПроцедуры


где необходимо вставить Сортировать?


Signature
1С Предприятие 7.7(сетевая версия) - 7.70.027,Конф: ПУБ(7.70.010)

Valdi77 Подменю пользователя
сообщение 21.02.12, 13:18
Сообщение #2

Общительный
**
Группа: Пользователи
Сообщений: 23
Спасибо сказали: 1 раз
Рейтинг: 0

1. Нельзя ли еще в Запросе добавить поле Контрагент и сортировать по нему (Контрагент.Наименование)
2. МожеТЕ результаті Запроса вігрузить В ТЗ, добавить поле котрагент уже туда, отсортировать по колонке ТЗ
и віводить в цикле последовательно


 i 

У нас принято на Вы
 


Сообщение отредактировал logist - 21.02.12, 13:21
Причина редактирования: Правила п. 1 log

nysysimara Подменю пользователя
сообщение 21.02.12, 13:26
Сообщение #3

Оратор
Иконка группы
Группа: Местный
Сообщений: 312
Из: Бердянск
Спасибо сказали: 110 раз
Рейтинг: 0

вот эта фраза лишняя
Если (Док.Вид() = "УслугиСтороннихОрганизаций") ИЛИ
            (Док.Вид() = "ПриходнаяНакладнаяЗапасы") ИЛИ
            (Док.Вид() = "ПриходнаяНакладнаяПрочие") ИЛИ
            (Док.Вид() = "ПриходнаяНакладнаяГТД") Тогда

в запросе отобраны только эти документы

А по поводу сортировки, сделать такой запрос:
Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = "
    |Период с ВыбНачПериода по ВыбКонПериода;
    |Обрабатывать НеПомеченныеНаУдаление;
    |ОбрабатыватьДокументы Проведенные;
    |Док = Документ.ПриходнаяНакладнаяГТД.ТекущийДокумент, Документ.ПриходнаяНакладнаяЗапасы.ТекущийДокумент, Документ.ПриходнаяНакладнаяПрочие.ТекущийДокумент, Документ.УслугиСтороннихОрганизаций.ТекущийДокумент;
    |Контрагент= Документ.ПриходнаяНакладнаяГТД.Контрагент, Документ.ПриходнаяНакладнаяЗапасы.Контрагент, Документ.ПриходнаяНакладнаяПрочие.Контрагент, Документ.УслугиСтороннихОрганизаций.Контрагент;
    |Группировка Контрагент упорядочить по ТМЦ.Наименование без групп;
    |Группировка Док;";

и соответственно обход по запросу
Пока Запрос.Группировка(1) = 1 Цикл 
    Контрагент = Запрос.Контрагент;
    Если ПустоеЗначение(Контрагент) = 1 Тогда
        Продолжить;
    КонецЕсли;
    Таб.ВывестиСекцию("Строка");
КонецЦикла;

или если нужны данные по документам
Пока Запрос.Группировка(1) = 1 Цикл 
    Контрагент = Запрос.Контрагент;
    Если ПустоеЗначение(Контрагент) = 1 Тогда
        Продолжить;
    КонецЕсли;
    Пока Запрос.Группировка(2) = 1 Цикл
        Док = Запрос.Док;    
        Таб.ВывестиСекцию("Строка");
    КонецЦикла;
КонецЦикла;


Сообщение отредактировал nysysimara - 21.02.12, 13:38


Signature
1С Предприятие 7.7: Бух. учет для Украины (активно дописанная) + самописка (учет производства и ЗП)
1С Предприятие 8.3: Бух.предприятия 3.0 + самописка
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Кроме высшего образования, нужно иметь хотя бы среднее соображение

Спасибо сказали: wmatik,

wmatik Подменю пользователя
сообщение 21.02.12, 13:56
Сообщение #4

Оратор
*****
Группа: Пользователи
Сообщений: 294
Спасибо сказали: 1 раз
Рейтинг: 0

спасибо nysysimara, все получилось, только вот как без ТЗ заменить все повторяющиеся контрагенты на одну строку? или только с помощью ТаблицыЗначений?

уже сообразила, не грпуппировать по Группировка(2)


Signature
1С Предприятие 7.7(сетевая версия) - 7.70.027,Конф: ПУБ(7.70.010)

onis Подменю пользователя
сообщение 06.06.12, 14:09
Сообщение #5

Общительный
**
Группа: Пользователи
Сообщений: 37
Спасибо сказали: 0 раз
Рейтинг: 0

Здравствуйте, мне нужна помощь!!!
может кто то подсказать, как сделать в отчете, чтоб продукцию сортировало в алфавитном порядке.
За раннЕе спасибо


 ! 

Правила, п.2
 


Сообщение отредактировал logist - 06.06.12, 14:16


Signature
1С программирование это хорошо когда умеешь, а если не умеешь тогда учись, иле плати

mister-x Подменю пользователя
сообщение 06.06.12, 15:25
Сообщение #6

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

опечатка, тут
Цитата(nysysimara @ 21.02.12, 13:26) *
|Группировка Контрагент упорядочить по ТМЦ.Наименование без групп;

мало б бути
|Группировка Контрагент упорядочить по Контрагент.Наименование без групп;


Сообщение отредактировал mister-x - 06.06.12, 15:27

onis Подменю пользователя
сообщение 06.06.12, 15:47
Сообщение #7

Общительный
**
Группа: Пользователи
Сообщений: 37
Спасибо сказали: 0 раз
Рейтинг: 0

Якщо я зроблю так
|Группировка ТМЦ упорядочить по ТМЦ.Наименование без групп все ВошедшиеВЗапрос;

то так буде правильно?


Signature
1С программирование это хорошо когда умеешь, а если не умеешь тогда учись, иле плати

mister-x Подменю пользователя
сообщение 06.06.12, 15:50
Сообщение #8

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

покажіть код в новій темі, так як тут щось про ТМЦ не згадувалось - отже, у вас інший звіт ніж тут

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 16.04.24, 11:18
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!