Модераторы: stron
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Реестр документов, Реестр документов 
:(
    Опции темы
dmd1980
Дата 27.4.2009, 04:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 21.4.2009

Репутация: нет
Всего: нет



Здраствуйте.
Делаю форму реестра документов, и немогу сделать отбор по котрагенту. т.е. при выборе контрагента показываются только документы где присутствует этот контрагент. сейчас у меня работает только выборка по дате. Помогите, буду очень благодарен.
Вот мой листнг:
//*******************************************
Процедура Сформировать()
    Док=СоздатьОбъект("Документ");//попадают документы всех типов
    
    Таб=СоздатьОбъект("Таблица");//создаем таблицу
    Таб.ИсходнаяТаблица("Реестр");//присваеваем таблице имя
    //Док=СоздатьОбъект("Документ.Приход"); попадают только приход
    //ВидДок=Док.Вид(); перебор вида документа
    Таб.ВывестиСекцию("Шапка");
    Док.ВыбратьДокументы(НачДата,КонДата);//перебор документа по датам
    //если скобки пустые то перебераются все документы за весь период
    
    Пока Док.ПолучитьДокумент()=1 Цикл // проверка полученных документов
        Вид=Док.Вид(); 
        Если Вид="Оплата" Тогда
            Инфо=Док.Контрагент;            
        ИначеЕсли Вид="Перемещение" Тогда  
            Инфо="Сосклада"+Строка(Док.Склад)+ " Насклада " +Строка(Док.СкладНазначения);
        Иначе
            Инфо=Док.Склад; 
            //     СуммаДок=Док.Итог("Сумма");
        КонецЕсли;    
        Таб.ВывестиСекцию("Элемент");
    КонецЦикла;
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Реестр");
КонецПроцедуры


PM MAIL   Вверх
Naghual
Дата 27.4.2009, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 5
Всего: 49



В вашем случае нужно просто добавить проверку на контрагента:
Код

Пока Док.ПолучитьДокумент()=1 Цикл // проверка полученных документов
    Если Док.Контрагент = ВыбКонтрагент Тогда
        Вид=Док.Вид();
        Если Вид="Оплата" Тогда
            Инфо=Док.Контрагент;
        ИначеЕсли Вид="Перемещение" Тогда  
            Инфо="Сосклада"+Строка(Док.Склад)+ " Насклада " +Строка(Док.СкладНазначения);
        Иначе
            Инфо=Док.Склад; 
            //     СуммаДок=Док.Итог("Сумма");
        КонецЕсли;
        Таб.ВывестиСекцию("Элемент");
    КонецЕсли;
КонецЦикла;


Однако замечу, что такой метод не является оптимальным. Рекомендую Вам подробнее ознакомится с Запросами.


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
dmd1980
Дата 27.4.2009, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 21.4.2009

Репутация: нет
Всего: нет



Цитата(Naghual @ 27.4.2009,  09:46)
В вашем случае нужно просто добавить проверку на контрагента:
Код

Пока Док.ПолучитьДокумент()=1 Цикл // проверка полученных документов
    Если Док.Контрагент = ВыбКонтрагент Тогда
        Вид=Док.Вид();
        Если Вид="Оплата" Тогда
            Инфо=Док.Контрагент;
        ИначеЕсли Вид="Перемещение" Тогда  
            Инфо="Сосклада"+Строка(Док.Склад)+ " Насклада " +Строка(Док.СкладНазначения);
        Иначе
            Инфо=Док.Склад; 
            //     СуммаДок=Док.Итог("Сумма");
        КонецЕсли;
        Таб.ВывестиСекцию("Элемент");
    КонецЕсли;
КонецЦикла;


Однако замечу, что такой метод не является оптимальным. Рекомендую Вам подробнее ознакомится с Запросами.

Сделал как ты посоветовал и у меня выходит следуюшая ошибка:

Если Док.Контрагент = ВыбКонтрагент Тогда
{Отчет.Реестр.Форма.Модуль(15)}: Поле агрегатного объекта не обнаружено (Контрагент)

Добавлено через 3 минуты и 26 секунд
у меня вот такая вот форма

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  1.jpg 33,03 Kb
PM MAIL   Вверх
Naghual
Дата 27.4.2009, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 5
Всего: 49



А подумать?

Добавлено через 2 минуты и 18 секунд
Я же не знаю что у тебя за конфигурация. Ты не указал.
Данное сообщение говорит лишь о том, что у конкретного Документа нет такого реквизита Контрагент.
Может у тебя в конфигурации он не так называется, а может что у данного документа и вовсе нет такого.

Так что  думай


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
dmd1980
Дата 28.4.2009, 03:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 21.4.2009

Репутация: нет
Всего: нет



Naghual. А я до пер после часа напряженной работы smile !!!
Если кому нужно то выкладываю листинг пользуйтесь на здоровье:
//********************************************************
КонтрИзДока = "";
Док.ВыбратьДокументы(НачДата, КонДата);
Пока Док.ПолучитьДокумент()=1 Цикл // проверка полученных документов
   Попытка
        КонтрИзДока = Док.Контрагент;
   Исключение
        Продолжить;
   КонецПопытки;
     Если ВыбКонтр.Выбран() = 1 Тогда
         Если Док.Контрагент <> ВыбКонтр Тогда
              Продолжить;
         КонецЕсли;    
    КонецЕсли; 
        Инфо=Док.Контрагент;
        Если Док.Вид()="Перемещение" Тогда  
            Инфо="Сосклада"+Строка(Док.Склад)+ " На склад " +Строка(Док.СкладНазначения);
        Иначе
            Попытка // не во всех документах могут быть Склад и Сумма в табл части, на всякий случай )))
                 Инфо=Док.Склад; 
                 СуммаДок=Док.Итог("Сумма");
            Исключение
                 Инфо=""; 
                 СуммаДок=0;
            КонецПопытки;  
        КонецЕсли;
        Таб.ВывестиСекцию("Элемент");
  КонецЦикла;

PM MAIL   Вверх
Naghual
Дата 28.4.2009, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 5
Всего: 49



Цитата(dmd1980 @  28.4.2009,  03:16 Найти цитируемый пост)
Naghual. А я до пер после часа напряженной работы smile !!!

Искренне за Вас рад.



--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
dmd1980
Дата 30.4.2009, 04:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 21.4.2009

Репутация: нет
Всего: нет



Здравствуйте. Возвращаюсь к выше указанному примеру
 создал обработку, которая показывает за определенный период документы, могу выбирать, как сортировать по контрагенту, по складу. Создал так же список значений где указанны документы нужно так же сортировку по ним производить: например если выбираю "Реализация" то отчет формируется только по документам Реализация. Список значений сделал, а вот на них действие прописать не могу из головы совсем вылетело.
Выкладываю свой листинг:
//*******************************************
Процедура ПриОткрытии();
    СП.ДобавитьЗначение("ПриходТовара");
    СП.ДобавитьЗначение("Реализация"); 
    СП.ДобавитьЗначение("Счет");     
    СП.ДобавитьЗначение("ЗаказПоставщику");
    СП.ДобавитьЗначение("Перемещение");
    СП.ДобавитьЗначение("Оплата");
КонецПроцедуры

//*******************************************
Процедура Сформировать() 
    Док=СоздатьОбъект("Документ");//попадают документы всех типов 
    Таб=СоздатьОбъект("Таблица");//создаем таблицу
    Таб.ИсходнаяТаблица("Реестр");//присваеваем таблице имя
    Таб.ВывестиСекцию("Шапка");
    КонтрИзДока="";
    СкладИзДока="";
    Док.ВыбратьДокументы(НачДата,КонДата);    
    
    Пока Док.ПолучитьДокумент()=1 Цикл // проверка полученных документов
        Попытка 
            КонтрИзДок=Док.Контрагент;// приравниваем, что выбраный контрагент имется в реквизите документа
            СкладИзДоку=Док.Склад;// приравниваем, что выбраный склад имется в реквизите документа
        Исключение
            Продолжить;
        КонецПопытки; 
        Если ВыбСклад.Выбран()=1 Тогда
            Если Док.Склад<>ВыбСклад Тогда//выполняется условие если скалд выбрат то формируем отчет 
                Продолжить;
            КонецЕсли;
        КонецЕсли;
        Если ВыбКонтр.Выбран()=1 Тогда
            Если Док.Контрагент<>ВыбКонтр Тогда//выполняется условие если скалд выбрат то формируем отчет 
                Продолжить;
            КонецЕсли;
        КонецЕсли;
        Таб.ВывестиСекцию("Элемент"); 
    КонецЦикла;
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Реестр");
КонецПроцедуры
PM MAIL   Вверх
Naghual
Дата 2.5.2009, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 5
Всего: 49



Выбор галочками или просто подсвеченный элемент?
Выбор из СпискаЗначений множественный?


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "1C: Предприятие, SAP, ERP и учётные системы"
stron

Запрещается!

1. Обсуждение крэков, кейгенов и других подобных программ

Пробуйте искать сами или обращайтесь в приват к участникам форума.

Темы с подобными вещами будут немедленно удаляться, а нарушители - получать предупреждения.

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

2. Давать ссылки на взломанные продукты

  • Пожалуйста, пользуйтесь поиском перед тем, как задать вопрос - возможно ответ уже есть на форуме.
  • Название темы должно отражать её суть
  • Действия модераторов можно обсудить здесь

С уважением, stron, Pegas.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | 1C: Предприятие, SAP, ERP и учётные системы | Следующая тема »


 




[ Время генерации скрипта: 0.1095 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.