[NotaBene] Универсальный отчет по таблице значений

Публикация № 14794

Разработка - Практика программирования

Обработка универсальная таблица значений печать. инструмент инструментарий группировка шахматка

1C v.7.7 Готовое решение. Не требует настройки. Не требует допрограммирования. Данная обработка решает часто встречающуюся задачу вывода в "красивом" виде таблицы значений (полученной, например, из запроса). Поддерживается произвольное группирование данных, отключение/включение группировок, в т.ч и создание "шахматок" (типа "продажи понедельно"). Обработка может использоваться как и в отладочных целях (для нормального просмотра ТЗ), так и в составе вполне рабочих отчетов. По крайней мере, я неоднократно клиентам данную обработку ставил вместо того, чтобы каждый раз писать замороченные выводы данных. И клиенты довольны, и мне - проще...

Подробный пример использования данной обработки в составе отчета по оплатам приведен здесь: //infostart.ru/projects/522/?&desc=1&ref=174
Обработка, которая приведена здесь, по сравнению с упомянутой выше ссылкой, расширена: стало лень каждый раз обозначать требуемую раскладку колонок для вывода РАЗНЫХ отчетов - вот и прикрутил сохранение/восстановление раскладки колонок для вывода отчетов. Причем, обработка сама распознает, какой набор/раскладка колонок подходит для полученного на вывода отчета.

От других навороченных обработок аналогичного типа отличается, на мой взгляд, идеальной сбалансированностью функционала и простоты использования.

Мое мнение - удобнейший инструментарий! В копилку программистаааааа!!

Оригинал обработки расположен здесь: http://1c.proclub.ru/modules/mydownloads/personal.php?cid=5&lid=3454 Разрешение от автора на выкладывание доработанной обработки - получено.

Пример использования данной обработки.

//здесь работает внешний отчет, формирующий какие-либо данные
//...
//если ошибка в запросе, то выход из процедуры

Если Запрос.Выполнить(ТекстЗапроса) = 0
Тогда Возврат;
КонецЕсли;

ТЗ = СоздатьОбъект("ТаблицаЗначений");
Запрос.Выгрузить(ТЗ,1,0);

Если ФлагГруппа = 0 Тогда ТЗ.УдалитьКолонку("ГруппаТовара"); КонецЕсли;
ТЗ.УдалитьКолонку("Количество"); //удаляем ненужные колонки
ТЗ.УдалитьКолонку("ПродСт");
ТЗ.УдалитьКолонку("ТекДок");

 

//здесь имеем ПЛОСКУЮ ТЗ с нужными для вывода данными
//ТЗ должна содержать нужные числовые данные и, по возможности, не содержать лишних колонок
//...

//сформируем параметры для передачи в обработку
/
//Параметр "ТаблицаЗначений"
//собственно, сама таблица значений для вывода, подготовленная ранее, плоская.

//Параметр "СписокПоказателей"
//положим в список значений "счетные" колонки ТЗ (числовые)
//(суммы, количества, себестоимости и прочее всякое что можно складывать...)
//все остальные неуказанные колонки будут считаться "измерениями" (группировками)
//формат элемента списка значений:
//значение элемента = идентификатор колонки ТЗ,
//представление элемента = заголовок колонки в отчете
//
 СЗПоказателей = СоздатьОбъект("СписокЗначений");
 СЗПоказателей.ДобавитьЗначение("СуммаПродСт","Сумма");         //"СуммаПродСТ" - идентификатор колонки ТЗ, "Сумма" - будет выводиться заголовком колонки
 СЗПоказателей.ДобавитьЗначение("СуммаКоличество","Кол-во");    //"СуммаКоличество" - идентификатор колонки ТЗ, "Кол-во" - будет выводиться заголовком колонки
 
//Параметр "СписокВыводаГруппировок", может отсутствовать
//положим в список значений формат вывода группировок (этот параметр может быть опущен/не задан)
//0 -группировку по измерению не выводить (свертывать, с последующей расшифровкой)
//1 -группировать измерение по строкам (группировок может быть несколько)
//2 -группировать измерение по столбцам (группировку по столбцам можно не более одной!)
//
//формат элемента списка значений:
// значение элемента = число (0,1,2)
// представление элемента = идентификатор колонки ТЗ
//
    СЗгруппировок = СоздатьОбъект("СписокЗначений");
        СЗгруппировок.ДобавитьЗначение(2,"ТипЯчейки"); //неуказаннные группировки имеют значение 1 - по строкам
        СЗгруппировок.ДобавитьЗначение(0,"АдресЯчейки");
 
//Параметр "Заголовок", может отсутствовать        
//текст, выводится как заголовок отчета
        
//...
//вызовем универсальный отчет по ТЗ
//в списке значений передадим параметры
// - саму таблицу значений для вывода, параметр "ТаблицаЗначений"
// - список "счетных" колонок, параметр "СписокПоказателей"
// - список группировок, параметр "СписокВыводаГруппировок" (может отсутствовать)
// - заголовок для отчета, параметр "Заголовок" (может отсутствовать)

КонтекстВызова = СоздатьОбъект("СписокЗначений");
КонтекстВызова.ДобавитьЗначение(ТЗ,"ТаблицаЗначений");
КонтекстВызова.ДобавитьЗначение(МойЗаголовокОтчета,"Заголовок");
КонтекстВызова.ДобавитьЗначение(СЗПоказателей,"СписокПоказателей");
КонтекстВызова.ДобавитьЗначение(СЗПоказателей,"СписокВыводаГруппировок"); //если не указывать параметр - все группировки = по строкам
//...
ПутьОбработки = ""; ИмяОбработки = "";
РасположениеФайла(ПутьОбработки, ИмяОбработки);
ОткрытьФорму("Отчет", КонтекстВызова, ПутьОбработки+"ОтчетПоТЗ.ert");


КонецПроцедуры //Сформировать()


Обновление 30.11.19
Модифицировано: выполняется автонастройка ширины колонок таблицы расшифровки числовых показателей

Обновление 29.11.19
Добавлена возможность манипулировать настройками вывода группировок программно при вызове отчета.

ВНИМАНИЕ: СПЕЦИАЛЬНО ДЛЯ ТЕХ, КТО НЕ УМЕЕТ ЧИТАТЬ, ПИШУ БОЛЬШИМИ ЖИРНЫМИ КРАСНЫМИ БУКВАМИ: ОБРАБОТКУ СЛЕДУЕТ ВЫЗЫВАТЬ КАК ОПИСАНО ВЫШЕ, ИСПОЛЬЗУЯ ПРОГРАММНЫЙ ОПЕРАТОР  ОткрытьФорму("Отчет",....) - НИКАКИМИ ДРУГИМИ СПОСОБаМИ ДАННУЮ ОБРАБОТКУ ОТКРЫВАТЬ НЕ СЛЕДУЕТ!

Скачать файлы

Наименование Файл Версия Размер
[NotaBene] Универсальный отчет по ТЗ

.ert 295,50Kb
17.07.20
955
.ert 2019-11-30-2018 295,50Kb 955 Скачать
[NotaBene] Универсальный отчет по таблице значений: пример запуска, можно использовать как самостоятельный отчет "Остатки по любому регистру на любую дату"

.ert 8,50Kb
17.07.20
1
.ert 8,50Kb 1 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. CheBurator 08.05.07 04:07 Сейчас в теме
Все - бяки!
100 раз качнули - хоть один бы коммент оставил...
dreadlord; Fox86; +2 Ответить
2. DobroProd 14.05.07 12:47 Сейчас в теме
в комплексной при открытии
Для сч = 1 По ТЗПолнаяОригинал.КоличествоКолонок() Цикл
{C:\DOCUMENTS AND SETTINGS\ALEX.DOBRO_PROD\РАБОЧИЙ СТОЛ\BVK_OTCHETPOTZ.ERT(325)}: Значение не представляет агрегатный объект (КоличествоКолонок)
3. CheBurator 14.05.07 13:25 Сейчас в теме
4. CheBurator 14.05.07 23:35 Сейчас в теме
проблема, скорее всего - в ненадлежащей передаче параметров при вызове обработки - копать в эту сторону.
на досуге придется вставить проверку на прием параметров...
5. soba 11.07.07 17:16 Сейчас в теме
Очень понравилась :) куча отчетов было таких, что вывод только из таблиц, а тут группировки по ним готовенькие. спасибо :)
6. CheBurator 11.07.07 17:37 Сейчас в теме
Всегда пожалуйста.
Приходите еще.
Заказывайте и спрашивайте про прочие нужные вам "полезности"
dreadlord; +1 Ответить
7. Just 31.08.07 06:27 Сейчас в теме
8. Fox86 21.09.07 12:32 Сейчас в теме
Спасибо что выложил эту прогу. но боюсь это не совсем то, что мне надо
9. Шёпот теней 1768 04.10.07 09:10 Сейчас в теме
Господин, Che Burashka... Вы и так впереди планеты всей... и вызываете уважение... УРА!
dreadlord; +1 Ответить
10. Fixator 04.10.07 11:14 Сейчас в теме
Хоть и не модератор FIDO, но плюс Вам поставлю...
11. CheBurator 04.10.07 13:38 Сейчас в теме
Спасибо. Начинаю офигевать от собственной офигенности... Качают много всяких моих разработок, но вопросов задают мало... или написал так что все понятно/большинстов устраивает или посмотрели и бросили.. даже ругать не стали... ВАШИ МНЕНИЯ ПО ЭТОМУ ПОВОДУ?
dreadlord; +1 Ответить
12. astonvilla 235 04.10.07 14:46 Сейчас в теме
Я скачал, нет времени посмотреть. Гляну, обязательно отпишусь и оценю :))
13. CheBurator 06.02.08 02:15 Сейчас в теме
вот здесь есть достойное продолжение для классоманов http://infostart.ru/projects/1658/
14. oskar 17.06.08 08:54 Сейчас в теме
15. CheBurator 17.06.08 10:49 Сейчас в теме
(14) А то! То что лежит у мну в профайле - испытано и одобрено лично мною и используется в моей повседневной работе, так что крупных косяков - нет...
16. бубух 29.07.08 16:51 Сейчас в теме
гранаты ваши не моёй системы. моя ругается и ничго делать не хочет. жаль.
17. CheBurator 29.07.08 17:09 Сейчас в теме
(16) не надо ля-ля.. все работает!
как конкретно ругается?
покажите код, который готовит и передает параметры на вход этой обработки...?
18. бубух 30.07.08 12:46 Сейчас в теме
(17) выдает:
ТЗраб.Сортировать("ИмяГруппировки");
{D:\BASES\БАЗЫ ГЛАВБУХА\КОПИЯ БД БУХ ТЕКУЩАЯ\EXTFORMS\УНИВЕРСАЛЬНЫЙ ОТЧЕТ ПО ТАБЛИЦЕ ЗНАЧЕНИЙ.ERT(994)}: Неверный идентификатор колонки!
Если ТЗНастроекКолонокТекущая.КоличествоСтрок() = 0 Тогда
{D:\BASES\БАЗЫ ГЛАВБУХА\КОПИЯ БД БУХ ТЕКУЩАЯ\EXTFORMS\УНИВЕРСАЛЬНЫЙ ОТЧЕТ ПО ТАБЛИЦЕ ЗНАЧЕНИЙ.ERT(1035)}: Значение не представляет агрегатный объект (КоличествоСтрок)
ТЗПолная.НоваяКолонка(ИмяВертГруппировки,ТипВертГруппировки);
{D:\BASES\БАЗЫ ГЛАВБУХА\КОПИЯ БД БУХ ТЕКУЩАЯ\EXTFORMS\УНИВЕРСАЛЬНЫЙ ОТЧЕТ ПО ТАБЛИЦЕ ЗНАЧЕНИЙ.ERT(753)}: Значение не представляет агрегатный объект (НоваяКолонка)
По поводу кода ничё сказать не могу - я просто булгахтер любопытный.
19. CheBurator 19.08.08 00:21 Сейчас в теме
отвечено в личку:
- обработка самостоятельно ручками не вызывается! вызывается программным способом с передачей параметров!
20. Avrora 24.10.08 18:24 Сейчас в теме
такое выдает

ТЗИдВерт.УстановитьЗначение(ТЗИдВерт.НомерСтроки, ИмяПоказателя, ТЗВремКопия.ПолучитьЗначение(ТЗВремКопия.НомерСтроки, ИмяПоказателя));
{D:\...\BVK_OTCHETPOTZ.ERT(701)}: Неверный идентификатор колонки!
21. CheBurator 24.10.08 23:36 Сейчас в теме
(20)
1.Отчет вызывается ТОЛЬКО ПРОГРАММНО!
2. Проверьте чтобы при передаче параметров было
СЗПоказателей.ДобавитьЗначение("ЗдесьИмяКолонкиТЗ","ЗдесьКакэТоНазыватВотчете");
22. KneZ 28.02.09 06:44 Сейчас в теме
Спасибо все работает супер! Поначалу правда не запускалось. Достаточно было понять, что в ТЗ должны быть не только группировки, но и их значения
23. rmv 20.05.09 15:02 Сейчас в теме
Великий СЕНКС. Весьма облегчило жисть
24. levran 200 21.05.09 16:33 Сейчас в теме
25. KpeaTuFF 06.06.09 22:56 Сейчас в теме
Помогла не только разработка, но и автор! Спасибо!
26. bearcat 70 20.07.09 01:44 Сейчас в теме
Поместила файл в подкаталог ExtForms в каталоге информационной базы.
Через меню "Сервис" выбрала пункт "Дополнительные возможности".
Добавила этот файл.
Попыталась открыть отчет, пишет - НЕВЕРНЫЕ ПАРАМЕТРЫ ВЫЗОВА, но при этом при нажатии на "ОК" отчет открылся.
при попытке сформировать выдает :
ТЗПолная.НоваяКолонка(ИмяВертГруппировки,ТипВертГруппировки);
{D:\1С - ОПТИМА\БАЗЫ ДАННЫХ (ЛОКАЛЬНЫЕ)\СТ\EXTFORMS\BVK_OTCHETPOTZ.ERT(753)}: Значение не представляет агрегатный объект (НоваяКолонка)
что делать? я не программист, я бухгалтер, который старается облегчить себе жизнь путем использования обработок.
Если сможете подсказать, буду благодарна.
29. comrad 13.08.09 10:04 Сейчас в теме
CheBurator вышлите мне пожалуйста инструкцию как для (26)
30. CheBurator 3425 13.08.09 12:30 Сейчас в теме
(29) в описании обработки где-нибудь сказано что обработку следует открывать через файл-открыть? сказано открывать каким либо другим способом кроме как вызовом оператора ОткрытьФорму("Отчет", КонтекстВызова, ПутьОбработки+"БВК_ОтчетПоТЗ.ert"); ....????????
- что именно непонятно?
31. comrad 13.08.09 15:05 Сейчас в теме
(30) разобралься спасибо.
я пока что нуб так что извиняйте.
27. truba 07.08.09 18:11 Сейчас в теме
bearcat, не делайте так.
не надо все в рот тянуть, прям как дети малые
28. CheBurator 3425 07.08.09 18:17 Сейчас в теме
(27) спокойно! инструкции были даны в личку...
32. Dahlia 12.11.09 16:45 Сейчас в теме
:cry: Наверно, я чего-то не понимаю, но у меня неправильно работает
Во вложенном файле исходная ТЗ и картинка, чего получается. Самое яркое что в глаза бросается - столбцы по первой номенклатуре - итоги по торговым
Прикрепленные файлы:
ИсходнаяТаблица.rar
33. CheBurator 3425 12.11.09 16:58 Сейчас в теме
34. Dahlia 13.11.09 11:55 Сейчас в теме
(33) Отправил архив на мыло
35. waol 269 09.12.09 12:45 Сейчас в теме
глФРМ неплохо бы вставить в модуль :)
36. CheBurator 3425 09.12.09 14:16 Сейчас в теме
(35) Разрешаю, вставляйте!
37. waol 269 09.12.09 15:35 Сейчас в теме
не имею такой возможности; да мне то собственно...
38. DrZombi 130 06.07.10 11:58 Сейчас в теме
Бывают клиенты "Кнопочники", такие нелюбят много кнопок, а нооборот мечтают об одной кнопке :)
39. CheBurator 3425 06.07.10 12:15 Сейчас в теме
(38) вставь "заглушку" - для такого-то набора колонок применить такую-ту раскладку ;-) - т.е. пррограммно прописать то что делается по кнопке восстановить... а еще лепотее - через глРасшифровку закинуть нужный набор параметров
40. unichkin 17.03.11 17:27 Сейчас в теме
А глФРМ - это из типовой конфы? У меня база 10 раз переписана, ругается.
глФРМ<<?>>(ЗначениеПоказателя)
Функция не обнаружена (глФРМ)
Может скинете на почту модуль функции?
42. unichkin 17.03.11 18:03 Сейчас в теме
(40) уже разобрался) Крутая штука, очень помогло)
41. unichkin 17.03.11 17:28 Сейчас в теме
Кстати, было бы еще неплохо иметь возможность убирать группировку из вывода таблицы.
43. CheBurator 3425 18.03.11 21:24 Сейчас в теме
(41) ну.. это простая глПечатьТЗ() - есть такая широко распространенная...
44. unichkin 18.03.11 23:03 Сейчас в теме
(43) и это победил, просто кинул на форму кнопку, удаляющую текущую группировку, и сделал сохранение перед этим. Теперь не пойму, почему не работает фиксация строк, и не выводятся заголовки)))
45. konfed 27.06.11 20:25 Сейчас в теме
Классно работает, но до тех пор пока не нужно выводить посортированное, т.к. обработка производит свою сортировку при выводе.
напр.: группировка 1 = контрагент, группировка 2 = товар, ресурсы - количество и сумма . нужно вывести все посортированное по количеству в
порядке убывания. ТЗ, которая передается Вашей обработке уже так и посортирована, но внутри Вашей обработке сортировка ломается. однозначный плюс автору и
CheBurator за то, что представил (доработки CheBurator не проверял). буду пробовать исправить что-то с сортировкой
46. CheBurator 3425 27.06.11 21:09 Сейчас в теме
(45) Обработка - универсальная, хотите специфики - перетачивайте самостоятельно ;-)
В общем случае сортировка по измерению (товар, клиент) - всегда имеет смысл, сортировка по количеству в общем случае - смысла лишена: отсортируйте литры с килограммами и сантиметрами...
47. konfed 28.06.11 10:00 Сейчас в теме
почему же лишена смысла - если все товары имеют одну единицу измерения - то сортировка в числовом измерении дасть больше аналитической информации, чем сортировка по товару, контрагенту.
48. CheBurator 3425 28.06.11 10:06 Сейчас в теме
(47) потому что не надо "подгонять данные". Я выше написал: реализован общий случай, в общем случае - товары не имеют одну единицу измерения. А вот "если.. имеют...", "если... весь товар - одна номенклатура но разных серий с разными сроками изготовления" и т.д. - это частные случаи. никто не запрещает подогнать универсальную обработку для общих случаев под свое частное решение...
49. Гость 06.12.11 16:20
Если Запрос.Выполнить(ТекстЗапроса) = 0
Тогда Возврат;
КонецЕсли;

ТЗ = СоздатьОбъект("ТаблицаЗначений");
Запрос.Выгрузить(ТЗ,1,0);

Если ФлагГруппа = 0
Тогда ТЗ.УдалитьКолонку("ГруппаТовара");
КонецЕсли;
ТЗ.УдалитьКолонку("Количество");
ТЗ.УдалитьКолонку("ПродСт");
ТЗ.УдалитьКолонку("ТекДок");

//здесь имеем ТЗ с нужными для вывода данными 
//...
//положим в список значений "счетные" колонки ТЗ
//(суммы, количества, себестоимости и прочее всякое что можно складывать...)
СЗПоказателей = СоздатьОбъект("СписокЗначений");
СЗПоказателей.ДобавитьЗначение("СуммаПродСт","Сумма");
СЗПоказателей.ДобавитьЗначение("СуммаКоличество","Кол-во");
//...
//вызовем универсальный отчет по ТЗ
//в списке значений передадим 2 параметра
// - список "счетных" колонок
// - саму таблицу значений для вывода
КонтекстВызова = СоздатьОбъект("СписокЗначений");
КонтекстВызова.ДобавитьЗначение(ТЗ,"ТаблицаЗначений");
КонтекстВызова.ДобавитьЗначение(СЗПоказателей,"СписокПоказателей");
//...
ПутьОбработки = ""; 
ИмяОбработки = "";
РасположениеФайла(ПутьОбработки, ИмяОбработки);
ОткрытьФорму("Отчет", КонтекстВызова, ПутьОбработки+"БВК_ОтчетПоТЗ.ert");

КонецПроцедуры //Сформировать()
Показать
50. ARTEM123456 05.03.12 08:24 Сейчас в теме
51. mihenius 83 28.04.12 15:39 Сейчас в теме
Не нашел как добавить обычных колонок для доп. информации.
Видимо нужно доработать, чтобы был список колонок кот. следует исключить из группировки.
53. CheBurator 3425 29.04.12 00:22 Сейчас в теме
(51) этот отчет - в первую очередь группировочный. поэтому вывод дополнительной информаци для уровня группировки - не предусмотрен. Выйти из положения нможно так: если надо вывести в группировке, например номенклатуру с дополнительнйо инфорацией (акртику) - то в ТЗ ДЛЯ ВЫВОДА вместо колонки "номенклатьура", формируем колонку "артикул+номенклатура"
52. mihenius 83 28.04.12 16:25 Сейчас в теме
Не нашел как зафиксировать порядок сортировки строк/колонок.
Так же необходимо немного доработать )
54. CheBurator 3425 29.04.12 00:24 Сейчас в теме
(52) внизу под таблицей группирвоко - есть кнопка "сохранить" и "восстановить". Первая кнопка запоминает под именем (вводится пользователем) текущую настройку вывода колонок/группирвоок, "восстановить2 - позволяет восстановить ее.
55. mihenius 83 02.05.12 07:11 Сейчас в теме
(53,54) Уже переделал под себя )

Пришел к клиентам, а там твоя обработка используется.
56. Скользящий 04.12.12 14:01 Сейчас в теме
Очень хорошая обработка, спасибо, очень помогла. Возникла правда, проблема. Отчет чисто группировочный, а иногда надо выводить дополнительную строку с информацией "в т.ч." Привожу пример.
В ТЗ есть колонки Контрагент, Товар, РасходнаяНакладная, Количество, ГруппаКонтрагентов, Группа Товаров. Счетная колонка "Количество"

Этим отчетом удается вывести ГруппаКонтрагентов в столбцах, Группа Товар и Товар в строках, выглядит так
http://gyazo.com/7338e1dfc1ed8c30de7e64212fb6f799
Или можно вывести вот так
http://gyazo.com/12f731587eb4c5fdf114c2decae889bc т.е. без вывода товаров.

А хотелось бы выводить например только группу товаров, и "в т.ч." товар. Вот так
http://gyazo.com/5b3b77d726cd758afd062b4707e86494
Иными словами, чтобы итоги по группе считал, но выводил под названием группы и количеством только определенные товары с количеством по конкретным товарам. Как можно извратиться в рамках существующего отчета? Или только допиливать отчет?
57. Скользящий 04.12.12 14:58 Сейчас в теме
Впрочем, вышел из положения, тупил. Просто добавил колонку еще одну группировочную. ) Проблема решена.
58. CheBurator 3425 18.12.13 13:09 Сейчас в теме
59. CheBurator 3425 29.11.19 15:55 Сейчас в теме
Обновил обработку.
Добавлена возможность манипулировать настроками вывода группировок программно при вызове отчета.
В плане (когда-то.. если руки дойдут...):
1.переписать на йоксель и ИТЗ для увеличения производительности.
2. сделать возможность запуска обработки интерактивно - с загрузкой сторонних данных для вывода из экселя, csv, dbf + вывод данных из базы, получаемых через универсальный подбор обьектов.
60. CheBurator 3425 30.11.19 20:27 Сейчас в теме
Обновил обработку.
Модифицировано: выполняется автонастройка ширины колонок таблицы расшифровки числовых показателей
61. CheBurator 3425 11.03.20 21:23 Сейчас в теме
Скоро очередное обновление будет:
1. возможность вывода вычисляемых колонок (например, когда в колонке должно содержаться содержится некое процентное значение и при использовании группировок проценты не должны складываться из нижележащих, а должны вычисляться..)
2. возможность вывода дополнительных колонок для группировок (например, в отчет можно вывести допколонку, в которой для группировки номенклатура" выводить код/артикул/инойреквизит, а для группировки контрагент - свой реквизит из карточки контрагента).
.
пп.1,2 настраиваются/задаются программно в списке параметров для формирования отчета...
62. CheBurator 3425 07.07.20 20:45 Сейчас в теме
Обновил. Исправлена мелкая недоработка.
63. CheBurator 3425 17.07.20 20:51 Сейчас в теме
Обновил. Доработаны мелочи для удобства/юзабельности.
Оставьте свое сообщение

См. также

Методы для группировки данных по полю,полям в Таблице Значений на примере универсального метода списания по партиям, а также отбора строк в ТЗ по произвольному условию. Для 8.x и 7.7 Промо

Универсальные функции Практика программирования v7.7 v8 1cv8.cf 1cv7.md Абонемент ($m)

Я очень часто использую группировку данных по полю и полям, как в восьмерке, так и в семерке. Это аналог запроса Итоги, но там строится дерево, а в большинстве случаев нужны "плоские данные". Да и делать запрос в большинстве случаев более накладный процесс, чем работа с ТЗ. Все достоинства такого подхода приведены на примере метода универсального списания по париям, а так же отбора строк в ТЗ по произвольному условию. Для 7.7 еще отчеты сравнения двух ТЗ. Работая с различными базами для упрощения сравнения номенклатуры, или как аналог джойнов(join), сделал сравнение двух таблиц значений по нескольким полям. Пока группировки полей должны быть уникальны. Часто приходится искать дубли, для универсального поиска есть ДублиВТзПоПолю и пример в Тест.ert.

1 стартмани

25.06.2015    26908    3    Serginio    1    

Установка принтера по умолчанию для 1С 7.7

Практика программирования Разработка v7.7 1cv7.md Абонемент ($m)

Установка принтера по умолчанию в 1С 7.7. Обработка может быть полезна в том случае, когда нужно установить принтер по умолчанию, а доступа к рабочему столу нет (например, терминальный режим без рабочего стола или remoteApp)

1 стартмани

13.02.2019    5181    2    alsen    2    

Пример QR кода для Сбербанка в квитках ТСЖ (1с77)

Практика программирования Банковские операции Банковские операции v7.7 1cv8.cf Россия Абонемент ($m)

Формирование Штрихкода по ГОСТ 56042-2014 для Сбербанка.

1 стартмани

26.12.2018    5750    11    bob_    1    

Как получить номер и дату договора из наименования справочника договоров? Промо

Обработка справочников Практика программирования v7.7 1cv7.md Абонемент ($m)

В типовых конфигурациях платформы "1С:Предприятие 7.7" часто номер и дата договора указаны в самом наименовании договора. Что создает сложности в тех случаях, когда эти реквизиты надо знать, например, при конвертации данных в конфигурации платформы "1С:Предприятие 8", где номер и дата договора - отдельные реквизиты.

1 стартмани

24.09.2015    20283    2    SiAl    7    

Несколько табличных частей в 1С:7.7 - это просто

Практика программирования v7.7 1cv7.md Абонемент ($m)

При программировании на платформе V7 достаточно часто возникает задача создать несколько табличных частей документа (или справочника). Традиционно эта задача имеет несколько решений..

1 стартмани

01.05.2018    10934    17    Gkmy    8    

Суммирование выделенных ячеек в столбце для 1С:Предприятие 7.7

Практика программирования v7.7 Абонемент ($m)

Суммирование чисел в столбце, выделенных мышкой, для 1С:Предприятие 7.7. В любом отчете, печатной форме или текстовом документе выделяете мышкой столбец с числами или группу ячеек в колонке таблицы, нажимаете на кнопку панели инструментов и в строке состояния получаете сумму. Пользоваться очень просто, удобно и быстро.

1 стартмани

09.03.2016    10538    4    электра    9    

1С: 7.7. Функции-обертки, функторы, отложенный вызов, карринг параметров на примере функции чтения табличных данных

Практика программирования v7.7 1cv7.md Абонемент ($m)

Человек, работающий в 1С, в силу своей практики и опыта может нуждаться в средствах программирования, в 1С не представленных. В публикации описаны средства отложенного вызова функций, каринга параметров, композиции и др., в основе которых лежит вызов функции посредством функции Шаблон. Несмотря на простоту, созданный за несколько лет работы в 1С 7.7 набор функций обрел мощь, достаточную для лаконичной реализации указанных целей.

1 стартмани

17.09.2015    9248    3    rozhkovdmitriy    21    

Технологическая проверка кода конфигурации (7.7)

Инструментарий разработчика Практика программирования v7.7 1cv7.md Абонемент ($m)

1С 7.7 не имеет практически никаких средств, предназначенных для контроля правильности кода. В синтаксически правильном, с точки зрения 1С, коде можно, например, определить переменную НомерДок в модуле документа. Эта обработка может помочь найти некоторые "плохие решения" в коде.

1 стартмани

03.09.2015    9468    5    vcv    6    

Оптимизация количества журналов документов в 1С:7.7

Практика программирования v7.7 1cv7.md Абонемент ($m)

Один из вариантов оптимизации количества журналов документов в 1С:7.7 без использования внешних компонент

1 стартмани

24.02.2015    8116    1    voha    8    

Все про картинки в 1С 7.7, ну или почти все...

Практика программирования v7.7 1cv7.md Абонемент ($m)

В 1С 8 наличие картинок товаров предусмотрено изначально, а в 7.7 такого нет. Проблема существует и ее исправляют, но это, как правило, частные случаи, касающиеся, например, печати прайса http://infostart.ru/public/289876/ , показу картинок в справочнике номенклатура http://infostart.ru/public/17125/, файловый менеджер картинок товара http://infostart.ru/public/15239/ или просто конфигурации работы с картинками http://infostart.ru/public/21142/ (не стремился дать полный обзор, поэтому не попавшие не обижайтесь :). Что не устроило – информация разбросана по статьям, необходимость дополнительно напрягаться, чтобы это заработало. Здесь я попытался собрать все «до кучи», а так же дать необходимые ссылки для желающих «копнуть вглубь».

1 стартмани

18.11.2014    32894    56    kitminsk    9    

[Разработчику] Любая таблица значений в OLAP Промо

Инструментарий разработчика Универсальные обработки Практика программирования v7.7 1cv7.md Абонемент ($m)

Анализируем различные данные в 1С, используя OLAP-технологии со всеми прелестями. Т.е. наглядное отображение данных, быстрые расчеты, горизонтальные и вертикальные группировки любой вложенности, удобная фильтрация, Drag'n'Drop и ещё много приятных вещей от MS. Обработка на входе принимает практически любую таблицу значений (ТЗ в которой колонкам указаны типы значений, строка, число и т.п.), на выходе имеем на форме 1С сводную таблицу и график по этой ТЗ, с которой работаем, как и в Excel со сводной таблицей и диаграммой. Взял за основу разработку «OLAP Анализ счёта» ( http://infostart.ru/public/14964/ ) от JohnyDeath и переделал под любую ТЗ. Опционально используется «Прогресс бар для 1С 77» (http://infostart.ru/public/14061/ ) от Gmix.

1 стартмани

21.12.2012    27330    17    venger    7    

Перевод десятичного числа в HEX, BIN, OCT, _IdToStr и другие системы

Инструментарий разработчика Практика программирования Универсальные функции v7.7 1cv7.md Абонемент ($m)

Два алгоритма перевода десятичного числа в другую систему исчисления от 2 до 36 только средствами 1С (без ВК)

1 стартмани

05.06.2014    13361    7    kos    3    

Пример получения остатков по складу по запросу по почте из программы 1С 7.7.

Практика программирования v7.7 1cv7.md Абонемент ($m)

Пример получения остатков по складу по запросу по почте из программы 1С 7.7. Для получения остатков необходимо пользователю с любого почтовика (с любого "мыла") отправить текст сообщения GiveMyStockBalance_ForAnalize на почтовый адрес определенный в Константа.СерверПолучения. Программа выдаст остатки (можно переписать функцию для выдачи любых данных) в формате xls на почту указанную в константе Константа.СерверОтправки. Программа может быть полезна в тех организациях где трудно или невозможно осуществить прямой доступ к 1С сотрудников для просмотра необходимых данных. Также можно организовать некий почтамт - запрос для клиентов - при посылке определенного логина клиентом на его почту будет автоматически выслана информация, например, акт сверки с клиентов, или процент выполнения его заказа и т.д.

3 стартмани

25.03.2014    17779    1    protexprotex    3    

Новые сказки о старом или как поймать событие «При активизации строки» в 1С: 7.7

Практика программирования v7.7 1cv7.md Абонемент ($m)

Давным-давно, в 1344152635 секунде по времени Unix, жил был один добрый, сильный и очень умный программист… Осилим царь-батюшка! — воскликнул наш добрый молодец и открыл пофигуратор однаэски 8.2… Там можно только прописать процедуры для реквизитов табличной части и реализовать событие ПриИзменении…

1 стартмани

29.01.2014    18267    5    majmyl    6    

Процесс бар (индикатор состояния выполнения цикла) Промо

Практика программирования v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

Полезная "красотулька" в вашем документе. Будет очень полезна для медленных компьютеров, где не всегда понятно, работает-ли обработка или 1с-ка тупо "зависла"

14.04.2008    24084    2    ded00786    38    

Поворот картинки

Практика программирования Работа с интерфейсом v7.7 v8 Абонемент ($m)

Иногда возникает необходимость повернуть картинку из 1С.

1 стартмани

16.12.2013    16333    17    bborisko    14    

Отчет "Дерево справочника"

Инструментарий разработчика Практика программирования v7.7 1cv7.md Абонемент ($m)

Зарядка для ума: вывод сворачиваемого дерева справочника в 1С v.7.7.

1 стартмани

20.07.2013    12489    1    uus    12    

1Cv77. Исправление поведения множественного фильтра (МФ) типовых отчетов в части сохранения/восстановления настроек.

Практика программирования Работа с интерфейсом v7.7 1cv7.md Россия Абонемент ($m)

В большинстве российских типовых конфигураций для 1Сv7.7 (ТиС, ПУБ, Комплекс и др.) в отчетах используется множественный фильтр (МФ). Впервые он появился, более 10 лет назад, еще в ТиС 8.7, придя на смену МФ ТиС 8.6. С тех пор, аж до сего дня (24.03.2013) типовой механизм МФ содержит глюк связанный с восстановлением сохраненных настроек, хотя разработчики поют нам об обратном.

1 стартмани

26.03.2013    10313    0    piloturs    8    

[BABLO] "Бабло побеждает зло!" v.1.5 Промо

Кассовые операции Финансовые Кассовые операции v77::ОУ 1С7:Комплекс 1С7:ТиС Россия УУ Платные (руб)

Простая ситуация: шеф срочно требует ответ на вопрос: "Сколько денег поступило за первое полугодие от клиентов? С разбивкой по месяцам?". Казалось бы - простой вполне закономерный вопрос, на который типовая ТиС должна с ходу дать ответ. А вот и вигвам! Нет такого отчета! Нет в типовой ТиС. Даже "Ведомость по контрагентам" даст ответ только на вопрос сколько поступило от покупателей денег (если развернуть по операциям и выдрать нужный столбец), но не даст разблюдовку по периодам. Пришлось по быстрому набросать отчетик. Пользуйтесь!

3000 руб.

21.09.2006    139535    0    10    

Задача про сгибание листка

Практика программирования v7.7 1cv7.md Абонемент ($m)

Часто при приеме на работу встречается задача про сгибание листка

1 стартмани

26.02.2013    14692    1    Sbelyi78    38    

FTP отправка из 7.7

Практика программирования v7.7 1cv7.md Абонемент ($m)

Всё чаще встречаются задачи по отправке отчетов поставщику, и нередко подготовленные файлы необходимо записать на FTP сервер. О том, как можно решить подобную задачу, и пойдёт речь.

3 стартмани

07.12.2012    39758    38    Yury1001    25    

Библиотека кода 1С 7.7 (накопленная за 8 лет) Промо

Практика программирования v7.7 1cv7.md Абонемент ($m)

Весь код на 1С 7.7, собранный для повторного использования за 8 лет работы.

10 стартмани

25.11.2012    26449    6    adhocprog    51    

Групмейкер для таблицы значений.

Инструментарий разработчика Практика программирования Универсальные обработки v7.7 v77::ОУ v77::БУ v77::Расчет 1cv7.md Абонемент ($m)

Универсальная функция и обработка для свертки и группировки таблицы значений. Очень простой способ подвести итоги по призвольным группам в произвольном порядке любой таблицы значений для быстрого вывода на печать нужной пользователю последовательности и детализации группировок.

1 стартмани

20.11.2012    23456    4    dusha0020    15    

Класс "ЗаписьXML" для 1С++, аналог одноименного класса из 8.x.

Обмен через XML Практика программирования v7.7 openconf 1cv7.md Абонемент ($m)

Мне понадобилось перенести работающий код выгрузки данных в xml из 1С 8.2 в 7.7. Чтобы минимизировать исправления - написал класс-эмулятор класса ЗаписьXML из 8.2. Теперь при переносе кода из 1С8.2 в 7.7 количество необходимых изменений - минимально.

1 стартмани

26.10.2012    16076    2    curdate    8    

Миникласс ТПерехватчик - методология работы с несколькими перехватчиками формы

Практика программирования v7.7 1cv7.md Россия Абонемент ($m)

Небольшое пособие "Как правильно накладывать несколько перехватчиков на одну форму" + мини-класс, реализующий описанную технологию.

1 стартмани

29.06.2012    149580    1    SatanClaws    18    

Подготовка сведений для ПФР - исправление некорректного формирования отрицательных сумм взносов с сумм превышения максимального предела. Конфигурация: ЗИК 7.70.328 Промо

Практика программирования Зарплата Зарплата v77::Расчет 1С7:ЗиК Россия ФОМС, ПФ, ФСС Абонемент ($m)

Подготовка сведений для ПФР - исправление в формирование сведений персонифицированного учета, при превышении максимального предела

1 стартмани

22.10.2012    18821    0    u_n_k_n_o_w_n    9    

Баги 1С 7.7 - добро или зло: непосредственный ввод "а ля 1С 8.х" без использования ВК

Практика программирования v7.7 1cv7.md Россия Абонемент ($m)

Баг 1С 7.7 открывает нам возможность реализовать без использования ВК непостредственный ввод таких значений, как справочники, перечисления, документы по введенному тексту в поле ввода (а ля 1С 8.х)

1 стартмани

25.06.2012    22779    5    MarSeN    21    

Группы "быстрых" индикаторов на формах 1с7.

Практика программирования v7.7 1cv7.md Россия Абонемент ($m)

Индикация влож. циклов, параллел. процессов; динам.гистограммы. Индикаторы: реагируют на отрицат.шаги - не только Прогресс-Индикаторы. "Быстрые": вывод на экран не на каждом, а на заранее расчитанном шаге. Управление: инверсия белого-черного, переворот линейки. Можно записывать истории Процессов. Возможны вертикальный и компактный вывод.

1 стартмани

13.06.2012    10765    1    newold2    6    

Календари на справочнике

Практика программирования v7.7 1cv7.md Россия Абонемент ($m)

Неограниченное количество управляемых из предприятия календарей.

1 стартмани

11.06.2012    6047    0    an_2    9    

Вывод и перенумерация отчета с заранее неизвестным количеством группировок. Промо

Практика программирования Работа с интерфейсом openconf v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m)

1C v.7.7 Пример вывода отчета с заранее неизвестным количеством группировок, с возможностью изменять уровень вложенности группировок из списка значений на форме, с нумерацией конечного отчета, с выводом структуры вложенности группировок (с помощью внешней компоненты Йоксель - http://yoksel.net.ru/Hotfixes). В приложенном файле показан пример вывода отчета из сформированной таблицы значений. Код я старался закомментировать как можно подробней. Хоть семерка и вымирающая платформа, думаю еще есть люди, которые только начинают ей заниматься, и им это может пригодиться.

1 стартмани

21.03.2012    26674    6    unichkin    11    

"Справочник плюс". Прямая запись в справочники 1С 7.7

Практика программирования v7.7 1cv7.md Россия Абонемент ($m)

"Справочник плюс" - замена штатного объекта "Справочник.ХХХ" Предназначен для "прямой" записи, и дает возможность управлять табличными подсказками при чтении. Позволяет избавиться от монопольных блокировок таблиц справочников и таблицы констант. Главным мотивом написания было избавиться от вылетов 1С из-за deadlock-ов и "недопустимых состояний курсоров". Состоит из нескольких классов 1с++, нескольких переменных и методов в глобальном модуле.

1 стартмани

24.05.2012    14183    4    an_2    16    

Проверка зацикливания групп справочников

Практика программирования Обработка справочников v7.7 1cv7.md Россия Абонемент ($m)

Зацикливание групп, то есть ситуация, когда группы подчинены "друг другу", иногда может возникнуть при программном обновлении справочников / обмене данными с другими источниками и может полностью парализовать работу пользователей. Паралич (программа висит, ест память) наступает при попытке 1с отобразить на форме списка иерархию "зацикленного" справочника (при включенной иерархии), при выполнении запросов с иерархией справочника и просто выполнении методов справочника в программном коде, связанных с иерархией. Эта публикация предназначена для выявления и исправления таких ситуаций.

1 стартмани

22.05.2012    24959    32    Shaman100M    3    

Работа с бинарными файлами в 1С 7.7

Практика программирования v7.7 1cv7.md Россия Абонемент ($m)

Описание принципов и набор инструментов для работы с двоичными данными в 1С 7.7. Примеры во вложениях.

1 стартмани

16.05.2012    24623    29    dusha0020    8    

Функция Случайное число, RANDOM, RND для 1С 7.7 Промо

Практика программирования v7.7 1cv7.md Россия Абонемент ($m)

В 1С нет функции случайного числа. представляю Вам свою. основана на получении идентификатора и из него случайного числа. от 0 до 10, от 0 до 100 и от 0 до 1000.

1 стартмани

28.09.2011    22155    2    dnikolaev    19    

Получалка списка реквизитов документа или справочника (v7)

Практика программирования v7.7 1cv7.md Россия Абонемент ($m)

Так как моя обработка "Получалка списка реквизитов документа или справочника" для v8 оказалась кем то востребованной, решил сделать то же самое и для v7 :-). Все полностью аналогично. ------------------------------------ Список реквизитов любого документа или справочника конфигурации с указанием типов возможных значений для заполнения

1 стартмани

08.05.2012    7659    0    Рэйв    6    

Внешний отчет Книга продаж 2012 для старых релизов Бухгалтерии 7.7 (протестировано на релизе 445 типовой конфигурации).

Практика программирования Анализ учета Учет доходов и расходов Розничная торговля Учет доходов и расходов Розничная торговля v77::БУ 1С7:Бух Россия БУ Абонемент ($m)

Внешний отчет Книга продаж, форма применяемая с 2012 года, для старых релизов Бухгалтерии 7.7 (протестировано на релизе 445 типовой конфигурации).

1 стартмани

29.04.2012    9660    2    ddv68    11    

Быстрый нечёткий поиск по атрибутам справочников

Практика программирования Обработка справочников v7.7 1cv7.md Россия Абонемент ($m)

Данная программа предназначена для быстрого поиска элементов справочников по значениям атрибутов справочников в среде 1С 7.7.

1 стартмани

28.04.2012    9287    3    ivangorchakov    9    

А ты умеешь СТУЧАТЬ? (или Азбука Морзе на 1С) Промо

Практика программирования v7.7 1cv7.md Россия Абонемент ($m)

Азбука Морзе теперь и на языке 1С . А ты знаешь, как звучит сигнал "SOS" ? А ты сможешь в трудную минуту его просигналить ?

1 стартмани

22.03.2010    27831    0    Tatitutu    39    

Внешний отчет Книга покупок 2012 для старых релизов Бухгалтерии 7.7

Практика программирования Анализ учета Розничная торговля Розничная торговля v77::БУ 1С7:Бух Россия БУ Абонемент ($m)

Внешний отчет Книга покупок 2012 для старых релизов Бухгалтерии 7.7 (протестировано на релизе 445 типовой конфигурации).

1 стартмани

26.04.2012    10603    1    ddv68    8    

Очередной тривиальный шаблон отчета с МФ для прямых запросов

Практика программирования v7.7 1cv7.md Россия Абонемент ($m)

Собственно, надоело одно и тоже делать для каждого отчета.

1 стартмани

24.04.2012    11758    2    newbas    3    

Выбор строки из ТаблицыЗначений

Практика программирования v7.7 openconf 1cv7.md Россия Абонемент ($m)

В 1С 7.7 легко предоставить пользователю выбор из списка значений, или Таблицы значений. Но уважающий себя программист не будет пользоваться методом ТаблицаЗначений.ВыбратьСтроку(), так как стандартный диалог мягко говоря несимпатичен. Предлагаю класс для 1С++, который позволит использовать более удобный диалог выбора строки из таблицы значений.

1 стартмани

11.04.2012    16859    4    curdate    6    

Просмотр имен sql реквизитов метаданных 1с 7.7

Практика программирования v7.7 openconf 1cv7.md Россия Абонемент ($m)

Обработка показывает sql имена таблиц и столбцов, а также индексов (для оптимальных запросов) построенных по метаданным 1с 7.7. Удобно при написании прямых sql запросов, или запросов из др. баз данных.

1 стартмани

27.03.2012    13235    5    born85    13