|
1С предприятие Итоги в подвале Общий Журнал Форма Списка | ☑ | ||
---|---|---|---|---|
0
Farid0516
03.12.21
✎
18:36
|
||||
1
ДенисЧ
03.12.21
✎
18:39
|
Продаешь или просто показываешь?
|
|||
2
Farid0516
03.12.21
✎
18:41
|
Я сделал поиск в Google по этой теме. Однако я не мог. Помогите, пожалуйста. Как добавить?
|
|||
3
Farid0516
03.12.21
✎
19:02
|
Итог = ДанныеСтроки.СуммаОплата;
Элемент.Колонки.СуммаОплата.ТекстПодвала = Формат(Итог, "ЧЦ=15; ЧДЦ=2"); |
|||
4
Смотрящий
03.12.21
✎
19:08
|
(1) представь что тс юродивый
|
|||
5
Ёпрст
03.12.21
✎
19:51
|
(0) или через пробег по всей коллекции табличного поля и условие на ПроверитьСтроку,
или скормить построителюОтчета твой список как источник данных и там посчитать, потом вывести. |
|||
6
серый КТУЛХУ
03.12.21
✎
22:39
|
||||
7
Farid0516
04.12.21
✎
13:13
|
(6) Вот Реквизиты. Но у меня нет Реквизиты в Форма Списка
|
|||
8
Farid0516
05.12.21
✎
08:55
|
(6) Это другой Конфигурация. У меня 1с торговля и склад
|
|||
9
Farid0516
05.12.21
✎
08:58
|
||||
10
Farid0516
05.12.21
✎
08:59
|
Процедура РеестрДокуметов()
ТабДок=новый ТабличныйДокумент ; Макет =ЖурналыДокументов.ОбщийЖурнал.ПолучитьМакет("РеестрДокументов"); обЗаголовок=Макет.ПолучитьОбласть("Заголовок|Графа"); обЗаголовок.Параметры.заголовок="Sənədlər toplusu"; ВидСравненияДата=ЖурналДокументовСписок.Отбор.Дата.ВидСравнения; обЗаголовок.Параметры.ДатаНачало=?(ЗначениеЗаполнено(ЖурналДокументовСписок.Отбор.Дата.ЗначениеС),ЖурналДокументовСписок.Отбор.Дата.ЗначениеС,""); обЗаголовок.Параметры.ДатаКонца=?(ЗначениеЗаполнено(ЖурналДокументовСписок.Отбор.Дата.ЗначениеПо),ЖурналДокументовСписок.Отбор.Дата.ЗначениеПо,""); Если ВидСравненияДата=ВидСравнения.БольшеИлиРавно тогда обЗаголовок.Параметры.ДатаНачало= ЖурналДокументовСписок.Отбор.Дата.Значение ; Конецесли; Если ВидСравненияДата=ВидСравнения.МеньшеИлиРавно тогда обЗаголовок.Параметры.ДатаКонца=ЖурналДокументовСписок.Отбор.Дата.Значение ; Конецесли; обЗаголовок. Область(1,1,1,1).ШиринаКолонки=ЭлементыФормы.ЖурналДокументовСписок.Колонки["ВидДокумента"].Ширина; ТабДок.Вывести(обЗаголовок); ОбШапка=макет.ПолучитьОбласть("Шапка|Графа"); СписокРеквизиты=Новый СписокЗначений; ТекКолонка=0; для каждого Колонка из ЭлементыФормы.ЖурналДокументовСписок.Колонки цикл если Колонка.Имя="Картинка" тогда Продолжить; Конецесли; ТекКолонка=ТекКолонка+1; ОбШапка.Параметры.наимГрафа=Колонка.ТекстШапки; ОбШапка.Область(1,1,1,1).ШиринаКолонки=Колонка.Ширина; если ТекКолонка=1 тогда ТабДок.Вывести(ОбШапка); Иначе ТабДок.Присоединить(ОбШапка); Конецесли; КонецЦикла; // // Запрос=новый запрос; запрос_Текст="ВЫБРАТЬ * |ИЗ | ЖурналДокументов.ОбщийЖурнал КАК ОбщийЖурнал" ; ОтборЖурнал=ЖурналДокументовСписок.Отбор; ТекстУсловие =""; н=0; для каждого ВыбОтбор из ОтборЖурнал цикл если не ВыбОтбор.Использование тогда продолжить; Конецесли; н=н+1; если ВыбОтбор.ВидСравнения=ВидСравнения.Больше тогда условие=ВыбОтбор.Имя+">&"+ВыбОтбор.Имя; запрос.УстановитьПараметр(ВыбОтбор.Имя,ВыбОтбор.Значение); Иначеесли ВыбОтбор.ВидСравнения=ВидСравнения.БольшеИлиРавно тогда условие=ВыбОтбор.Имя+">=&"+ВыбОтбор.Имя; запрос.УстановитьПараметр(ВыбОтбор.Имя,ВыбОтбор.Значение); Иначеесли ВыбОтбор.ВидСравнения=ВидСравнения.Равно тогда если ВыбОтбор.Имя="ВидДокумента" тогда условие="Выразить(Ссылка как Документ."+ВыбОтбор.Значение.Имя+")<>НЕОПРЕДЕЛЕНО"; Иначе условие=ВыбОтбор.Имя+"=&"+ВыбОтбор.Имя; запрос.УстановитьПараметр(ВыбОтбор.Имя,ВыбОтбор.Значение); КонецЕсли; Иначеесли ВыбОтбор.ВидСравнения=ВидСравнения.НеРавно тогда условие="НЕ "+ВыбОтбор.Имя+"=&"+ВыбОтбор.Имя; запрос.УстановитьПараметр(ВыбОтбор.Имя,ВыбОтбор.Значение); Иначеесли ВыбОтбор.ВидСравнения=ВидСравнения.Меньше тогда условие=ВыбОтбор.Имя+"<&"+ВыбОтбор.Имя; запрос.УстановитьПараметр(ВыбОтбор.Имя,ВыбОтбор.Значение); Иначеесли ВыбОтбор.ВидСравнения=ВидСравнения.МеньшеИлиРавно тогда условие=ВыбОтбор.Имя+"<=&"+ВыбОтбор.Имя; запрос.УстановитьПараметр(ВыбОтбор.Имя,ВыбОтбор.Значение); Иначеесли ВыбОтбор.ВидСравнения=ВидСравнения.ВИерархии тогда условие=ВыбОтбор.Имя+" В Иерархии (&"+ВыбОтбор.Имя+")"; запрос.УстановитьПараметр(ВыбОтбор.Имя,ВыбОтбор.Значение); Иначеесли ВыбОтбор.ВидСравнения=ВидСравнения.НеВИерархии тогда условие="НЕ "+ВыбОтбор.Имя+" В Иерархии (&"+ВыбОтбор.Имя+")"; запрос.УстановитьПараметр(ВыбОтбор.Имя,ВыбОтбор.Значение); Иначеесли ВыбОтбор.ВидСравнения=ВидСравнения.ВСписке тогда условие=ВыбОтбор.Имя+" В (&"+ВыбОтбор.Имя+")"; запрос.УстановитьПараметр(ВыбОтбор.Имя,ВыбОтбор.Значение); Иначеесли ВыбОтбор.ВидСравнения=ВидСравнения.НеВСписке тогда условие="НЕ "+ВыбОтбор.Имя+" В (&"+ВыбОтбор.Имя+")"; запрос.УстановитьПараметр(ВыбОтбор.Имя,ВыбОтбор.Значение); Иначеесли ВыбОтбор.ВидСравнения=ВидСравнения.ВСпискеПоИерархии тогда условие=ВыбОтбор.Имя+" В Иерархии (&"+ВыбОтбор.Имя+")"; запрос.УстановитьПараметр(ВыбОтбор.Имя,ВыбОтбор.Значение); Иначеесли ВыбОтбор.ВидСравнения=ВидСравнения.НеВСпискеПоИерархии тогда условие="НЕ "+ВыбОтбор.Имя+" В Иерархии (&"+ВыбОтбор.Имя+")"; запрос.УстановитьПараметр(ВыбОтбор.Имя,ВыбОтбор.Значение); Иначеесли ВыбОтбор.ВидСравнения=ВидСравнения.Интервал тогда условие="("+ВыбОтбор.Имя+">&"+ВыбОтбор.Имя+"С и "+ВыбОтбор.Имя+"<&"+ВыбОтбор.Имя+"По)"; запрос.УстановитьПараметр(ВыбОтбор.Имя+"С",ВыбОтбор.ЗначениеС); запрос.УстановитьПараметр(ВыбОтбор.Имя+"По",ВыбОтбор.ЗначениеПо); Иначеесли ВыбОтбор.ВидСравнения=ВидСравнения.ИнтервалВключаяГраницы тогда условие="("+ВыбОтбор.Имя+">=&"+ВыбОтбор.Имя+"С и "+ВыбОтбор.Имя+"<=&"+ВыбОтбор.Имя+"По)"; запрос.УстановитьПараметр(ВыбОтбор.Имя+"С",ВыбОтбор.ЗначениеС); запрос.УстановитьПараметр(ВыбОтбор.Имя+"По",ВыбОтбор.ЗначениеПо); Иначеесли ВыбОтбор.ВидСравнения=ВидСравнения.ИнтервалВключаяНачало тогда условие="("+ВыбОтбор.Имя+">=&"+ВыбОтбор.Имя+"С и "+ВыбОтбор.Имя+"<&"+ВыбОтбор.Имя+"По)"; запрос.УстановитьПараметр(ВыбОтбор.Имя+"С",ВыбОтбор.ЗначениеС); запрос.УстановитьПараметр(ВыбОтбор.Имя+"По",ВыбОтбор.ЗначениеПо); Иначеесли ВыбОтбор.ВидСравнения=ВидСравнения.ИнтервалВключаяОкончание тогда условие="("+ВыбОтбор.Имя+">&"+ВыбОтбор.Имя+"С и "+ВыбОтбор.Имя+"<=&"+ВыбОтбор.Имя+"По)"; запрос.УстановитьПараметр(ВыбОтбор.Имя+"С",ВыбОтбор.ЗначениеС); запрос.УстановитьПараметр(ВыбОтбор.Имя+"По",ВыбОтбор.ЗначениеПо); Иначеесли ВыбОтбор.ВидСравнения=ВидСравнения.Содержит тогда условие=ВыбОтбор.Имя+" ПОДОБНО &"+ВыбОтбор.Имя; запрос.УстановитьПараметр(ВыбОтбор.Имя,ВыбОтбор.Значение); Иначеесли ВыбОтбор.ВидСравнения=ВидСравнения.Содержит тогда условие="НЕ "+ВыбОтбор.Имя+" ПОДОБНО &"+ВыбОтбор.Имя; запрос.УстановитьПараметр(ВыбОтбор.Имя,ВыбОтбор.Значение); Конецесли ; ТекстУсловие=ТекстУсловие+Символы.ПС +?(н>1," И ","")+условие; Конеццикла; если ТекстУсловие<>"" тогда запрос_Текст=запрос_Текст+" |ГДЕ |"+ТекстУсловие; Конецесли; запрос.Текст= запрос_Текст; Выборка=запрос.Выполнить().Выбрать(); ТЗИтог=Новый ТаблицаЗначений; ТЗИтог.Колонки.Добавить("Синоним",Новый ОписаниеТипов("Строка")); ТЗИтог.Колонки.Добавить("СуммаДокумента",Новый ОписаниеТипов("Число")); ТЗИтог.Колонки.Добавить("РознСумма",Новый ОписаниеТипов("Число")); обДетал=Макет.ПолучитьОбласть("Детал|Графа"); пока Выборка.Следующий() цикл ТекКолонка=0; ДокОб=выборка.ссылка.ПолучитьоБъект(); Синоним=ДокОб.Метаданные().Синоним; РознСумма=0; СуммаДокумента=0; для каждого Колонка из ЭлементыФормы.ЖурналДокументовСписок.Колонки цикл если Колонка.Имя="Картинка" тогда Продолжить; Конецесли; если Колонка.Имя="ВидДокумента" тогда зн=Синоним; ИначеЕсли Колонка.Имя="ВОЕН" тогда Попытка зн=Выборка.Контрагент.ВОЕН; Исключение зн = ""; КонецПопытки; Иначеесли Колонка.Имя="РознСумма" тогда зн=""; если РаботаСТЧДокумента.ЕстьРеквизитТЧ(ДокОб,"РознСумма","Товары")<>неопределено тогда РознСумма= ДокОб.товары.Итог("РознСумма"); зн=формат(рознСумма,"ЧДЦ=2"); Конецесли; Иначе зн =Выборка[Колонка.Имя]; Конецесли; обДетал.Область(1,1,1,1).ГоризонтальноеПоложение=колонка.ГоризонтальноеПоложениеВКолонке; обДетал.Область(1,1,1,1).Формат=Колонка.Формат; если Колонка.Имя="СуммаДокумента" и значениеЗаполнено(зн) тогда СуммаДокумента=зн; Конецесли; обДетал.Параметры.Значение=зн; ТекКолонка=ТекКолонка+1; если ТекКолонка=1 тогда ТабДок.Вывести(обДетал); Иначе ТабДок.Присоединить(обДетал); Конецесли; КонецЦикла; стр=ТЗИтог.Найти(Синоним,"Синоним"); если Стр=неопределено тогда стр= ТЗИтог.Добавить(); стр.синоним= Синоним; Конецесли; стр.СуммаДокумента=Стр.СуммаДокумента+СуммаДокумента; стр.РознСумма=Стр.РознСумма+РознСумма; Конеццикла; ОбИтог= Макет.ПолучитьОбласть("Итого"); ТабДок.Вывести(Макет.ПолучитьОбласть("Подвал")); для каждого СтрИтог из ТЗИтог Цикл ОбИтог.Параметры.Заполнить(СтрИтог); ТабДок.Вывести(ОбИтог); Конеццикла; ТабДок.Показать("Sənədlər toplusu"); КонецПроцедуры Процедура ДействияФормыкнРеестрДокументов(Кнопка) РеестрДокуметов(); КонецПроцедуры Процедура ЖурналДокументовСписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) Об=ДанныеСтроки.Ссылка.ПолучитьОбъект(); Попытка ОформлениеСтроки.Ячейки.ВОЕН.Значение=ДанныеСтроки.Контрагент.ВОЕН;; Исключение КонецПопытки; СуммаДокумента=0; КонецПроцедуры |
|||
11
rphosts
05.12.21
✎
09:28
|
(0) Старые формы... на клюшках про подобных задачах правильнее сделать свой журнал документов, тут наверное так-же
|
|||
12
abfm
05.12.21
✎
09:46
|
ТЗИтог=Новый ТаблицаЗначений;
ТЗИтог.Колонки.Добавить("Синоним",Новый ОписаниеТипов("Строка")); ТЗИтог.Колонки.Добавить("СуммаДокумента",Новый ОписаниеТипов("Число")); ТЗИтог.Колонки.Добавить("РознСумма",Новый ОписаниеТипов("Число")); В 7.7 такого нет там НоваяКолонка(<?>,,,,,,,); Синтаксис: ТЗИтог.НоваяКолонка(<Идентификатор>,<Тип>,<Длина>,<Точность>,<Заголовок>,<Ширина>,<Формат>,<Положение>) Назначение: Добавить в конец таблицы значений новую колонку. Возвращает номер новой колонки. стр=ТЗИтог.Найти(Синоним,"Синоним"); тоже нет НайтиЗначение(<?>,,); Синтаксис: НайтиЗначение(<Знач>,<Строка>,<Колонка>) Назначение: Найти заданное значение в таблице значений. Возвращает число: 0 - значение не найдено; 1 - значение найдено в таблице нет строк вы их не добавили. это не тис. и определитесь вы в 8 или в 7.7. |
|||
13
abfm
05.12.21
✎
09:51
|
пардон прочитал (11) и меня на 7.7 унесло. виноват исправлюсь.
|
|||
14
Ёпрст
05.12.21
✎
10:50
|
На вот, занимайся
Книга знаний: Как получить строки, отобранные отбором |
|||
15
Farid0516
05.12.21
✎
11:24
|
1с предприятие 8.3
|
|||
16
Farid0516
05.12.21
✎
12:42
|
Пожалуйста помоги.
|
|||
17
Farid0516
05.12.21
✎
12:43
|
(12) Это тот модуль, который у меня есть. Каким должен быть новый модуль? Что мне написать? Можете ли вы написать код в качестве примера?
|
|||
18
hhhh
05.12.21
✎
12:57
|
(17) нафиг никому не нужна такая сумма, дебильное задание. Эта сумма же ничего не даст, толку с нее нет, и незачем тебе ее выводить. Такие вещи делаются в отчетах, нужно тебе посмотреть, запускаешь отчет, смотришь. А так как у тебя задумано, в журнале, это будет каждую секунду вычисляться эта сумма, компьютер будет тормозить.
|
|||
19
Farid0516
05.12.21
✎
14:53
|
Мне нужно написать дополнительный код, чтобы я мог видеть недавно добавленные посещения в отчетах. И много чего. Потому что это очень сложная вещь. Мне просто это нужно. Мне никогда не нужен дополнительный отчет. (18)
|
|||
20
hhhh
05.12.21
✎
15:05
|
(19) почему никогда не нужен?
|
|||
21
Farid0516
05.12.21
✎
15:29
|
(20) Потому что мне этого достаточно. Только когда отбор, пусть покажет результаты документов, которые
|
|||
22
Hans
05.12.21
✎
16:19
|
Это сложная задача для неуправляемых форм, оставь это до лучших времен.
|
|||
23
Farid0516
05.12.21
✎
17:13
|
(22) Я люблю сложная задача ). Потому что я быстро учусь. Я новичок в этом деле. Буду рад, если поможет. Я заказал 5 книг, чтобы лучше усвоить предметы. Но сейчас для меня это самый важный вопрос. Пожалуйста помоги.
|
|||
24
Farid0516
05.12.21
✎
17:24
|
Построитель = Новый ПостроительЗапроса;
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ДокументСписок); Результат = Построитель.Результат; ТаблицаДокументов = Результат.Выгрузить(); ЭлементыФормы.ДокументСписок.Колонки.СуммаДокумента.ТекстПодвала = ТаблицаДокументов.Итог("СуммаДокумента"); |
|||
25
Farid0516
05.12.21
✎
17:25
|
Рабочий код! Спасибо всем....
|
|||
26
Hans
05.12.21
✎
17:49
|
(24) Даже не знал что так можно. Думал что нужно учитывать отборы в списке, и накладывать отборы на запрос.
|
|||
27
acanta
05.12.21
✎
17:53
|
А нет такого в БСП, в общем модуле каком-то, чтобы произвольный журнал и список колонок, по которым требуется итого?
|
|||
28
Farid0516
05.12.21
✎
18:22
|
ЭлементыФормы.ЖурналДокументовСписок.Колонки.ÖdənişTarixi.ТекстПодвала = "="+ТаблицаДокументов.Итог("СуммаОплатаБС")+ТаблицаДокументов.Итог("СуммаОплата");
|
|||
29
Farid0516
05.12.21
✎
18:23
|
Разучился писать сумму в 2 Колонки. Помогите, пожалуйста
|
|||
30
Hans
05.12.21
✎
18:24
|
что за сумма в две колонки?
|
|||
31
Hans
05.12.21
✎
18:26
|
(27) Может и есть. На ОФ точно нет. На УФ не видел. Там этот вопрос решается получением запроса динамического списка с текущими отборами.
|
|||
32
Farid0516
05.12.21
✎
18:29
|
(30) ТаблицаДокументов.Итог("СуммаОплатаБС")+ТаблицаДокументов.Итог("СуммаОплата");
|
|||
33
Farid0516
05.12.21
✎
18:32
|
||||
34
Hans
05.12.21
✎
18:33
|
СуммаДвухКолонок = ТаблицаДокументов.Итог("СуммаОплатаБС")+ТаблицаДокументов.Итог("СуммаОплата");
ЭлементыФормы.ЖурналДокументовСписок.Колонки.ÖdənişTarixi.ТекстПодвала = "=" + СуммаДвухколонок; |
|||
35
Farid0516
05.12.21
✎
18:39
|
(34) Рабочий код! Большое тебе спасибо...
|
|||
36
Ёпрст
05.12.21
✎
18:45
|
(28)
ЭлементыФормы.ЖурналДокументовСписок.Колонки.ÖdənişTarixi.ТекстПодвала = "="+(ТаблицаДокументов.Итог("СуммаОплатаБС")+ТаблицаДокументов.Итог("СуммаОплата")); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |