Вход | Регистрация


1С:Предприятие ::

Метки: 

v7: Отбор в общем журнале по контрагенту

Я
   Asia2016
 
24.07.18 - 15:05
В общем журнале есть отбор документов по контрагенту. Но при отборе показывает только проведенные документы. Как сделать, чтобы в списке отобранных документов показывало проведенные и не проведенные
документы
 
  Рекламное место пустует
   Asia2016
 
1 - 24.07.18 - 15:07
Перем СписокДействий;
Перем ОтборУстановлен;
Перем СписокВидовДокументов;
Перем ВидДокумента;
Перем СохранятьЗначения;

//******************************************************************************

// 
Процедура УправлениеДиалогом()

    Если (ОтборУстановлен = 1) Тогда
        Форма.КнопкаОтобратьПо.Заголовок("Снять отбор");
        Форма.СписокВидовОтбора.Доступность(0);
    Иначе
        Форма.КнопкаОтобратьПо.Заголовок("Отобрать по:");
        Форма.СписокВидовОтбора.Доступность(1);
    КонецЕсли;

КонецПроцедуры// УправлениеДиалогом()


//******************************************************************************

// 
Процедура УстановкаОтбора()

    ТекДок = ТекущийДокумент;
    ВидОтбора = СписокВидовОтбора.ПолучитьЗначение(СписокВидовОтбора.ТекущаяСтрока());

    Если (ОтборУстановлен = 1) Тогда

        Если (ВидОтбора = "ВидДокумента") Тогда

            УстановитьОтбор(ВидДокумента);

            АктивизироватьОбъект(ТекДок);

        Иначе

            УстановитьОтбор(ВидОтбора, ЗначениеОтбораСпр);

        КонецЕсли;

        ВидыОтбора("");

    Иначе

        УстановитьОтбор("");
        ВидыОтбора("*");

        АктивизироватьОбъект(ТекДок);

    КонецЕсли;

КонецПроцедуры// УстановкаОтбора()


//******************************************************************************

//
Процедура ПриИзмененииЗначенияОтбора()

    Если (ОтборУстановлен = 1) Тогда

        УстановкаОтбора();

    КонецЕсли;

КонецПроцедуры// ПриИзмененииЗначенияОтбора


//******************************************************************************

//
Процедура ПриИзмененииВидаОтбора()
    
    ВидОтбора = СписокВидовОтбора.ПолучитьЗначение(СписокВидовОтбора.ТекущаяСтрока());

    Если (ВидОтбора = "ВидДокумента") Тогда

        Форма.ЗначениеОтбораСтр.Видимость(1);
        Форма.ЗначениеОтбораСпр.Видимость(0);
    Иначе         

        Форма.ЗначениеОтбораСтр.Видимость(0);  
        Форма.ЗначениеОтбораСпр.Видимость(1);

        Если (ВидОтбора = "Контрагент") Тогда
            НазначитьВид(ЗначениеОтбораСпр, "Контрагенты");
        ИначеЕсли (ВидОтбора = "Автор") Тогда
            НазначитьВид(ЗначениеОтбораСпр, "Пользователи");
        КонецЕсли;

    КонецЕсли;

КонецПроцедуры// ПриИзмененииВидаОтбора


//******************************************************************************

//
Процедура ПоКнопкеОтобратьПо()

    Если ОтборУстановлен = 1 Тогда
        ОтборУстановлен = 0;
    Иначе
        ОтборУстановлен = 1;
    КонецЕсли;

    УправлениеДиалогом();

    УстановкаОтбора();

КонецПроцедуры// ПоКнопкеОтобратьПо()


//******************************************************************************

// Предопределенная процедура
//

Процедура ПриОткрытии()

    ТекДок = ВосстановитьЗначение("ТекДок");
    АктивизироватьОбъект(ТекДок);

    // Определим, что журнал открывается как журнал подчиненных документов.

    Если ТипЗначенияСтр(ПодчинениеДокументу()) = "Документ" Тогда

        Форма.Заголовок("Журнал подчиненных документов к документу " + глПредставлениеДокумента(ПодчинениеДокументу()));

        Форма.КнопкаОтобратьПо.Видимость(0);
        Форма.СписокВидовОтбора.Видимость(0);
        Форма.ЗначениеОтбораСтр.Видимость(0);
        Форма.ЗначениеОтбораСпр.Видимость(0);
        Форма.КнопкаРеестр.Видимость(0);
        Форма.КнопкаСформироватьПроводки.Видимость(0);
        Форма.КнопкаПодсказкаПоФормированиюПроводок.Видимость(0);
        
        Возврат;

    КонецЕсли;

    // Если в качестве параметра передан контрагент, установим по нему отбор.

    Если ТипЗначенияСтр(Форма.Параметр) = "Справочник" Тогда

        Если Форма.Параметр.Вид() = "Контрагенты" Тогда

            Форма.Заголовок("Документы по: " + Форма.Параметр, 0);

            УстановитьОтбор("Контрагент", Форма.Параметр);

            Форма.КнопкаОтобратьПо.Видимость(0);
            Форма.СписокВидовОтбора.Видимость(0);
            Форма.ЗначениеОтбораСтр.Видимость(0);
            Форма.ЗначениеОтбораСпр.Видимость(0);
            Форма.КнопкаРеестр.Видимость(0);
            Форма.КнопкаСформироватьПроводки.Видимость(0);
            Форма.КнопкаПодсказкаПоФормированиюПроводок.Видимость(0);

            Возврат;

        КонецЕсли;

    КонецЕсли;

    // Заполним список видов документов для отбора.

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

    // Если в качестве параметра передана строка с видом документа, установим

    // отбор виду документа.

    Если ТипЗначенияСтр(Форма.Параметр) = "Строка" Тогда

        Если СписокВидовДокументов.НайтиЗначение(Форма.Параметр) > 0 Тогда

            УстановитьОтбор(Форма.Параметр);

            Форма.КнопкаОтобратьПо.Видимость(0);
            Форма.СписокВидовОтбора.Видимость(0);
            Форма.ЗначениеОтбораСтр.Видимость(0);
            Форма.ЗначениеОтбораСпр.Видимость(0);
            Форма.КнопкаРеестр.Видимость(0);
            Форма.КнопкаСформироватьПроводки.Видимость(0);
            Форма.КнопкаПодсказкаПоФормированиюПроводок.Видимость(0);

            Возврат;

        КонецЕсли;

    КонецЕсли;

    // Если в качестве параметра передан документ, активизируем его в списке.

    Если ТипЗначенияСтр(Форма.Параметр) = "Документ" Тогда

        ДатаТекДок = Форма.Параметр.ДатаДок;
        НачалоИнтервала = НачалоИнтервала();
        КонецИнтервала = КонецИнтервала();
        НужноИзменитьИнтервал = 0;

        Если ДатаТекДок <= НачалоИнтервала Тогда
            НачалоИнтервала = ДатаТекДок;
            НужноИзменитьИнтервал = 1;
        КонецЕсли;

        Если ДатаТекДок >= КонецИнтервала Тогда
            КонецИнтервала = ДатаТекДок;
            НужноИзменитьИнтервал = 1;
        КонецЕсли;

        Если НужноИзменитьИнтервал = 1 Тогда
            УстановитьИнтервал(НачалоИнтервала, КонецИнтервала);
        КонецЕсли;

        АктивизироватьОбъект(Форма.Параметр);

    КонецЕсли;

    СохранятьЗначения = 1;
    
    Форма.ЗначениеОтбораСпр.НеИзменятьВид(1);
    
    // Заполним список видов отбора.

    СписокВидовОтбора.УдалитьВсе();
    СписокВидовОтбора.ДобавитьЗначение("ВидДокумента", "виду документа");
    СписокВидовОтбора.ДобавитьЗначение("Контрагент",      "контрагенту");
    СписокВидовОтбора.ДобавитьЗначение("Автор",           "автору");
    СписокВидовОтбора.ТекущаяСтрока(1);
    
    ПриИзмененииВидаОтбора();

    УправлениеДиалогом();

КонецПроцедуры// ПриОткрытии


//******************************************************************************

// Предопределенная процедура
//

Процедура ПриНачалеВыбораЗначения(ИдентЭлементаДиалога, ФлагСтандартнойОбработки)

    Если ИдентЭлементаДиалога = "ЗначениеОтбораСтр" Тогда
        
        Позиция = 0;

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

    КонецЕсли;

КонецПроцедуры// ПриНачалеВыбораЗначения()


//******************************************************************************

// Предопределенная процедура
//

Процедура ПриЗакрытии()// Предопределенная процедура


    Если СохранятьЗначения = 1 Тогда

        СохранитьЗначение("ТекДок", ТекущийДокумент);

    КонецЕсли;

КонецПроцедуры// ПриЗакрытии


//******************************************************************************
   HawkEye
 
2 - 24.07.18 - 18:03
(0) " Но при отборе показывает только проведенные документы" - это что за конфа такая новая?
   HawkEye
 
3 - 24.07.18 - 18:04
+(2) а в целом - добавить свой отбор...
   Builder
 
4 - 24.07.18 - 18:21
(0) В 7-ке в типовом отборе таких чудес не бывает :)
Либо не туда смотрите и непроведенных документов нет.
   uno-group
 
5 - 24.07.18 - 18:33
Журнал-графы отбора-контрагент- добавить ссылку на поле контрагент из своего документа.
создали свой документ. Регистр он двигает и попадает так как в графе отбора есть регистр.взаиморасчеты...контрагент.
а не проведенный нет так как документ.мойдокумент.контрагент
ктото забыл добавить
   Asia2016
 
6 - 25.07.18 - 07:50
(4) чудеса есть. два документа отгрузки. показывает только проведенный.
   Asia2016
 
7 - 25.07.18 - 07:58
(5) информацию из проведенного документа видно. из не проведенного документа - не видно.
   Asia2016
 
8 - 25.07.18 - 08:00
(5) как это можно исправить? в основном отбор нужен для документов отгрузки ГП.
   Масянька
 
9 - 25.07.18 - 08:15
(8) В (2) уже спросили, но я повторю - конфа?
   Asia2016
 
10 - 25.07.18 - 08:17
(9) в конфе дописать чтобы просматривала список документов как проведенных так и не проведенных ?
 
  Рекламное место пустует
   Масянька
 
11 - 25.07.18 - 08:21
(10) Название и номер конфигурации.
   Asia2016
 
12 - 25.07.18 - 08:24
(114) 7.7 релиз 23. это была типовая, но мы практически ее всю переписали под свое производство. то что типовая это с большой натяжкой
   Asia2016
 
13 - 25.07.18 - 08:25
(11) если нет других вариантов кроме как переписать отбор придется делать.
   Масянька
 
14 - 25.07.18 - 08:26
(12) Партизан? Чего все клещами тянуть надо? А название?
   Asia2016
 
15 - 25.07.18 - 08:29
(14) название ? например ? честно как то не въезжаю
   Asia2016
 
16 - 25.07.18 - 08:31
производство+услуги+бухгалтерия
   Масянька
 
17 - 25.07.18 - 08:35
(16) Ну, вот... А говорила - не въезжаю :)
   Масянька
 
18 - 25.07.18 - 08:38
(16) Там в коде есть
 
        ДатаТекДок = Форма.Параметр.ДатаДок;
        НачалоИнтервала = НачалоИнтервала();
        КонецИнтервала = КонецИнтервала();
        НужноИзменитьИнтервал = 0;

Может не проведенный не попадает в интервал?
Контрагент однозначно один и тот же?
   uno-group
 
19 - 25.07.18 - 08:46
Для тех кто в танке.
Открой конфигуратор. Конфигурация открыть конфигурацию.
+ на Журналы документов
+ на графы отбора
кликаешь по Контрагенту.
В Списке возможные значения 
+ на документы - находишь свой документ
+ на нем.
+ на шапка
находишь реквизит контрагенты или клиент как, он там у ваз в базе зовется выделяешь нажимаешь стрелку "Влево"
убеждаешься что он появился в списке выбранные значения.
закрываешь все окна подтверждая сохранения и т.п.
Аллилуйя.
   Масянька
 
20 - 25.07.18 - 08:51
(19) А почему проведенные док-ки попадают, а не проведенные нет?
   Asia2016
 
21 - 25.07.18 - 09:13
(18) и (19) ща попробую все варианты.
   Asia2016
 
22 - 25.07.18 - 09:15
(18) сделала документы одной датой, но один док проведенный, другой не проведенный.  не проходит
   Масянька
 
23 - 25.07.18 - 09:18
(22) Контрагент один?
   Asia2016
 
24 - 25.07.18 - 09:20
(19) ПОЛУЧИЛОСЬ! СПАСИБО ВСЕМ!
   Карст
 
25 - 25.07.18 - 09:22
чудес не бывает ...
   Asia2016
 
26 - 25.07.18 - 09:41
(19) можно еще один вопрос. если хочу добавить еще графу например сумма. и так же с документа обозначить сумму. выдает сообщение, что невозможно добавить в состав графы отбора числовой реквизит допускающий значение отличный от целого. сумма - тип значения отбора - число.
   Asia2016
 
27 - 25.07.18 - 09:42
сумму нужна не для отбора, а чтобы при отборе была видна колонка сумма.
   Asia2016
 
28 - 25.07.18 - 09:42
или много хочу ?
   Asia2016
 
29 - 25.07.18 - 09:43
сделала!
   Asia2016
 
30 - 25.07.18 - 09:44
спасибо!
   HawkEye
 
31 - 25.07.18 - 12:13
(20) потому что отбор наложен не по реквизиту документа, а по реквизиту регистра...
   Злопчинский
 
Ведущий
32 - 25.07.18 - 14:57
(31) ээээ а как в отбор по журналу наложить отбор по реквизиту регистра..???
   aka AMIGO
 
33 - 25.07.18 - 15:12
(32) Реквизит регистра поместить в шапку документа :)
ЗЫ. любишь ты задавать вопросы с подковыркой :)
 
 
   HawkEye
 
34 - 25.07.18 - 15:17
(32) ну как... обычно, создавая графу отбора выбираешь не реквизит документа, а реквизит регистра, ес-сно в этом случае будут отбираться только проведенные документы (как у автора)...

(33) мимо...  чего ты сочиняешь, как вообще можно такое сказать: "Реквизит регистра поместить в шапку документа"!? можно чтобы типбыл один и тот-же у реквизита регистра и элемента шапки, но это не будет одно и то-же и на отбор не повлияет никак....
   HawkEye
 
35 - 25.07.18 - 15:18
(+34) у автора точнее не по реквизиту, а по измерению, но это на суть не виляет, можно и по реквизиту и по измерению отборы накладывать...
   aka AMIGO
 
36 - 25.07.18 - 15:22
(34) Ну, мимо, так мимо.
А что мешает сделать типы в доке и регистре одинаковыми?
   HawkEye
 
37 - 25.07.18 - 15:34
(36) ничего, так обычно и делают, только при чем тут отбор?
   aka AMIGO
 
38 - 25.07.18 - 15:39
(37) Отбор? так по этому реквизиту документа и производить его.
   HawkEye
 
39 - 25.07.18 - 15:43
(38) а у автора отбор не по реквизиту документа, а по реквизиту или измерению регистра.... а он, не факт, что есть в документе, не факт, что совпадает, и не заполнен если док. не проведен, отсюда и сабж...
   Злопчинский
 
Ведущий
40 - 25.07.18 - 15:45
(34) О, блин, действительно. Никогда не пользовался.
   aka AMIGO
 
41 - 25.07.18 - 15:50
(39) друже, я могу заполнить его и при проведении, т.е. из модуля документа..
А вообще-то ладно, ты меня уговорил, и я с тобой полностью согласен :)
   HawkEye
 
42 - 25.07.18 - 15:52
(41) можешь, это был второй вариант ответа на вопрос автора, что реквизит по которому стоит отбор заполняется при проведении документа...

(40) я тоже )))



Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует