|
v7: Нужна ваша помощь, помогите | ☑ | ||
---|---|---|---|---|
0
Karina0687
14.11.12
✎
15:11
|
У меня есть некий отчет
http://s019.radikal.ru/i626/1211/3c/b537575ee57e.png мне нужно в него добавить В кнопку "Действия" сортировку по контрагентам. По периоду есть, а по контрагентам нету( Помогите пожалуйста, программист наш запил, а начальник весь день на меня кричит. Как можно реализовать, чтобы там появилась сортировка по контрагентам Перем дата1,дата2,тб1,флПер; Процедура Группировать(лФл) далее //======================================== Процедура ЗаполнитьТб(лПар); тб.УдалитьСтроки(); Если фПодразд.Выбран()=0 тогда возврат; Конецесли; би=СоздатьОбъект("БухгалтерскиеИтоги"); би.ИспользоватьРазделительУчета(константа.БазФирма); би.ИспользоватьСубконто(видыСубконто.Подразделения,фПодразд,2); би.ИспользоватьСубконто(видыСубконто.ТМЦ,,1); би.ИспользоватьСубконто(видыСубконто.договора,,1); Если лПар=1 тогда дата1="";дата2=""; Конецесли; тб1.УдалитьСтроки(); би.ВыполнитьЗапрос(ТекущаяДата(),текущаяДата(),"МЦУ"); би.ВыбратьСубконто(2); Пока би.ПолучитьСубконто(2)=1 цикл би.ВыбратьСубконто(3); Пока би.ПолучитьСубконто(3)=1 цикл тб1.НоваяСтрока(); тб1.Период=би.Субконто(3); тб1.ТМЦ=би.Субконто(2); тб1.кво=би.СКД(3); тб1.сумма=би.СКД(1); Если лПар=1 тогда Попытка Если ПустоеЗначение(дата1)=0 тогда Если дата1>тб1.Период.ДатаДок тогда дата1=тб1.Период.ДатаДок; Конецесли; иначе дата1=тб1.Период.ДатаДок; Конецесли; Если ПустоеЗначение(дата2)=0 тогда Если дата2<тб1.Период.ДатаДок тогда дата2=тб1.Период.ДатаДок; Конецесли; иначе дата2=тб1.Период.ДатаДок; Конецесли; исключение конецПопытки; Конецесли; КонецЦикла; КонецЦикла; Если лПар=1 тогда пПериод=ПериодСтр(дата1,дата2); Конецесли; тб1.ВыбратьСтроки(); Пока тб1.ПолучитьСтроку()=1 цикл Если (ПустоеЗначение(дата1)=0)и(ПустоеЗначение(дата2)=0) тогда Если (тб1.Период.ДатаДок>Дата2)или(тб1.Период.ДатаДок<Дата1) тогда продолжить; Конецесли; Конецесли; тб.НоваяСтрока(); тб.Тмц=тб1.Тмц; тб.Период=тб1.период.ДатаДок; тб.кво=тб1.Кво; КонецЦикла; Группировать(ФлПер) КонецПроцедуры //******************************************* // Процедура Сформировать() КонецПроцедуры //======================================== Процедура ПриОткрытии() Тб.НоваяКолонка("ТМЦ",,,,,20); Тб.НоваяКолонка("Период",,,,,10); Тб.НоваяКолонка("Кво","число",,,"Кол-во",12); тб1=СоздатьОбъект("ТаблицаЗначений"); тб.Выгрузить(тб1); тб1.НоваяКолонка("Сумма","число"); фПодразд=ВосстановитьЗначение("МЦ_ПОДРАЗДЕЛЕНИЕ"); флПер=ВосстановитьЗначение("МЦ_ФЛАГ_ПЕРИОДА"); Если ПустоеЗначение(фПодразд)=0 тогда ЗаполнитьТб(1); Конецесли; КонецПроцедуры //======================================== Процедура ВыборПодразд() ЗаполнитьТб(1); КонецПроцедуры //======================================== Процедура ПриЗакрытии() Сохранитьзначение("МЦ_ПОДРАЗДЕЛЕНИЕ",фПодразд); Сохранитьзначение("МЦ_ФЛАГ_ПЕРИОДА",флПер) КонецПроцедуры //======================================== Процедура Группировать(лФл) лтб=СоздатьОбъект("ТаблицаЗначений"); тб1.Выгрузить(лтб); кстр=лтб.КоличествоСтрок(); Пока кСтр>0 цикл лДата=лтб.ПолучитьЗначение(кстр,2).ДатаДок; Если (ПустоеЗначение(дата1)=0)и(ПустоеЗначение(дата2)=0) тогда Если (лДата>Дата2)или(лДата<Дата1) тогда лтб.УдалитьСтроку(кстр); Конецесли; Конецесли; кстр=кстр-1; КонецЦикла; лтб.НоваяКолонка("лпер","строка"); лтб.НоваяКолонка("лпер1","строка"); лтб.выбратьСтроки(); Пока лтб.ПолучитьСтроку()=1 цикл лдата=лтб.период.ДатаДок; Если лФл=1 тогда лтб.лПер=Формат(лдата,"ДММММГГГГ"); лтб.лПер1=строка(ДатаГод(лдата))+формат(ДатаМесяц(лдата),"Ч02"); иначеЕсли лФл=2 тогда лтб.лПер=Формат(лдата,"ДККККГГГГ"); иначеЕсли лФл=3 тогда лтб.лПер=Строка(ДатаГод(лдата))+" г."; иначе лтб.лПер=формат(лдата,"ДДДММГГГГ"); лПер1=лдата; Конецесли; КонецЦикла; лтб.Свернуть("ТМЦ,Лпер1,Лпер","кво, сумма"); лтб.Сортировать("лпер1,ТМЦ"); тб.УдалитьСтроки(); лтб.ВыбратьСтроки(); Пока лтб.ПолучитьСтроку()=1 цикл тб.НоваяСтрока(); тб.тмц=лтб.ТМЦ; тб.кво=лтб.кво; тб.период=лтб.лпер; КонецЦикла; КонецПроцедуры //======================================== Процедура ВыборТБ() тк=тб.ТекущаяКолонка(); тс=тб.ТекущаяСтрока(); Если тк="Период" тогда спс=СоздатьОбъект("СписокЗначений"); спс.ДобавитьЗначение(1,"По Месячно"); спс.ДобавитьЗначение(2,"По Квартально"); спс.ДобавитьЗначение(3,"По Годично"); спс.ДобавитьЗначение(4,"По пятилеткам"); спс.ДобавитьЗначение(4,"По Столетиям"); спс.ДобавитьЗначение(4,"По Тысячелетиям"); спс.ДобавитьЗначение(4,"По дням"); флПер=0; зн=0; Если спс.ВыбратьЗначение(зн,,,,1)=1 тогда Группировать(зн); флПер=зн; Конецесли; Конецесли; КонецПроцедуры //======================================== Процедура ПриНачалеВыбораЗначения(ид,фл) КонецПроцедуры //======================================== Процедура кнПечать() таб=СоздатьОбъект("Таблица"); таб.ИсходнаяТаблица("Таблица"); таб.ВывестиСекцию("Шапка"); таб.Опции(0,0,таб.ВысотаТаблицы(),0); тб.выбратьСтроки(); нпп=1; Пока тб.ПолучитьСтроку()=1 цикл таб.ВывестиСекцию("стр"); нпп=нпп+1; КонецЦикла; таб.ТолькоПросмотр(1); таб.ПараметрыСтраницы(1,100,0,0,0,0,0,0,0,1); таб.Показать("Малоценка",,1); КонецПроцедуры //======================================== Процедура КнДействия() спс=СоздатьОбъект("СписокЗначений"); спс.ДобавитьЗначение(1,"Отобрать период"); спс.ДобавитьЗначение(2,"Вывести все"); спс.ДобавитьЗначение(3,"Печать"); зн=0; Если спс.ВыбратьЗначение(зн,,,,1)=0 тогда Возврат; Конецесли; Если зн=1 тогда фл=0; ВвестиПериод(дата1,дата2,"Выбор периода"); Группировать(флПер); иначеесли зн=2 тогда ВыборПодразд(); иначеесли зн=3 тогда кнПечать(); Конецесли; пПериод=ПериодСтр(дата1,дата2); КонецПроцедуры |
|||
1
zak555
14.11.12
✎
15:13
|
фотка в личке ненастоящая
|
|||
2
dedmoroz777
14.11.12
✎
15:15
|
Процедура КнДействия()
спс=СоздатьОбъект("СписокЗначений"); спс.ДобавитьЗначение(1,"Отобрать период"); спс.ДобавитьЗначение(2,"Вывести все"); спс.ДобавитьЗначение(3,"Печать"); спс.ДобавитьЗначение(4,"Сортировка по контрагентам"); зн=0; Если спс.ВыбратьЗначение(зн,,,,1)=0 тогда Возврат; Конецесли; Если зн=1 тогда фл=0; ВвестиПериод(дата1,дата2,"Выбор периода"); Группировать(флПер); иначеесли зн=2 тогда ВыборПодразд(); иначеесли зн=3 тогда кнПечать(); Иначеесли зн=4 тогда тб.Сортировать("А тут сортируй как хочешь"); Конецесли; пПериод=ПериодСтр(дата1,дата2); КонецПроцедуры |
|||
3
Skylark
14.11.12
✎
15:16
|
(0) Отличная жалостливая история! Ты в тренде.
|
|||
4
dedmoroz777
14.11.12
✎
15:17
|
только контрагентов у тебя нет в таблице
|
|||
5
ПиН
14.11.12
✎
15:18
|
фотка неправильная, не будем помогать...
|
|||
6
SeregaMW
14.11.12
✎
15:18
|
не не будем....
|
|||
7
АЛьФ
14.11.12
✎
15:19
|
2(2) За такое бан положен.
|
|||
8
Karina0687
14.11.12
✎
15:23
|
а не подскажите как сделать, что бы мне в таблице контрагенты показывались,
я столбик с контрагентом создала, но там пусто, как правильно прописать |
|||
9
АЛьФ
14.11.12
✎
15:24
|
2(8) Надо сменить фотку в личке.
|
|||
11
Grobik
14.11.12
✎
15:29
|
||||
12
Эльниньо
14.11.12
✎
22:21
|
Ай-яй-яй
|
|||
13
orange777
14.11.12
✎
23:03
|
(8)а как они связаны с тем, что выводится в отчете?
|
|||
14
Азат
14.11.12
✎
23:05
|
(0) присылай отчет на почту в личке, сделаю просто так.
|
|||
15
КошерныйТролль
14.11.12
✎
23:14
|
(14) кто выглядит голодным - никогда не наестся
|
|||
16
Азат
14.11.12
✎
23:15
|
(15) у кого не хватило ума на нормальный ник, не хватит и на все остальное...
|
|||
17
КошерныйТролль
14.11.12
✎
23:26
|
(16) у кого не хватает ума завести десяток ников - у того высоки шансы выглядеть голодным
|
|||
18
Lionee
14.11.12
✎
23:37
|
(0)нее нее фотка не будем
|
|||
19
Lionee
14.11.12
✎
23:37
|
как говорили в фильмеце искузмиии
|
|||
20
Lionee
14.11.12
✎
23:39
|
(9) ы бан на 3 дня , за фальсификацию
|
|||
21
Amra
14.11.12
✎
23:40
|
(20) Давай, до свиданья
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |