Имя: Пароль:
1C
1C 7.7
v7: ПУБ присвоить функцию Флажок
0 AlaMaRit
 
11.09.15
09:27
ребята помогите плизЧИК, как присвоить функцию флажку, чтобы когда я делаю взаиморасчёты с контрагентами, при выборе даты и выборе группы контрагентов, я ставил флажок "не оплаченные накладные", и мне показывалось толь не оплаченные накладные за данные отрезок времени
1 ДенисЧ
 
11.09.15
09:33
лучше кнопку, а не флажок
2 AlaMaRit
 
11.09.15
09:35
(1) а как присвоить этой кнопке задачу
3 ДенисЧ
 
11.09.15
09:35
В свойствах - вторая вкладка, поле функция
4 AlaMaRit
 
11.09.15
09:39
дополнительно - Формула?
5 AlaMaRit
 
11.09.15
09:41
(3) мне надо что при нажатии на кнопку, маниторились все накладные и отсеивались все оплаченные и отображались неоплаченные за заданный период времени
6 ДенисЧ
 
11.09.15
09:42
(4) да
(5) нифуя не понял...
7 AlaMaRit
 
11.09.15
09:48
(6) вот смотри, я захожу Отчеты -> контрагенты -> взаиморасчеты -> там выбираю дату С и дату ПО -> выбираю Контрагента или группу контрагентов -> нажимаю на  мою кнопку -> и мне отображается таблица, где список контрагентов с неоплаченными накладными, с датой отгрузки и суммой долга.
Как то так
8 AlaMaRit
 
11.09.15
09:49
если б можно было загружать суда картинки я показалбы
9 aka AMIGO
 
11.09.15
10:14
(8) вот сюда: http://pics.rsh.ru/ загружай картинки, а в мисту тащи ссылку
10 AlaMaRit
 
11.09.15
10:15
(9) ООО салам Амиго, как дела?
11 aka AMIGO
 
11.09.15
10:16
(10) салам, AlaMaRit ! спасибо, нормально :)
12 AlaMaRit
 
11.09.15
10:16
вот картинка http://pics.rsh.ru/img/123_arr2a1hu.jpg
13 AlaMaRit
 
11.09.15
10:34
(11) сможешь помочь?
14 AlaMaRit
 
11.09.15
12:35
ЛЮДИИИИ сможет мне кто нить помочь с моим вопросом?
15 Ёпрст
 
11.09.15
12:38
(12) все накладные, которые висят в долгах, и так не оплачены.
Зачем вам эта кнопка ?
16 aka AMIGO
 
11.09.15
12:45
(14) вроде-б уже посоветовали в (3)

в свойствах: http://pics.rsh.ru/img/11_d9mebc05.png
в коде модуля отчета: http://pics.rsh.ru/img/12_aohe3xmz.png

В теле процедуры пишешь свой код.

(15) именно так ТС представляет себе работу с отчетом.
Опыт приходит со временем :)

В коде отчета ему, видимо, сложно разобраться, вот и ищет пути :)
17 AlaMaRit
 
11.09.15
12:54
(15) а где эти накладные посмотреть?
18 AlaMaRit
 
11.09.15
12:56
(16) все что ты написал понятно, не понятно только одно, В теле процедуры пишешь свой код. какой код надо вписать, чтоб процедура выводила именно неоплаченные накладные?
19 Fedor-1971
 
11.09.15
12:57
(14) у тебя есть флажок "выводить без групп" , посмотри как называется реквизит, посмотри как его обрабатывают в Сформировать() и сделай аналогично.
Примерно так: выносишь на форму флажок, назначаешь ему Идентификатор, например, НеОплаченныеНакладные, в заголовок вносишь текст для формы. В процедуре Сформировать() вставляешь условие в нужном месте Если НеОплаченныеНакладные=1 тогда некие действия.

(15) У тебя же отчёт он и выведет на экран, смотри сколько хочешь.
(16) Так твоего кода ни кто не видит. Предлагаешь догадаться?
20 Ёпрст
 
11.09.15
12:59
(17) ты не поверишь, в типовом отчете ведомость по контрагентам
21 AlaMaRit
 
11.09.15
13:00
(20) нет у меня типового отчета ведомость по контрагентам
22 Ёпрст
 
11.09.15
13:02
(21) смотри какие есть (в типовом ПУБ-е всё и так есть)
23 AlaMaRit
 
11.09.15
13:02
(22) ПУБ-?
24 AlaMaRit
 
11.09.15
13:03
(19) //*******************************************
процедура выбДаты(Реж)
    если Реж = 0 тогда
        если ДатаС > ПолучитьДатуТА() тогда
            ДатаС = ПолучитьДатуТА();
            Предупреждение("Нельзя выбирать дату начала периода больше ТА", 30);
        иначеЕсли ДатаС > ДатаПо тогда
            ДатаС = ДатаПо;
            Предупреждение("Нельзя выбирать дату начала периода больше даты конца", 30);
        конецЕсли;
    иначе
        если ДатаПо < ДатаС тогда
            ДатаПо = ДатаС;
            Предупреждение("Некорректный интервал дат", 30);
        конецЕсли;
    конецЕсли;
конецПроцедуры


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


ДатаС = Мин(ПолучитьДатуТА(),НачМесяца(РабочаяДата()));
ДатаПо = РабочаяДата();
вот  это мой код?
25 Масянька
 
11.09.15
13:03
(16) Не всегда (опыт) :(
26 AlaMaRit
 
11.09.15
13:03
эпро процедура взаиморасчетов
27 Масянька
 
11.09.15
13:04
Кстати, конфа не озвучена.
28 Ёпрст
 
11.09.15
13:04
(23) да, а что ? У вас по скриншоту - именно ОН
ПроизводствоУслугиБухгалтеря (ПУБ)
30 AlaMaRit
 
11.09.15
13:06
(29) давай ты мне не будешь говорить что делать, хорошо? если по сути вопроса не можешь помочь, зачем умничать? я может не разбираюсь во всем том в чем ты разберешься, но хочу это узнать, ты ведь тоже когда то всему учился
31 Масянька
 
11.09.15
13:07
(29) Это ты сказал, но не ТС. Чего наезжаешь? (жалобно)
32 Fedor-1971
 
11.09.15
13:13
(23) Это 5. Заголовок 1С прочитай.

(30) Как-то больше похоже на то. сто ты хочешь, что бы за тебя сделали, а не разобраться.
Но вот тебе подсказка:
            Если ВидР=0 Тогда
                Надо=?(СумДолг1>Долг,Долг,СумДолг1);
                СумДолг1=?(СумДолг1>Долг,СумДолг1-Долг,0);
            Иначе
                Надо=?(Докум.ДатаОплаты>ДатаПо,0,Долг);                                  
            КонецЕсли;
            СумНадо=СумНадо+Надо;
            
            Таб.ВывестиСекцию("Док");        

Тут проверь свой флажок и не выводи документы без остатка долга. Как сделать - разбирайся.
33 kobzon2
 
11.09.15
13:18
Судя по скрину - отчет самопал. А в ПУБе вроде типового и нет, чтобы то что ТС хочет.
34 AlaMaRit
 
11.09.15
13:19
(32) разбираться я хочу, просто некоторые, если человек чего то не знает по теме, вместо того что бы подсказать, научить, подкалывают
35 Ёпрст
 
11.09.15
13:20
(33) всё там есть, анализ взаиморасчетов
36 kobzon2
 
11.09.15
13:29
(35) Ну да, в принципе ему это и надо. Никогда им не пользовался. Обычно своими отчетами по дебиторке с просрочкой.
37 Fedor-1971
 
11.09.15
13:31
(34) так не в школе же общаемся, а на форуме, кто как может так и помогает или прикалывается (дезу или пургу гонит - так голова тебе на то и дана что бы инфу фильтровать и прикалываться в ответ).
Большая нервозность в сём вопросе побуждает желание потролить нервных товарищей.
38 AlaMaRit
 
11.09.15
13:32
(32) скажи этот код только на вывод без остатка?
39 Масянька
 
11.09.15
13:33
(38) Колоссально :)))))
40 Fedor-1971
 
11.09.15
13:40
(38) Сформируй отчёт и посмотри глазами.
По коду: всё что попало в отчёт с остатком >=0, но тебе нужны с остатками > 0
41 Fedor-1971
 
11.09.15
13:42
(38) Т.е. алгоритмизация - это просто страшное слово и читать код мы не собираемся?
42 Масянька
 
11.09.15
13:43
(41) Ты все-таки понял? :))))
43 AlaMaRit
 
11.09.15
13:48
(40) может сейчас ляпну фигню, вместо вопросиков в твоем коде я должен поставить
Надо=>0(СумДолг1>Долг,Долг,СумДолг1);
                СумДолг1=?(СумДолг1>Долг,СумДолг1-Долг,0);
            Иначе
                Надо=>0(Докум.ДатаОплаты>ДатаПо,0,Долг);
44 Fedor-1971
 
11.09.15
14:01
(43)В справке посмотри что такое "?" и формат его использования.
Но, в принципе, можешь попробовать внести твои изменения,  сделать синтаксический контроль модуля, вчитаться куда тебя пошлёт 1С и изучить основные сведения по встроенному языку.
Рано тебе ещё отчёты исправлять, ты основ не знаешь.
45 AlaMaRit
 
11.09.15
14:04
(44) я до сих пор пробую, кучу разных ошибок выдает, я вроде как исправляю, но ни как не получается, может направишь в нужное русло?
46 avyub
 
11.09.15
14:11
(43) ?() - это сокращенная запись если, тогда, иначе
47 AlaMaRit
 
11.09.15
14:22
(46) что значит если, тогда, иначе?
48 avyub
 
11.09.15
14:36
(47) я думаю после (46) тут уже никто больше ничего отвечать не будет. Потому что это самые азы построения алгоритмов
49 avyub
 
11.09.15
14:36
т.е. после (47)
50 AlaMaRit
 
11.09.15
14:40
(49) мне трудно в это прям сейчас вникнуть, тут со всех сторон давление на работе, вы можете просто сказать что так место ? надо вставить? А исходя из этого я может сделаю выводы и пойму что нить
51 avyub
 
11.09.15
14:43
запись ?(условие, результат1, результат2) аналогично (сокр) записи Если Условие истинно Тогда результат1 Иначе Результат2
52 avyub
 
11.09.15
14:44
вопрос это элемент синтаксиса, не нужно вместо него ничего подставлять
53 AlaMaRit
 
11.09.15
14:45
(51) это я в синтаксис помощнике увидел, поставил  и 1 потом 2 все равно выдает ошибку
54 AlaMaRit
 
11.09.15
14:45
(52) а куда надо ставить?
55 AlaMaRit
 
11.09.15
14:48
Надо=?(Докум.ДатаОплаты>ДатаПо,0,Долг);                                  
{Отчет.Взаиморасчеты.Форма.Модуль(279)}: Значение не представляет агрегатный объект (ДатаОплаты)
56 avyub
 
11.09.15
14:54
в (24) у тебя была ДатаС, а сейчас стала ДатаОплаты? Смотри свои реквизиты
57 avyub
 
11.09.15
14:57
хотя ДатаС похоже Дата начала периода
58 AlaMaRit
 
11.09.15
14:58
(56) В (24) Я КОПИРОВАЛ свой не измененный код из конфигуратора, а (55) это (32) предложил
59 AlaMaRit
 
11.09.15
14:59
(57) CapsLock случайно нажал
60 avyub
 
11.09.15
14:59
(32) все правильно написал, он не знает реквизитов твоего документа и какие у тебя там перемнные
61 avyub
 
11.09.15
14:59
замени в (32) на свои
62 AlaMaRit
 
11.09.15
15:00
(60) свои я вроде выложил, если я про то вообще говорю
63 AlaMaRit
 
11.09.15
15:01
(61) еслиб я ещё знал где мои
64 avyub
 
11.09.15
15:03
(32) это обобщенный алгоритм. (24) это часть(32). (24 даже дважды будет нужно писать (для ВидР=0 и для Иначе)
65 avyub
 
11.09.15
15:04
хотя можно по-разному написать код (дело творческое)
66 avyub
 
11.09.15
15:05
можно вначале выбатьинтервал, а потом уже проверять условие проставленных галок)
67 AlaMaRit
 
11.09.15
15:06
(65) я примерно понял что ты мне щас сказал, и мне не посебе стало, слуша весь мой код есть, суть вопроса ты понял, по-братски если тебе не трудно, добей мне этот вопрос ))))
68 avyub
 
11.09.15
15:06
у тебя есть пример ВыводитьБезГрупп. Все стопроцентно аналогично
69 AlaMaRit
 
11.09.15
15:07
(68) где?
70 avyub
 
11.09.15
15:08
в коде твоего отчета
71 avyub
 
11.09.15
15:17
В ответ по теме: Никакой функции флажку присваивать не нужно. Нужно только проверить условие. флажек соответствует какому-то реквизиту. В коде: если РеквизитФлага=0 тогда Условие1 (снята галка) Иначе Условие2 (стоит галка). Как проще объяснить не представляю
72 AlaMaRit
 
11.09.15
15:22
(71) это мне понятно, мне не понятно какое строение кода должно быть для флажка, и главное в какое место кода взаиморасчеты его нужно ставить?
73 AlaMaRit
 
11.09.15
15:33
(71) скажи пожалста Если ВидР=0 Тогда - это и есть реквизит флага?
74 Fedor-1971
 
11.09.15
15:57
(73) запусти отладчик поставь точку останова внутри Сформировать() и пройдись по коду, заодно узнаешь как связаны реквизиты формы и внутренний код.
Как же ты, дитятко, попал на сопровождение 1С с такими знаниями языка и алгоритмизации?
По ходу поколение интернета, книги читать не хотим, а специалистами становимся на форумах. Не лучший способ образования.

Да, обидеть никоим образом не хотел.
75 avyub
 
11.09.15
16:34
+(73) и еще вначале почитай, что такое реквизиты формы, переменные и операторы.
76 avyub
 
11.09.15
16:38
+(75) пока ты не видишь разницы между этими понятиями, обсуждать что-то дальше бессмысленно