Имя: Пароль:
1C
1C 7.7
v7: Добавление контрагента в отчет
0 dianna
 
26.03.13
11:15
Всем привет)
Ребят подскажите пожалуйста, есть отчет который вытягивает всех контрагентов
я создала поле ввода для контрагента
отчет открывается, контрагента в меню я могу выбрать, но он не выводится в отчет, выводится весь список.....
помогите решить проблему, пожалуйста

http://s51.radikal.ru/i133/1303/19/6f2a1fce441d.png
http://i058.radikal.ru/1303/c9/26487afe8723.png
http://rghost.ru/44780595

подскажите пожалуйста куда нужно и что прописать,спасибо
1 Chum
 
26.03.13
11:19
(0) facepalm
2 povar
 
26.03.13
11:19
на заборе тоже много чего написано...
3 ДенисЧ
 
26.03.13
11:20
а в запрос фильтр добавила?
4 dianna
 
26.03.13
11:22
(3)нет, я просто только недавно начала изучать 1с
прочитала что нужно добавить сначала поле ввода, а дальше не могу разобратся
5 Chum
 
26.03.13
11:26
Ты или сиськи, или код покажи
6 dianna
 
26.03.13
11:27
подскажите пожалуйста
7 dianna
 
26.03.13
11:27
//*********************************************************************************
Функция УстДоступность()
   Если флПоВсем = 1  Тогда
       ВыбФирма = 0;
       Форма.ВыбФирма.Доступность(0);
   Иначе
       Форма.ВыбФирма.Доступность(1);
   КонецЕсли;
КонецФункции
           
Функция ВернутьЧислоВТаб(ч)
   Если ч <> 0 Тогда
       Возврат ч;
   Иначе
       Возврат "";
   КонецЕсли;        
КонецФункции

//*********************************************************************************
Процедура РаботаСоСписком(Режим)
   Если Режим = "Вкл" Тогда
       Для Инд = 1 По СписокСчетов.РазмерСписка() Цикл
           СписокСчетов.Пометка(Инд,1);
       КонецЦикла;
   ИначеЕсли Режим = "Выкл" Тогда
       Для Инд = 1 По СписокСчетов.РазмерСписка() Цикл
           СписокСчетов.Пометка(Инд,0);
       КонецЦикла;
   Иначе
       Для Инд = 1 По СписокСчетов.РазмерСписка() Цикл
           СписокСчетов.Пометка(Инд,?(СписокСчетов.Пометка(Инд)=1,0,1));
       КонецЦикла;
   КонецЕсли;
КонецПроцедуры

//*********************************************************************************
Процедура ЗаполнитьСписокСчетов()
   Счет = СчетПоКоду("643"); СписокСчетов.ДобавитьЗначение(Счет,Счет.Код+". "+Счет.Наименование);
   Счет = СчетПоКоду("6441"); СписокСчетов.ДобавитьЗначение(Счет,Счет.Код+". "+Счет.Наименование);  
   Счет = СчетПоКоду("6442"); СписокСчетов.ДобавитьЗначение(Счет,Счет.Код+". "+Счет.Наименование);
КонецПроцедуры

//*********************************************************************************
Процедура ПриОткрытии()
   флПоВсем = 1;
   Если СписокСчетов.РазмерСписка() = 0  Тогда
       ЗаполнитьСписокСчетов();
   КонецЕсли;    
КонецПроцедуры

//*********************************************************************************
Процедура ИзмКонтрагент()
   Если ВыбКонтрагент.Выбран() = 1 Тогда
   Форма.Обновить(1);
   КонецЕсли;
КонецПроцедуры

//*******************************************
Процедура Сформировать()
   СпСчета = СоздатьОбъект("СписокЗначений");
   Для Инд = 1 По СписокСчетов.РазмерСписка() Цикл
       Если СписокСчетов.Пометка(Инд) = 1 Тогда
           СпСчета.ДобавитьЗначение(СписокСчетов.ПолучитьЗначение(Инд));
       КонецЕсли;
   КонецЦикла;
   
   Если СпСчета.РазмерСписка() = 0 Тогда
       Предупреждение("Выберите хотя бы один счет!");
       Возврат;
   КонецЕсли;
   
   ПланСчетов = ВыбранныйПланСчетов();
   Расшифровка = СоздатьОбъект("СписокЗначений");
   Расшифровка.Установить("Отчет", "КарточкаСчета");
   Расшифровка.Установить("РазделительУчета", ВыбФирма);
   Расшифровка.Установить("ПоВсемРУ", флПоВсем);
   Расшифровка.Установить("ПланСчетов", ПланСчетов);
   Расшифровка.Установить("Дата1", НачДата);
   Расшифровка.Установить("Дата2", КонДата);
   
   Расшифровка.Установить("ВидСубконто1", ВидыСубконто.Контрагенты);
   Расшифровка.Установить("Субконто1", "");
   Расшифровка.Установить("ОтборСубконто1", 3);
   
   Таб = СоздатьОбъект("Таблица");
   
   флПервыйОбход = 1;
   
   Ит = СоздатьОбъект("БухгалтерскиеИтоги");
   Если флПоВсем = 0 Тогда
       Если ПустоеЗначение(ВыбФирма) = 1 Тогда
           Предупреждение("Выберите фирму!");
           Возврат;
       Иначе
           Ит.ИспользоватьРазделительУчета(ВыбФирма);
       КонецЕсли;
   КонецЕсли;
   Ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты,,1);
   Ит.ВключатьСубсчета(1,флПоСубсчетам);
   Ит.ВыполнитьЗапрос(НачДата,КонДата,СпСчета,,,3);
   Ит.ВыбратьСчета();
   Пока Ит.ПолучитьСчет() = 1 Цикл
       Счет = Ит.Счет;
       Если Счет.ЭтоГруппа() = 1 Тогда
           Продолжить;
       КонецЕсли;
       Расшифровка.Установить("Счет", Счет);
       
       Ит.ВыбратьСубконто(1);
       Пока Ит.ПолучитьСубконто(1) = 1 Цикл
           Контрагент = Ит.Субконто(1);
           Расшифровка.Установить("Субконто1", Контрагент);
           Если флПервыйОбход = 1 Тогда
               // выводим шапку с названиями кор счетов
               флПервыйОбход = 0;
               Таб.ВывестиСекцию("Шапка|Наименование");
               Таб.ПрисоединитьСекцию("Шапка|НачОст");
               Таб.ПрисоединитьСекцию("Шапка|ДО");
               // корсчета по дебету
               Ит.ВыбратьКорСчета(1,1);
               Пока Ит.ПолучитьКорСчет() = 1 Цикл
                   КорСчет = Ит.КорСчет;
                   Если (флПоСубсчетам = 1) и (КорСчет.ЭтоГруппа() = 1)  Тогда
                       Продолжить;
                   КонецЕсли;
                   Таб.ПрисоединитьСекцию("Шапка|КорДО");
               КонецЦикла;
               Таб.ПрисоединитьСекцию("Шапка|КО");
               // корсчета по кредиту
               Ит.ВыбратьКорСчета(1,2);
               Пока Ит.ПолучитьКорСчет() = 1 Цикл
                   КорСчет = Ит.КорСчет;
                   Если (флПоСубсчетам = 1) и (КорСчет.ЭтоГруппа() = 1)  Тогда
                       Продолжить;
                   КонецЕсли;
                   Таб.ПрисоединитьСекцию("Шапка|КорКО");
               КонецЦикла;
               Таб.ПрисоединитьСекцию("Шапка|КонОст");
           КонецЕсли;
           
            НачОстСуммаДт = Ит.СНД("С");
            НачОстСуммаКт = Ит.СНК("С");
           
            КонОстСуммаДт = Ит.СКД("С");
            КонОстСуммаКт = Ит.СКК("С");
           
            КонОстСумма = Ит.СКД("С");
            ДОСумма = Ит.ДО("С");
            КОСумма = Ит.КО("С");
           Таб.ВывестиСекцию("СтрокаКонтрагент|Наименование");
           Таб.ПрисоединитьСекцию("СтрокаКонтрагент|НачОст");
           Таб.ПрисоединитьСекцию("СтрокаКонтрагент|ДО");
           // корсчета по дебету
           Ит.ВыбратьКорСчета(1,1);
           Пока Ит.ПолучитьКорСчет() = 1 Цикл
               //КорДОКво = Ит.КорДО("К");
               КорДОСумма = Ит.КорДО("С");
               Если (флПоСубсчетам = 1) и (Ит.КорСчет.ЭтоГруппа() = 1)  Тогда
                   Продолжить;
               КонецЕсли;
               Таб.ПрисоединитьСекцию("СтрокаКонтрагент|КорДО");
           КонецЦикла;
           Таб.ПрисоединитьСекцию("СтрокаКонтрагент|КО");
           // корсчета по кредиту
           Ит.ВыбратьКорСчета(1,2);
           Пока Ит.ПолучитьКорСчет() = 1 Цикл
               //КорКОКво = Ит.КорКО("К");
               КорКОСумма = Ит.КорКО("С");
               Если (флПоСубсчетам = 1) и (Ит.КорСчет.ЭтоГруппа() = 1)  Тогда
                   Продолжить;
               КонецЕсли;
               Таб.ПрисоединитьСекцию("СтрокаКонтрагент|КорКО");
           КонецЦикла;
           Таб.ПрисоединитьСекцию("СтрокаКонтрагент|КонОст");
       КонецЦикла;
   КонецЦикла;
   
   Таб.Опции(0,0,4,4);
   Таб.ТолькоПросмотр(1);
   Таб.Показать();
КонецПроцедуры
8 Amra
 
26.03.13
11:29
Подсказываю: подумай над строчкой Ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты,,1);
9 chief accountant
 
26.03.13
11:30
(7) нет отбора по контрагенту
10 Chum
 
26.03.13
11:31
Ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты,,1);

попробуй так:

   Ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты, ?(ПустоеЗначение(ВыбКонтрагент) = 0, ВыбКонтрагент, "") ,1);
11 Godofsin
 
26.03.13
11:31
+(8) А еще лучше в сп заглянуть
12 1Сергей
 
26.03.13
11:34
(9) КЭП?
13 dianna
 
26.03.13
11:36
Большое спасибо все работает))
14 Chum
 
26.03.13
11:37
Код показала, а сиськи?
15 chief accountant
 
26.03.13
11:40
(12) а то
16 dianna
 
26.03.13
11:43
Ещё один вопросик)
Контрагент показывает все ок
но кода я нажимаю на закрытие контрагента показывает эту хрень и не закрывает
http://s60.radikal.ru/i168/1303/79/f5dbe115d058.png
17 dianna
 
26.03.13
11:44
ааа все)))
сделала)
18 povar
 
26.03.13
11:45
(16) см. (14)
19 dianna
 
26.03.13
11:48
(18) а вы без сисек не можете))
20 chief accountant
 
26.03.13
11:51
(19) это жизненное кредо
21 Mikeware
 
26.03.13
11:51
у хохлов какое-то массовое помешательство. или просто обострение...
22 Конфигуратор1с
 
26.03.13
11:59
(21) не то что у москалей - по жизни так )