|
v7: .Добавить столбец Количество ПУБ 7.7 | ☑ | ||
---|---|---|---|---|
0
Pechka
29.08.12
✎
13:33
|
при формировании отчета мне нужно,чтоб выходил еще один столбец "Количество" (кол-во документа)- реализация продажи,материалов..помогите пожалуйста.вот мой код программы:
//******************************************* //{{БУХГАЛТЕРСКИЙ ЗАПРОС(Сформировать) // ПоказатьКурс() Перем ПечКоличество; Перем Док; // Функция ПоказатьКурс() Перем Стр; Если Валюта.Выбран() = 1 Тогда Стр = Валюта.Курс.Получить(); Иначе Стр = ""; КонецЕсли; Возврат Стр; КонецФункции // ПоказатьКурс() Процедура Сформировать() Перем ПечКоличество; Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); Расшифровка = СоздатьОбъект("СписокЗначений"); Расшифровка.Установить("Отчет", "Сформировать"); Расшифровка.Установить("ДатаНач", ВыбНачПериода); Расшифровка.Установить("ДатаКон", ВыбКонПериода); Расшифровка.Установить("Валюта", Валюта); Сч= СоздатьОбъект("Счет"); Ит = СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты); Ит.ИспользоватьСубконто(ВидыСубконто.Договоры); Ит.ИспользоватьКорСубконто(Сч.ВидСубконто(1),, 1); Ит.ИспользоватьКорСубконто(Сч.ВидСубконто(2),, 1); Ит.ИспользоватьКорСубконто(Сч.ВидСубконто(3),, 1); Ит.ВключатьСубсчета(-1,-1); Ит.ВыполнитьЗапрос(ВыбНачПериода, ВыбКонПериода,"62,76.5",,,3,"Проводка", "С"); ИстВал = СоздатьОбъект("Периодический"); ИстВал.ИспользоватьОбъект("Курс",Валюта); // // ТаблицаДокумента = СоздатьОбъект("ТаблицаЗначений"); //// Докум.ВыгрузитьТабличнуюЧасть(ТаблицаДокумента); // ТаблицаДокумента.Свернуть("Цена", "Количество"); // КолвоТовара = Таб.Количество; Таб.ВывестиСекцию("Заголовок"); Таб.ВывестиСекцию("Шапка"); Таб.Опции(0,0,Таб.ВысотаТаблицы(),0); Ит.ВыбратьСубконто(1); Пока Ит.ПолучитьСубконто(1) = 1 Цикл Ит.ВыбратьСубконто(2); Пока Ит.ПолучитьСубконто(2) = 1 Цикл ДоговорСУчастием3Лиц = Ит.Субконто(2).КМ_ДоговорСУчастием3Лиц; Если (ДоговорСУчастием3Лиц <> ВыбДоговорСУчастием3Лиц) и (Ит.Субконто(2) <> ВыбДоговорСУчастием3Лиц) Тогда Продолжить; КонецЕсли; Ит.ВыбратьСчета(); Пока Ит.ПолучитьСчет() = 1 Цикл Ит.ВыбратьКорСчета(); Пока Ит.ПолучитьКорСчет() = 1 Цикл Субконто1 = ""; Субконто2 = ""; Субконто3 = ""; Если Ит.КорСчет.КоличествоСубконто()>0 Тогда Ит.ВыбратьКорСубконто(1); Пока Ит.ПолучитьКорСубконто(1) = 1 Цикл Если Ит.КорСчет.КоличествоСубконто()>1 Тогда Ит.ВыбратьКорСубконто(2); Пока Ит.ПолучитьКорСубконто(2) = 1 Цикл Если (Ит.Субконто(1) = Ит.КорСубконто(1)) и (Ит.Субконто(2) = Ит.КорСубконто(2)) Тогда Продолжить; КонецЕсли; Если Ит.КорСчет.КоличествоСубконто()>2 Тогда Ит.ВыбратьКорСубконто(3); Пока Ит.ПолучитьКорСубконто(3) = 1 Цикл Ит.ВыбратьПериоды(1); Пока Ит.ПолучитьПериод() = 1 Цикл Если Ит.ВыбранаПоДт() = 1 Тогда СчетДт = Ит.Счет; СчетКт = Ит.КорСчет; Иначе СчетДт = Ит.КорСчет; СчетКт = Ит.Счет; КонецЕсли; Если (Ит.КорДО("С")<>0) или (Ит.КорКО("С")<>0) Тогда Субконто1 = Ит.КорСубконто(1); Субконто2 = Ит.КорСубконто(2); Субконто3 = Ит.КорСубконто(3); Таб.ВывестиСекцию("Строка"); КонецЕсли; КонецЦикла; КонецЦикла; Иначе Ит.ВыбратьПериоды(1); Пока Ит.ПолучитьПериод() = 1 Цикл Если Ит.ВыбранаПоДт() = 1 Тогда СчетДт = Ит.Счет; СчетКт = Ит.КорСчет; Иначе СчетДт = Ит.КорСчет; СчетКт = Ит.Счет; КонецЕсли; Если (Ит.КорДО("С")<>0) или (Ит.КорКО("С")<>0) Тогда Субконто1 = Ит.КорСубконто(1); Субконто2 = Ит.КорСубконто(2); Субконто3 = Ит.КорСубконто(3); Таб.ВывестиСекцию("Строка"); КонецЕсли; КонецЦикла; КонецЕсли; КонецЦикла; Иначе Ит.ВыбратьПериоды(1); Пока Ит.ПолучитьПериод() = 1 Цикл Если Ит.ВыбранаПоДт() = 1 Тогда СчетДт = Ит.Счет; СчетКт = Ит.КорСчет; Иначе СчетДт = Ит.КорСчет; СчетКт = Ит.Счет; КонецЕсли; Если (Ит.КорДО("С")<>0) или (Ит.КорКО("С")<>0) Тогда Субконто1 = Ит.КорСубконто(1); Субконто2 = Ит.КорСубконто(2); Субконто3 = Ит.КорСубконто(3); Таб.ВывестиСекцию("Строка"); КонецЕсли; КонецЦикла КонецЕсли; КонецЦикла; Иначе Ит.ВыбратьПериоды(1); Пока Ит.ПолучитьПериод() = 1 Цикл Если Ит.ВыбранаПоДт() = 1 Тогда СчетДт = Ит.Счет; СчетКт = Ит.КорСчет; Иначе СчетДт = Ит.КорСчет; СчетКт = Ит.Счет; КонецЕсли; Если (Ит.КорДО("С")<>0) или (Ит.КорКО("С")<>0) Тогда Таб.ВывестиСекцию("Строка"); КонецЕсли; КонецЦикла; ИстВал.ВыбратьЗначения(ВыбНачПериода,ВыбКонПериода); Пока ИстВал.ПолучитьЗначение()=1 Цикл Таб.ВывестиСекцию("Строка"); КонецЦикла; КонецЕсли; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; Таб.ТолькоПросмотр(1); Таб.Показать("Сформировать",""); КонецПроцедуры //}}БУХГАЛТЕРСКИЙ ЗАПРОС Процедура ПриОткрытии() Если глФлагРасшифровки = 1 Тогда Обновить = глОбновить; ВыбНачПериода = глРасшифровка.Получить("ДатаНач"); ВыбКонПериода = глРасшифровка.Получить("ДатаКон"); Валюта = глРасшифровка.Получить("Валюта"); Если Обновить <> 0 Тогда Таб = глТаблица; КонецЕсли; Если Обновить <> 2 Тогда Сформировать(); СтатусВозврата(0); Возврат; КонецЕсли; Иначе Обновить = 0; //{{ИНИЦИАЛИЗАЦИЯ БУХГАЛТЕРСКОГО ЗАПРОСА(Сформировать) ВыбНачПериода = НачалоПериодаБИ(); ВыбКонПериода = КонецПериодаБИ(); //{{ИНИЦИАЛИЗАЦИЯ БУХГАЛТЕРСКОГО ЗАПРОСА Если Валюта.Выбран()=0 Тогда ВосстановитьЗначение("Сформировать",Валюта); КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
1
Ёпрст
29.08.12
✎
13:46
|
Э какое количество на 62 счете нужно ?
:) |
|||
2
Pechka
29.08.12
✎
13:48
|
Количество товара получается из документа
|
|||
3
Pechka
29.08.12
✎
13:51
|
62 счет и 76.5
|
|||
4
Zmich
29.08.12
✎
13:54
|
(2). 2 ложки и 3 вилки продали - что в итоге? 5 чего?
|
|||
5
Pechka
29.08.12
✎
14:03
|
один из столбцов выходит - первичный документ (<Ит.Операция.Документ>),напрмиер реализация,на форме указаны наименование,цена,количество и из этого документа мне нужно количество
|
|||
6
Ёпрст
29.08.12
✎
14:20
|
(5) Ит.Операция.Документ.Итог("Количество")..
но я тебе этого не предлагал, если че. |
|||
7
Pechka
29.08.12
✎
14:29
|
а что будет?)
|
|||
8
Pechka
29.08.12
✎
14:35
|
ошибку выводит- Реквизит не имеет итога по колонке!
|
|||
9
vladko
29.08.12
✎
14:39
|
в документе в конфигураторе поставь галку "итог" у реквизита табл.части "Количество"
|
|||
10
Ёпрст
29.08.12
✎
14:42
|
(8) не вопрос.. вот так тогда:
Ит.Операция.Документ.ВыбратьСтроки();//это воткни перед выводом секции Ит.Операция.Документ.Итог("Количество"); (9) не надо. |
|||
11
Pechka
29.08.12
✎
14:52
|
О! что- то стало появляться,там где сумма стоит-количество выходит соответственно,а где суммы нет,в количестве выходит на печ форме - Ит.Операция.Документ.Итог("Количество") и внизу пишет "неверное имя реквизита"
|
|||
12
Pechka
29.08.12
✎
15:01
|
как быть,чтоб в пустые ячейки не выводила надпись в Количество?
|
|||
13
Ёпрст
29.08.12
✎
15:39
|
(11) :)
|
|||
14
Pechka
29.08.12
✎
15:46
|
м?:)
|
|||
15
Maximysis
29.08.12
✎
15:55
|
(11) Мне это напомнило:
"Кран повернул напор пашол нанама! Акель бе акельбе...")))) |
|||
16
Pechka
29.08.12
✎
16:01
|
вооьщем есть столбец сумма еще,например, 2,159,525 напротив этой строки в столбце "Количество" вывело цифру - 68.77,а там , где в сумме пустота (<ФорматС(Ит.КорДО("С"))>),то в столбце "Количество" вводит строку : Ит.Операция.Документ.Итог("Количество")
примерно так: Сумма Количество 2159525 68.77 5258885 77.55 Ит.Операция.Документ.Итог("Количество") 2645457 55.87 |
|||
17
Pechka
31.08.12
✎
10:47
|
помогите пожалуйста!!!! :((
|
|||
18
monsterZE
01.09.12
✎
11:02
|
Мммм.. какое фото.. =) ник оправдывает
|
|||
19
ДенисЧ
01.09.12
✎
11:06
|
Убери из печформы выражение, а поставь туда ПечКоличество
В модуле при выводе строки пиши Попытка печколичество = Ит.Операция.Документ.Итог("Количество"); Исключение печКоличество ="Нет количества"; КонецПопытки; |
|||
20
Pechka
03.09.12
✎
07:58
|
спасиба)))
|
|||
21
Pechka
03.09.12
✎
16:31
|
Когда формирую отчет,иногда выходят по два товара с одного документа реализации,например:
документ товар реализация 0006542 (05.07.12) 219х6,0 реализация 0006542 (05.07.12) 159х6,0 у первого товара кол-во должно быть 31,300, у второго - 27,068. Но у меня выводит общую их сумму (58,368) : Сумма Количество 2159525 58,368 5258885 58,368 В модуле записала так: Ит.Операция.Документ.Итог("Количество"); Как сделать , чтоб выводил количество по частям все таки? а не общую сумму их |
|||
22
Pechka
03.09.12
✎
16:34
|
мой код :
//******************************************* //{{БУХГАЛТЕРСКИЙ ЗАПРОС(Сформировать) // //Перем ТекВалюта; // // // //// Функция ПоказатьКурс() Перем Стр; Если Валюта.Выбран() = 1 Тогда Стр = Валюта.Курс.Получить(); Иначе Стр = ""; КонецЕсли; Возврат Стр; КонецФункции // ПоказатьКурс() //************************************************************** Процедура Сформировать() Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); // Расшифровка = СоздатьОбъект("СписокЗначений"); //Расшифровка.Установить("Отчет", "Сформировать"); //Расшифровка.Установить("ДатаНач", ВыбНачПериода); //Расшифровка.Установить("ДатаКон", ВыбКонПериода); //Расшифровка.Установить("Валюта", Валюта); // Сч= СоздатьОбъект("Счет"); Ит = СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты); Ит.ИспользоватьСубконто(ВидыСубконто.Договоры); Ит.ИспользоватьКорСубконто(Сч.ВидСубконто(1),, 1); Ит.ИспользоватьКорСубконто(Сч.ВидСубконто(2),, 1); Ит.ИспользоватьКорСубконто(Сч.ВидСубконто(3),, 1); Ит.ВключатьСубсчета(-1,-1); Ит.ВыполнитьЗапрос(ВыбНачПериода, ВыбКонПериода,"62,76.5",,,3,"Проводка", "С"); ИстВал = СоздатьОбъект("Периодический"); ИстВал.ИспользоватьОбъект("Курс",Валюта); Таб.ВывестиСекцию("Заголовок"); Таб.ВывестиСекцию("Шапка"); Таб.Опции(0,0,Таб.ВысотаТаблицы(),0); Ит.ВыбратьСубконто(1); Пока Ит.ПолучитьСубконто(1) = 1 Цикл Ит.ВыбратьСубконто(2); Пока Ит.ПолучитьСубконто(2) = 1 Цикл ДоговорСУчастием3Лиц = Ит.Субконто(2).КМ_ДоговорСУчастием3Лиц; Если (ДоговорСУчастием3Лиц <> ВыбДоговорСУчастием3Лиц) и (Ит.Субконто(2) <> ВыбДоговорСУчастием3Лиц) Тогда Продолжить; КонецЕсли; Ит.ВыбратьСчета(); Пока Ит.ПолучитьСчет() = 1 Цикл Ит.ВыбратьКорСчета(); Пока Ит.ПолучитьКорСчет() = 1 Цикл Субконто1 = ""; Субконто2 = ""; Субконто3 = ""; Если Ит.КорСчет.КоличествоСубконто()>0 Тогда Ит.ВыбратьКорСубконто(1); Пока Ит.ПолучитьКорСубконто(1) = 1 Цикл Если Ит.КорСчет.КоличествоСубконто()>1 Тогда Ит.ВыбратьКорСубконто(2); Пока Ит.ПолучитьКорСубконто(2) = 1 Цикл Если (Ит.Субконто(1) = Ит.КорСубконто(1)) и (Ит.Субконто(2) = Ит.КорСубконто(2)) Тогда Продолжить; КонецЕсли; Если Ит.КорСчет.КоличествоСубконто()>2 Тогда Ит.ВыбратьКорСубконто(3); Пока Ит.ПолучитьКорСубконто(3) = 1 Цикл Ит.ВыбратьПериоды(1); Пока Ит.ПолучитьПериод() = 1 Цикл Если Ит.ВыбранаПоДт() = 1 Тогда СчетДт = Ит.Счет; СчетКт = Ит.КорСчет; Иначе СчетДт = Ит.КорСчет; СчетКт = Ит.Счет; КонецЕсли; //КМ_Начало Диляра Ит.Операция.Документ.ВыбратьСтроки(); Ит.Операция.Документ.Итог("Количество"); Если ПустоеЗначение (Ит.КорДО("С")) = 1 Тогда пер1 = ""; пер2 = ""; пер3 = ""; Иначе //Если Ит.Операция.Документ.Итог("Количество") > 0 Тогда Если Ит.Операция.Документ.КолвоТовара("Количество") > 0 Тогда пер1 = Ит.Операция.Документ.Итог("Количество"); пер2 = Ит.КорДО("С")/Ит.Операция.Документ.Итог("Количество"); пер3 = Ит.КорДО("С")/Ит.Операция.Документ.Итог("Количество")/ИстВал.ЗначениеНаДату(Ит.Операция.Документ.ДатаДок); Иначе пер1 = ""; пер2 = ""; пер3 = ""; КонецЕсли; Таб.ВывестиСекцию("Строка"); //КМ_Конец Диляра КонецЕсли; Если (Ит.КорДО("С")<>0) или (Ит.КорКО("С")<>0) Тогда Субконто1 = Ит.КорСубконто(1); Субконто2 = Ит.КорСубконто(2); Субконто3 = Ит.КорСубконто(3); КонецЕсли; КонецЦикла; КонецЦикла; Иначе Ит.ВыбратьПериоды(1); Пока Ит.ПолучитьПериод() = 1 Цикл Если Ит.ВыбранаПоДт() = 1 Тогда СчетДт = Ит.Счет; СчетКт = Ит.КорСчет; Иначе СчетДт = Ит.КорСчет; СчетКт = Ит.Счет; КонецЕсли; Если (Ит.КорДО("С")<>0) или (Ит.КорКО("С")<>0) Тогда Субконто1 = Ит.КорСубконто(1); Субконто2 = Ит.КорСубконто(2); Субконто3 = Ит.КорСубконто(3); Таб.ВывестиСекцию("Строка"); КонецЕсли; КонецЦикла; КонецЕсли; КонецЦикла; Иначе Ит.ВыбратьПериоды(1); Пока Ит.ПолучитьПериод() = 1 Цикл Если Ит.ВыбранаПоДт() = 1 Тогда СчетДт = Ит.Счет; СчетКт = Ит.КорСчет; Иначе СчетДт = Ит.КорСчет; СчетКт = Ит.Счет; КонецЕсли; Если (Ит.КорДО("С")<>0) или (Ит.КорКО("С")<>0) Тогда Субконто1 = Ит.КорСубконто(1); Субконто2 = Ит.КорСубконто(2); Субконто3 = Ит.КорСубконто(3); Таб.ВывестиСекцию("Строка"); КонецЕсли; КонецЦикла КонецЕсли; КонецЦикла; Иначе Ит.ВыбратьПериоды(1); Пока Ит.ПолучитьПериод() = 1 Цикл Если Ит.ВыбранаПоДт() = 1 Тогда СчетДт = Ит.Счет; СчетКт = Ит.КорСчет; Иначе СчетДт = Ит.КорСчет; СчетКт = Ит.Счет; КонецЕсли; Если (Ит.КорДО("С")<>0) или (Ит.КорКО("С")<>0) Тогда Таб.ВывестиСекцию("Строка"); КонецЕсли; КонецЦикла; ИстВал.ВыбратьЗначения(ВыбНачПериода,ВыбКонПериода); Пока ИстВал.ПолучитьЗначение()=1 Цикл Таб.ВывестиСекцию("Строка"); КонецЦикла; КонецЕсли; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; Таб.ТолькоПросмотр(1); Таб.Показать("Сформировать",""); КонецПроцедуры //}}БУХГАЛТЕРСКИЙ ЗАПРОС Процедура ПриОткрытии() // Если глФлагРасшифровки = 1 Тогда // Обновить = глОбновить; // ВыбНачПериода = глРасшифровка.Получить("ДатаНач"); // ВыбКонПериода = глРасшифровка.Получить("ДатаКон"); // Валюта = глРасшифровка.Получить("Валюта"); // // Если Обновить <> 0 Тогда // Таб = глТаблица; // КонецЕсли; // // Если Обновить <> 2 Тогда // Сформировать(); // СтатусВозврата(0); // Возврат; // КонецЕсли; // Иначе // Обновить = 0; //{{ИНИЦИАЛИЗАЦИЯ БУХГАЛТЕРСКОГО ЗАПРОСА(Сформировать) ВыбНачПериода = НачалоПериодаБИ(); ВыбКонПериода = КонецПериодаБИ(); //{{ИНИЦИАЛИЗАЦИЯ БУХГАЛТЕРСКОГО ЗАПРОСА //Если Валюта.Выбран()=0 Тогда // ВосстановитьЗначение("Сформировать",Валюта); // КонецЕсли; // КонецЕсли; КонецПроцедуры |
|||
23
Злопчинский
03.09.12
✎
16:49
|
смысл этого отчета по большому счету ускользает от меня напрочь...
|
|||
24
BlackSeaCat
03.09.12
✎
23:47
|
(23) Нужна экскурсия по сеновалу (с фото), тогда смысл перестанет ускользать. И не только он...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |