[ПОЛЕЗНОСТИ] по СКД и запросам (обновлено 14.11.11)

Публикация № 80164 26.10.11

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

Вы задумываетесь, как использовать такой мощный механизм, как СКД, в своих разработках? Как удобней и быстрее получать необходимые данные? Трудности с написанием запросов?  Тогда Вам нужно заглянуть в эту статью...

Данная статья задумывалась как небольшие полезности по СКД. Я надеюсь, что программисты, прочитав эту статью, не махнут рукой: "А, это фигня, все равно я делаю лучше (проще)". А задумались над возможностями и нашли способы реализации! Убедительная просьба, у кого есть возможность, прочитать хорошую литературу по СКД, например, Хрусталева Е.Ю. Разработка сложных отчетов в 1С Предприятии 8, а данная статья написана в большей мере, чтобы заинтересовать читателя, тут будут собираться наиболее неочевидные и интересные моменты работы с СКД.

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

Легкость написания, а главное, отладки запроса (в любой консоли). Те, кто сталкивался с запросами, знают, что некоторые запросы очень сложно отлаживать. Приходится использовать дополнительные обработки, чтобы "на лету" изменить параметры и посмотреть, что получится. К тому же в тех обработках, что я знаю, данные представляются как таблица значений, и понять, какое дерево значений получится в итоге, довольно сложно. Используя же СКД, мы получаем полное визульное представление о получаемых данных (за исключением иерархических данных, СКД при выгрузке, например, в дерево их просто выгрузит в развернутом виде, по каждому полю, но и это решаемо. Тут есть статьи, как это сделать, найду ссылку - добавлю сюда), а потом просто копируем настройки СКД в свою обработку.

Все же остается вопрос: как проще, быстрее и удобнее использовать СКД? Ведь тут, казалось бы, написание простых запросов имеет преимущество (хотя бы по времени написания)... Лично для меня многие вопросы закрылись после написания шаблонов. Надеюсь, что и для Вас они будут полезны.

 

//****************************************************************************
// ШАБЛОНЫ ДЛЯ ИСПОЛЬЗОВАНИЯ СКД
// {{
//****************************************************************************
// Заполняет переданный объект на основани СКД
//
// Параметры
//
//  СКД – собствеено настройки СКД
//
//  ОбъектДляЗагрузки – объект в который выгружаются данные, таблица значений, дерево значений, табличный документ
//
//  ИсполняемыеНастройки – Пользовательские настройки СКД если не указаны будут использованы настроки СКД по умолчанию
//
//  СтруктураПараметров - Структура – Передаваемые для СКД параметры
//
//  краткий лекбез, поправлю позже
//
Процедура ПолучитьДанныеНаОснованииСКД(СКД, ОбъектДляЗагрузки, ИсполняемыеНастройки = Неопределено, СтруктураПараметров = Неопределено, РасшифровкаСКД = Неопределено, МакетКомпоновки = Неопределено, ВнешниеНаборыДанных = Неопределено) Экспорт

   
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

    Если
ТипЗнч(ОбъектДляЗагрузки) = Тип("ПолеТабличногоДокумента") ИЛИ ТипЗнч(ОбъектДляЗагрузки) = Тип("ТабличныйДокумент") Тогда
       
ТипГенератора = Тип("ГенераторМакетаКомпоновкиДанных");
    Иначе
       
ТипГенератора = Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений");
    КонецЕсли;

    Если
ИсполняемыеНастройки = Неопределено Тогда

       
ИсполняемыеНастройки = СКД.НастройкиПоУмолчанию;

    КонецЕсли;

    Если
СтруктураПараметров <> Неопределено Тогда

       
КоллекцияЗначенийПараметров = ИсполняемыеНастройки.ПараметрыДанных.Элементы;

        Для каждого
Параметр Из СтруктураПараметров Цикл

           
НайденноеЗначениеПараметра = КоллекцияЗначенийПараметров.Найти(Параметр.Ключ);

            Если
НайденноеЗначениеПараметра <> Неопределено Тогда

               
НайденноеЗначениеПараметра.Использование = Истина;

               
НайденноеЗначениеПараметра.Значение = Параметр.Значение;

            КонецЕсли;

        КонецЦикла;

    КонецЕсли;

   
МакетКомпоновкиСКД = КомпоновщикМакета.Выполнить(СКД, ИсполняемыеНастройки, РасшифровкаСКД, МакетКомпоновки, ТипГенератора);

   
ПроцессорКомпановки = Новый ПроцессорКомпоновкиДанных;

   
ПроцессорКомпановки.Инициализировать(МакетКомпоновкиСКД, ВнешниеНаборыДанных, РасшифровкаСКД);

    Если
ТипЗнч(ОбъектДляЗагрузки) = Тип("ПолеТабличногоДокумента") ИЛИ ТипЗнч(ОбъектДляЗагрузки) = Тип("ТабличныйДокумент") Тогда

       
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;

       
ПроцессорВывода.УстановитьДокумент(ОбъектДляЗагрузки);

    Иначе

       
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;

       
ПроцессорВывода.УстановитьОбъект(ОбъектДляЗагрузки);

    КонецЕсли;

   
ПроцессорВывода.ОтображатьПроцентВывода = Истина;

   
ПроцессорВывода.Вывести(ПроцессорКомпановки, Истина);

КонецПроцедуры
// ПолучитьДанныеНаОснованииСКД()

//****************************************************************************
// }}
//****************************************************************************

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

 

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

1. Написать запрос и настроить СКД в любой консоли, позволяющей это сделать.

2. Выгрузить настройки из консоли и загрузить в макет

3. Написать в необходимом месте код типа:


    ДеревоЗначений = Новый ДеревоЗначений;
   
СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
   
СтруктураПараметров = Новый Структура("ДатаОтчета", НашаДата);
   
ПолучитьДанныеНаОснованииСКД(СхемаКомпоновкиДанных, ДеревоЗначенийСхемаКомпоновкиДанных.НастройкиПоУмолчанию, СтруктураПараметров);


Про запросы:

Далее собраны моменты, которые периодически пригождаются, и лично я все время забываю про них, так что для меня это будет как напоминалка. Cool

Нюансы

* Если при написании запроса конструктор пишет ошибки типа "Неоднозначное поле..." или подобное, и вы не можете понять, почему, не отчаивайтесь, если имя таблицы или имя вложенного запроса совпадает с именем объекта метаданных (любого), то возникают такие "глюки". Попробуйте изменить на имя, которое заведомо не может быть в метаданных.

 

Как вывести (рассчитать) процент для группировок?

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

Для большего понимания того, о чем пойдет речь, загрузите пример настроек СКД из этой статьи, имя файла Procent.xml (пример написан для УТ)

Итак, поставим задачу: Необходимо вывести процент наценки: ПроцентНаценки = 100*(СтоимостьПродажи - Себестоимость) / Себестоимость.

Для строк без иерерхии данная задача решается просто. Расчетом процента в запросе. Но вот вопрос: если у нас иерархическая структура отчета и вообще неизвестно, какая она будет... как считать проценты и выводить их нормально?

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

Первое, что необходимо, это написать запрос по регистрам для получения стоимости и себестоимости. Этот момент мы опустим, кстати, в моем запросе могут быть ошибки (писалось на скорую руку), но это и не столь важно в данном контексте, лишь бы что-то выводил отчет.

Переходим к настройкам самого СКД и процента:

1. Первое, что надо сделать, это зайти на закладку "Вычисляемые поля" и занести наше имя поля в колонку "Путь к данным" заголовок и будущий формат нашего поля

2. Занести это поле в ресурсы на закладке "Ресурсы", выражение исправить на что-то типа

ВЫБОР

       КОГДА СУММА(Себестоимость) = 0

             ТОГДА 0

       ИНАЧЕ 100*(СУММА(Стоимость)-СУММА(Себестоимость))/СУММА(Себестоимость)

КОНЕЦ

3. Ну и, конечно, добавить это поле в выбранные поля там, где это нужно, с чем, думаю, Вы очень просто справитесь.

 

Как выводить ресурсы (или как вывести начальные и конечные остатки и данные по произвольным периодам)?

Я наткнулся сразу на несколько постов на форуме где задают примерно один и тот же вопрос. Так как не хотелось всем отвечать решил быстренько наваять пример с описанием в этом посте.

Итак задача: необходимо вывести отчет примерно такой формы

Можно скачать пример в этой статье, называется: "Пример вывода ресурсов в СКД".

Итак написать сам запрос не составит особых трудов, и он зависит от конкретной задачи.

Далее выбираем ресурсы:

Вся остальная настройка, занимающая совсем немного времени, показана на следующих 2х скриншотах.

Если возникнут те или иные вопросы по выводу данных в СКД, задавайте вопросы, постараюсь ответить, и самые интересные задачи попадут в этот пост.

Удачи!

 

Статья будет дополняться...

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

Наименование Файл Версия Размер
Пример расчета процента в СКД

.xml 16,71Kb
181
.xml 16,71Kb 181 Скачать
Пример вывода ресурсов в СКД

.xml 9,38Kb
101
.xml 9,38Kb 101 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. dva1c 68 26.10.11 08:08 Сейчас в теме
Здорово, если статья, как написано в конце: будет дополняться!
+1 в личку :)
2. anig99 2787 26.10.11 08:56 Сейчас в теме
Рука тянется к минусу... И даже не за повторении учебника Хрусталевой (буду считать это конспектом), а за мотивационную часть статьи. Статья поддерживает тех программистов, которые хватают всё по верхам, но не читают нормальную литературу по теме. Если банально прочитать Хрусталеву, то не возникнет вопросов типа: "А что можно сделать с СКД кроме отчета?" "А как установить отбор программно?" "А сделать вычисляемые поля?" Предлагаю всё-таки добавить в статью настоятельную просьбу прочитать литературу по СКД, а данной статьей пользоваться как конспектом.
Потому как без базовых знаний, такие статьи - это ужасный вред.
Alex_8; Lena272; movel; charushkin; arz; Ish_2; +6 Ответить
5. Kom-off 26.10.11 10:02 Сейчас в теме
(2)+ Не очень понятно для кого статья. Для опытных - так нет, их уже этим не удивишь. Для новичков - сильно разбросан и не систематизирован материал, лучше потратить 5 часов на видео курсы Гилева - гораздо больше пользы будет. Воздержался, хотя тема статьи заинтересовала.
Alex_8; 13jaguar; arz; +3 Ответить
8. WiseSnake 1796 26.10.11 10:23 Сейчас в теме
(2)(5) Я с вами абсолютно согласен! Но для того чтобы найти в книге, если ты ее в первый раз видишь, необходимо время. 5 часов это тоже время. Я человек и многое забываю, последнее время у меня сложилась традиция искать ответы в интернете, просто потому что быстрее.
anig99 ну вот подскажите, на какой странице подобие данного примера? Потому что я вообще не помню что я там такое видел(ну или не обратил внимание).
Kom-off Мне кажется для опытных в написании запросов, но для новичков в СКД.
Alex_8; IrinaKostroma; sks; +3 Ответить
12. anig99 2787 26.10.11 10:30 Сейчас в теме
(8) книгу нужно прочитать ВСЮ заранее, а не обращаться к ней по необходимости. Книга - это не сборник статей (хотя ЖКК - именно сборник статей)
Страницу не назову, но точно есть описание программного метода выполнения СКД (кстати метод, как и Ваш, длинный; есть более короткий программно сформировать СКД, но он не всегда применим). Как вывод в табличный документ, так и в таблицу значений. Тоже самое касается и вычисляемых полей. А вот примера использования НОВЫХ функций СКД нет ни у Хрусталевой (тогда их ещё не было), ни у Вас...
14. WiseSnake 1796 26.10.11 10:34 Сейчас в теме
(12) Я еще раз напоминаю что люди забывают. И при прочтении книги, если нет опыта, то это бесполезно, человек даже и не вспомнит об этом.
IrinaKostroma; +1 Ответить
16. WiseSnake 1796 26.10.11 10:38 Сейчас в теме
(12) А что за НОВЫЕ функции СКД? Может я отстал от жизни? ))
10. WiseSnake 1796 26.10.11 10:26 Сейчас в теме
(2) Я в описание добавил убедительную просьбу читать литературу, но пришлось заново отправлять на модерацию (((.... Хрень какая то... нафига уже опубликованное опять модерировать...
13. anig99 2787 26.10.11 10:32 Сейчас в теме
(10) а чтобы не было такого - сначала написать всё по правилам, а потом исправить на что хочешь.
15. WiseSnake 1796 26.10.11 10:36 Сейчас в теме
(13) не понял о чем вы? я когда исправлю статью у меня 2 кнопки "Сохранить в черновики" и "Отправить на модерацию"... так о чем Вы?
17. anig99 2787 26.10.11 11:49 Сейчас в теме
(15) о том, зачем отправлять статью снова на модерацию после исправления.
(16) http://infostart.ru/public/86764/ в частности ВычислитьВыражение - решает ОЧЕНЬ много проблем в сложных отчетах.
Lena272; WiseSnake; +2 Ответить
18. WiseSnake 1796 26.10.11 12:11 Сейчас в теме
(17) Действительно отстал от жизни. Пойду обновлять платформу. Спасибо за ссылку!
21. Ish_2 1072 26.10.11 13:55 Сейчас в теме
Саша опередил. И всё сказал в (2). Добавить нечего.
30. Magister 134 27.10.11 22:24 Сейчас в теме
Минус за:
ПроцессорКомпановки
очивидным
сторок
лиж бы
что то

и т.д.
Ну и (2) - тоже согласен.
31. WiseSnake 1796 28.10.11 00:17 Сейчас в теме
(30) Ой, а я не знал что у нас диктант был.
Спасибо, за проверку.
33. Magister 134 28.10.11 01:49 Сейчас в теме
(31) В школе у вас, похоже, мало было диктантов :)
Вы извините, но очень уж глаз режут грамматические ошибки. К тому же в век компьютеризации глупо не пользоваться любой программой для проверки орфографии, если не уверены в собственной грамотности.
36. WiseSnake 1796 28.10.11 10:36 Сейчас в теме
(33) Да, Я никогда не любил русский язык, выдуманные, видимо с бодунища правила. Вы уж извините заучивать эту ересь, не поддающуюся логическому осмыслению я не хотел и не хочу.
Если честно, меня грамотность мало волнует, понимаю еще в официальных документах я заморочусь проверкой. Кому то правда глаз режет, видимо переучились, или Вам из-за моих грамматических ошибок что то в тексте непонятно?
К тому же мои ошибки никакого отношения к разработке не имеют, а Вы пишите что поставили мне минус за ошибки, не находите это несколько странным? Лучше бы вы побольше разработок своих выложили, а не показывали свою грамотность. Это лично мое ИМХО, по этому прошу не принимать близко к сердцу, ведь у каждого человека может быть свое мнение, как мне кажется.

P.S. Я обязательно поправлю ошибки, не волнуйтесь, чужие глаза я не люблю резать. Просто не хочу лишний раз, по пустякам отправлять статью на модерацию.
P.S.S А проверка орфографии и так идет, но не помогает.)))
37. Magister 134 28.10.11 11:22 Сейчас в теме
(36) Хорошо, согласен, оценивать нужно разработку. Минус снял.
Но насчет "выдуманные, видимо с бодунища правила" и "заучивать эту ересь" - категорически не согласен.
Русский язык для меня не родной, я его в школе только один год учил, как иностранный. Но тем не менее абсолютное незнание правил не мешает мне писать грамотно. И да, я не с бодуна :)

А свои разработки я почти не выкладываю по причине в основном узкой заточенности под конкретного клиента, а на переделывание их на универсальные времени, к сожалению, не хватает.
Артано; +1 Ответить
38. WiseSnake 1796 28.10.11 11:36 Сейчас в теме
(37) Если Вам глаз режет, значит Вы знаете правила. Просто у разных людей разные способности. Я учил русский язык 14 лет, но увы и ах. Я в принципе не способен что то заучить, если я не пользуюсь чем то, то забываю это. Я даже таблицу умножения не всю помню. Так устроен мой мозг и переделывать уже поздно.
Про бодун я говорил образно, о тех людях, которые создавали правила русского языка (не сами же они появились).
39. Magister 134 28.10.11 11:48 Сейчас в теме
(38) В том-то и дело, что я правил не знаю. Я их "чувствую", что-ли. Не знаю даже как правильно выразиться.
Вот смотрю на слово, и вижу - написано с ошибкой. А вот чтобы понять как написать правильно - приходится подумать, а то иногда и гуглить :)

Ну и если уже чуть в историю углубиться - то понятно, что принятое сейчас произношение слов так сильно отличается от написания в первую очередь из-за смешения разных культур на территории России, конкретно - более образованной славянской с менее образованной финнской или какие там ещё были народы до прихода славян.
Возможно именно поэтому письменная речь мне дается очень просто, так как она ближе к славянской культуре, чем нынешняя разговорная.
40. WiseSnake 1796 28.10.11 11:54 Сейчас в теме
(39) Ну вот видите, у Вас есть талант, у меня нет. Я просто не считаю это важным, по этому абсолютно не заморачиваюсь по этому поводу. Давайте закроем эту тему, а то флуд получается, ок?
41. Magister 134 28.10.11 11:57 Сейчас в теме
(40) Ок, действительно оффтоп.
118. IrinaKostroma 10.01.18 21:23 Сейчас в теме
(33)

Вам,Михаил, на другой форум надо... или в учителя по русскому языку податься
Здесь суть важна.Спасибо, что человек вообще опытом поделился
54. SuhoffGV 03.11.11 12:44 Сейчас в теме
(31) "жи, ши - пиши слитно"
Понаехали граммарнаци :)
55. Alraune 1490 03.11.11 12:47 Сейчас в теме
(54)
"жи, ши - пиши слитно"

Неправильно! "жЫ, шЫ - как хочешь пишЫ"
IrinaKostroma; +1 Ответить
60. Ish_2 1072 16.11.11 06:50 Сейчас в теме
Как и (2) у меня негативное отношение к таким статьям.
Читал , один раз почесал в затылке, дважды усмехнулся.
Статья не представляется цельной . Набор огрызков.
Если народу такое нравится , то я - против народа.
61. WiseSnake 1796 16.11.11 06:56 Сейчас в теме
(60) Я сейчас усмехнулся. Самые интересные статьи в таком же формате, например вот эта, где, кстати Вы проплюсовались. Возможно Вы просто не понимаете сути задач, когда столкнетесь, уже знаете где искать ;).
62. Ish_2 1072 16.11.11 08:02 Сейчас в теме
(61) Все мы чего-то не понимаем. Все мы учимся методом тыка. Это нормально.
Но не стоит свои тычки выносить на публику в виде статьи "Ой, смотрите, ребята - чего я нарыл !Какие [ПОЛЕЗНОСТИ]".
Обычно перед опубликованием проверяется как эти вопросы освещены в литературе. Даются ссылки , затем своё понимание или уточнения.
Впрочем, опять почесал в затылке... Рубрику на ИС "Мож и вам сгодится" никто не отменял и каждый прыгает через свою планку.
63. WiseSnake 1796 16.11.11 08:10 Сейчас в теме
(62) Хм, "Опять 25". Я вот всех прошу показать мне где в литературе описано то что тут описал???? я так и не нашел.
Вы помниЦа вообще раздували целые баталии на пустом месте аж целая статья родилась, хотя ИМХО Вам ту же Хрусталеву и стоило почитать. Однако тоже народ оценил.
64. Ish_2 1072 16.11.11 08:56 Сейчас в теме
(63) О моей статье - поговорим в моей теме. Здесь речь о Вашей.
Если автор не приводит никаких ссылок , не помещает свою статью в некоторый существующий контекст по этой теме , то это означает :
1. Либо автор несведущ в текущей теме .
2. Либо претендует на новизну своего метода, решения, подхода.

Теперь почувствуйте разницу.
Отсутствие ссылок на аналоги в моих статьях означает п.2.
Это утверждение. Сможете опровергнуть - опубликую в теме.

Теперь вопрос Вам : Что означает отсутствие ссылок в Вашей статье ?
Утверждение сделать сможете ? Или только : "чего-то искал , но чего-то не нашел.."
66. WiseSnake 1796 16.11.11 14:14 Сейчас в теме
(64) На момент публикации Вашей статьи у меня пару тройку обработок заполнялось в одну колонку деревом из СКД. Я не считал, да и не считаю, чем то оригинальным Вашу статью, но не лез судить "со своей колокольни", в отличае от Вас.

Ish_2 пишет:
О моей статье - поговорим в моей теме.

Хватит флуда и в моей теме, который стоило бы и прекратить! Вы уже 5й человек, который пытается меня "отправить к книжкам", по моему, больше чем достаточно, тем более если Вы читали я согласился со 2м постом, если Вы не считаете полезной статью поставьте минус, но не надо "переливать из пустого в порожнее".

Ish_2 пишет:
Теперь вопрос Вам : Что означает отсутствие ссылок в Вашей статье ?

Если ссылок на варианты решения поднятых в моей теме задач??? то да, я претендую на оригинальность. Докажите обратное и я - опубликую в теме. Или только: "я знаю, что где то это видел, но не знаю где..."?
67. Ish_2 1072 16.11.11 16:32 Сейчас в теме
(66) Отлично. Начнем с последнего параграфа Вашей статьи :
"Как выводить ресурсы (или как вывести начальные и конечные остатки и данные по произвольным периодам)?"
Поехали . Ставится задача :
Доказать , что НИЧЕГО нового и оригинального параграф не содержит.
А содержит только старые , давно известные и опубликованные приёмы.
Или доказать п.1 из поста (64) : Автор несведущ в текущей теме.

Начнем.
В указанном выше параграфе рассказывается о том , как использовать объект "Таблица" в настройках.
В использовании "Таблицы" ничего оригинального НЕТ.
Далее. В колонках таблицы используются группировки :
<Детальные записи>
Период
<Детальные записи>

Оригинально использовать группировку "Период" в колонке Таблицы ? Нет . Это смешно.
Остается только одно использование в качестве группировок < детальных записей> для вывода значений
Начального и Конечного остатка . Т.е. с помощью этого приема значения выводятся в нужном месте(колонке) таблицы.
Первая публикация о выводе значений в нужной колонке появилась два года назад автора IronDemon
http://infostart.ru/public/20848/
Он, правда, использовал вычисляемые поля. Но такой приём совсем неплох и имеет свои плюсы.
Теперь в комментарии 21 этой темы http://forum.infostart.ru/forum24/topic25482/message408159/#message408159
читаем ( извиняюсь за самоцитирование , оно при доказательстве необходимо).
На мой взгляд , экономнее и практичнее для вывода поля в нужной колонке вообще отказаться от вычисляемого поля "ДополнительнаяКолонка".
Группировка может быть создана и без указания группировочного поля (список группировочных полей - пуст), а выбранные поля для такой группировки могут выбраны произвольно.

На прикрепленном к посту файле показано как используются <детальные записи> для выода значений (см . рисунок)
Этот прием был применен в публикации http://infostart.ru/public/75878/ "СКД против ручного кодинга" без всякого "педалирования" на оригинальность.
Боже упаси от какого-то авторства ! Этот давно известный приём заслуживает лишь комментария-уточнения к чужой теме. И не более того.

Итак , доказано , что параграф текущей темы не содержит ни новизны , ни оригинальности.
Если что-то еще в этом параграфе претендует на оригинальность - назовите.
Прикрепленные файлы:
68. WiseSnake 1796 16.11.11 19:25 Сейчас в теме
(67) Каюсь, специально оставил Вам эту возможность и не написал в посте 66 о том что пункт на вывод ресурсов не претендует на оригинальность, а создан для "быстрой помощи" (о чем, кстати, сообщается в первых строках этого пункта) и создан на коленке. Хотелось так сказать получить больше информации. За ссылку на разработку IronDemon спасибо и на Вашу статью, я добавлю их как ссылки по теме в этот пункт при первой возможности, но первая не совсем отвечает на поставленную задачу и мне бы пришлось объяснять людям как эту статью применить для создания отчета такой формы. Вашу статью ее не видел, каюсь и ИМХО она не совсем наглядна + ко всему это всего лишь пункт в моей статье.

ИМХО оригинальность в том, что это я представил компактное объяснение (очень часто встречающейся на практике) поставленной задачи (ИМХО самое правильное и простое), которое займет на прочтение 1 минуту и даст всю необходимую информацию. Если бы людям было все понятно, то не возникало бы одних и тех же вопросов на форуме (причем многие наверняка читали ту же Хрусталеву, можем кстати спросить) и за время, которое они там висели, никто так и не смог дать внятного ответа на поставленный вопрос.

Так что давайте оставим в покое этот пункт. Помечу в пункте для ... особо щепетильных что пункт не оригинален и добавлю ссылки. "Автор несведущ в текущей теме. " © - уважаю Ваше личное мнение.

Ish_2 пишет:
Начнем с последнего параграфа Вашей статьи


Продолжайте по остальным пунктам, пожалуйста.
69. Ish_2 1072 16.11.11 19:42 Сейчас в теме
(67) На меня ссылаться ненужно. На IronDemon стоит.
Продолжаю разбор - IronDemon два года назад отметился ещё по Вашей теме процентов :
http://forum.mista.ru/topic.php?id=425838
70. WiseSnake 1796 16.11.11 19:57 Сейчас в теме
(69) Ваша ближе к теме.
Ну скорее не IronDemon отличился, а sam_sam, я когда искал в гугле, ничего не нашел. Статья не на инфостарте + наглядность, конечно, не сравнима + ко всему не понятно как правильно настроить в СКД, по этому считаю эту ссылку "ни о чем" хотя сама суть решения там есть. Я так же (как и автор по ссылке) не мало времени убил пока добился нормального результата.
71. WiseSnake 1796 16.11.11 20:20 Сейчас в теме
+ к (70)
Посмотрел Хрусталеву (по ссылке указано где смотреть - стр.385), ту тему которая там указывается. Там информации 0.
72. Ish_2 1072 16.11.11 20:40 Сейчас в теме
(71) Я уже проверил. У Хрусталевой именно про проценты нет. Очевидно вопрос был опущен как несущественный.
Но IronDemon в последнем комментарии указал правильное решение.
73. WiseSnake 1796 16.11.11 20:54 Сейчас в теме
(72) "Соль" решения указана в первом посте, а IronDemon поправил ошибку неопытных пользователей, приводящую к делению на 0, ЕСТЬNULL применять там ИМХО избыточно, потому что я, во всяком случае, всегда ставлю эти конструкции в самом запросе, чтобы не нарваться на неприятную ситуацию арифметических действий с null, которые не вызывают ошибок но так же возвращают null.

У Хрусталевой описано стандартное применение, которое и так понятно. А вопрос существенный, встречается на практике часто и не очевиден.
3. Djonny 26.10.11 09:53 Сейчас в теме
Нормальная статья.
Если будет дополняться, будет вообще прекрасно!
Такой "конспект" по СКД нужен, если будет что-то вроде "базы знаний" будет вообще замечательно!
4. fishca 1208 26.10.11 10:00 Сейчас в теме
(3)
если будет что-то вроде "базы знаний" будет вообще замечательно

Уже есть такой сайт
6. KapasMordorov 428 26.10.11 10:11 Сейчас в теме
Небольшое замечание.
Ну почему многие пишут "компановка"?
Причем в одной строке с оригиналом?
ПроцессорКомпановки = Новый ПроцессорКомпоновкиДанных
корум; +1 Ответить
7. fishca 1208 26.10.11 10:17 Сейчас в теме
(6) А почему пишут мАлоко :) ?
Ладно еще можно понять когда создают переменную ПроцессорКомпановки...
9. WiseSnake 1796 26.10.11 10:24 Сейчас в теме
(6) От слова компактный )))) шучу, ну от безграмотности конечно же ;)
11. anton.fly7 167 26.10.11 10:27 Сейчас в теме
я через компоновку заполняю табличку с отборами на форме например
http://infostart.ru/public/91297/
19. y22-k 241 26.10.11 12:52 Сейчас в теме
Да, считать процент по групировке это по челябински, стандартные поля не пробовал ссмотреть там есть много интересного
20. WiseSnake 1796 26.10.11 13:55 Сейчас в теме
(19) И что там интересного? Как делают в культурной столице России?
27. marat_n 112 27.10.11 18:01 Сейчас в теме
(20) Мне тоже сразу режет глаз в статье. Задача с выводом процента, конечно актуальна и проста для понимания, но проблема в том, что просто, развернув "плюсиком" нужный ресурс в настройке, можно увидеть различные варианты процента этого ресурса.
28. WiseSnake 1796 27.10.11 18:43 Сейчас в теме
(27) Поясните. Может быть я чего то не знаю. Как вы реализуете ту же задачу с помощью плюсика на ресурсе?
52. y22-k 241 01.11.11 13:32 Сейчас в теме
(28)
Плюсик нажми на ресурсе слева снизу на закладке Выбранные поля на закладке Настройка и куча вопросов отпадет )
53. WiseSnake 1796 01.11.11 14:11 Сейчас в теме
(52)Задачу прочитайте внимательно, а потом выделяйте свой текст и улыбайтесь.
89. lsp71 28.02.12 16:43 Сейчас в теме
(19) y22-k, Описанным в статье методом можно считать не только банальный процент, но и, например, оборачиваемость дебиторской задолженности в днях. Там формула чуть посложнее, но проблема та же: в некоторых случаях приходится отлавливать деление на 0. И это уже не вычисляется стандартными полями СКД.
90. WiseSnake 1796 01.03.12 16:56 Сейчас в теме
(89) Стандартными полями и невозможно решить эту задачу, y22-k просто не знает о чем говорит и не вник в суть проблемы. Но вот за что Вы ему плюс за комментарий поставили ??? это вопрос ))))
91. lsp71 01.03.12 18:01 Сейчас в теме
(90) Просто не туда мышкой попал.
22. ann_ver 26.10.11 15:17 Сейчас в теме
Спасибо большое! очень полезный и интересный материал!
23. SuhoffGV 26.10.11 19:32 Сейчас в теме
anig99 пишет:
Рука тянется к минусу... И даже не за повторении учебника Хрусталевой (буду считать это конспектом), а за мотивационную часть статьи. Статья поддерживает тех программистов, которые хватают всё по верхам, но не читают нормальную литературу по теме. Если банально прочитать Хрусталеву, то не возникнет вопросов типа: "А что можно сделать с СКД кроме отчета?" "А как установить отбор программно?" "А сделать вычисляемые поля?" Предлагаю всё-таки добавить в статью настоятельную просьбу прочитать литературу по СКД, а данной статьей пользоваться как конспектом.
Потому как без базовых знаний, такие статьи - это ужасный вред.


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

Чем больше статей про реальную работу с СКД с примерами - тем лучше. Там посмотрел, там почитал и разобрался. Да хотя бы и процент научишься считать.

А ЖКК давно уже надо в электронном виде издавать. С поиском. Аля "ЕСИС", если кто видел такое. Но она давно не обновляется. До сих пор пользуюсь вместо ЖКК.

ps
Меня так в свое время дист курсы по ЗиК77 так убили. Было там несколько задач на вывод отчета по горизонтали и вертикали по 2м запросам.
Я спецом потом в типовую конфу глянул - там ни одного примера горизонтального вывода областей в макет НЕ БЫЛО.
Только в восьмерке мне это пригодилось. Спустя пару лет.
m.s.moiseev; wolfsoft; Fominro; 13jaguar; djvu; Новиков; itar59; +7 Ответить
24. anig99 2787 26.10.11 20:27 Сейчас в теме
(23) воооот. сначала прочитал книгу, а потом начал читать дополнительно. Книга - это основа. А в данной статье пока НИЧЕГО, чего нет у Хрусталевой - нет.
93. i132 115 29.03.12 17:02 Сейчас в теме
(23) SuhoffGV, ЖК книги по 1Сv8 давно есть на ИТС: http://its.1c.ru/db/v8doc#browse:13:-1, с работающим посиком и регулярно обновляется с описанием изменний (последнее обновление февраль 2012)
94. SuhoffGV 29.03.12 20:16 Сейчас в теме
(93) i132, Спасибо, не знал. Хоть польза от итс будет.
25. curys 27.10.11 11:31 Сейчас в теме
26. itar59 87 27.10.11 17:05 Сейчас в теме
anig99 пишет:

Рука тянется к минусу... И даже не за повторении учебника Хрусталевой (буду считать это конспектом), а за мотивационную часть статьи. Статья поддерживает тех программистов, которые хватают всё по верхам, но не читают нормальную литературу по теме. Если банально прочитать Хрусталеву, то не возникнет вопросов типа: "А что можно сделать с СКД кроме отчета?" "А как установить отбор программно?" "А сделать вычисляемые поля?" Предлагаю всё-таки добавить в статью настоятельную просьбу прочитать литературу по СКД, а данной статьей пользоваться как конспектом.

Потому как без базовых знаний, такие статьи - это ужасный вред.


Да будет Вам!!! Нельзя же все время ворчать, что "Жигули" не "Мерс", "Жигуль" тоже нужен.
Некоторые аспекты дискуссии напоминают спор о том как делать ремонт в квартире: своими руками (но годика так за 3) или пригласить профи (за деньги, но за две недели)
на мой взгляд вполне разумный материал. А читать библию от Адама и Евы (от сотворения мира) для доказательства, что 2*2=4 несколько чересчур...
Вы не находите?
Плюс.
тема правильно раскрыта, правильно подана
а главное -- изложена без излишних премудростей, на понятном языке (на русском, литературном) а не на жаргонном подмножестве сленга.
29. anig99 2787 27.10.11 22:06 Сейчас в теме
(26) не то сравнение... Жигуль и Мерседес - это универсальный отчет и СКД. А вот дворники от мерседеса и сам мерседес - это данная статья и книга по СКД. Дворники конечно замечательные и красивые, но без машины они нафиг не нужны.
32. WiseSnake 1796 28.10.11 00:33 Сейчас в теме
(29)(30) Блин, специально возьму Хрусталеву перечитаю, и только после этого буду дописывать статью, чтобы не дай бог не повторить то, что там написано...
35. itar59 87 28.10.11 10:24 Сейчас в теме
(29) anig99,
мы уклоняемся от темы и, к сожалению переходим на личности.
а ведь если объективно -- работа-то правильная и нужная.

иначе бы и дискуссии не возникло бы.

еще один респект автору темы.
34. bol 7 28.10.11 06:21 Сейчас в теме
"просто, развернув "плюсиком" нужный ресурс в настройке, можно увидеть различные варианты процента этого ресурса"
marat_n, про "плюсик" просветите
42. sserazm 28.10.11 12:22 Сейчас в теме
Поскольку статья пишут для всех пользователей ресурса а не только для автора, то предлагаю придерживается общепринятых норм в том числе и правильного правописания. Как минимум, можно просто просмотреть статью в ворде и исправить ляпы. Выставлять статью с кучей ошибок и претендовать на плюс, мне кажется неправильно.
Если WiseSnake хочется писать без орфографии и правил, то ему дорога на удафф.
По сути статьи, плюсы у нее авансом. Пример разобраны невнятные. Если в эту старью будут кусками копировать Хрусталева, то можно сразу дать ссылку где лежит книжку или организовать ее провешивание с кучей комментариев и разжевывания, в этом я вижу больше пользы.
43. WiseSnake 1796 28.10.11 12:59 Сейчас в теме
(42) Давайте я сам буду решать где и чего мне проверять. Вы можете не читать статью если Вас что то не устраивает. А советы куда мне идти, от человека с рейтингом 0 на этом сайте я в принципе не рассматриваю.
Покажите мне где в Хрусталевой есть то что я опубликовал.
Примеры жизненные и если Вы их не понимаете, то вы мало писали в СКД и знаете о нем только теоретически.
44. netserfer 89 28.10.11 14:53 Сейчас в теме
Хрусталёва это конечно хорошо, но как говорится на инет-сленге "многа букаф", а статьи подобные этой могут прояснить некоторые вещи, ответ на которые нужен быстро, прямо здесь и сейчас. Ну а в остальном как говорится кесареву кесарево, слесарю слесарево
45. opiumdx 28.10.11 14:57 Сейчас в теме
46. Новиков 292 29.10.11 22:13 Сейчас в теме
Спасибо за статью. Очень годится как готовый рецепт. Надеюсь Вы ее будете обновлять и поддерживать!
47. Alexey55 31.10.11 09:36 Сейчас в теме
48. rubelev 31.10.11 18:33 Сейчас в теме
А что можно толкового из скд для 1С вытащить?
49. anig99 2787 31.10.11 20:52 Сейчас в теме
(48) А что можно толкового из АКП для автомобиля вытащить?
50. WiseSnake 1796 31.10.11 21:49 Сейчас в теме
(48) Могу сказать что в СКД я выполняю 40-50 % всей работы с 1С. Судите сами...
51. mkostya 28 01.11.11 10:15 Сейчас в теме
56. vikorn 03.11.11 13:10 Сейчас в теме
57. mtv:) 1016 04.11.11 09:26 Сейчас в теме
(0) Хорошая статья. Можно использовать, как готовые рецепты.
Только хотелось бы, что бы публикация развивалась и поддерживалась.
Надеюсь, что своё слово: "Статья будет дополняться...", ты сдержишь.
58. WiseSnake 1796 04.11.11 14:37 Сейчас в теме
(57) Все зависит от Вас, пользователей. Как видишь многие не согласны, что статья дельная (это сильно отбивает интузиаЗИзм).
Сейчас есть материал, но нет времени и небольшие проблемки с доработкой статьи.
59. dkprim 5 05.11.11 11:23 Сейчас в теме
статья хорошая. будет приятно и новые материалы в статье :) автору спасибо :)
65. vec435 15 16.11.11 10:23 Сейчас в теме
ЕСИС также полезно и нужно читать как и литературу.Но правила нужно знать хотя для того, чтобы знать как их обойти.
74. EvgeniuXP 16.11.11 23:58 Сейчас в теме
Рука тянется к минусу... И даже не за повторении учебника Хрусталевой (буду считать это конспектом), а за мотивационную часть статьи. Статья поддерживает тех программистов, которые хватают всё по верхам, но не читают нормальную литературу по теме. Если банально прочитать Хрусталеву, то не возникнет вопросов типа: "А что можно сделать с СКД кроме отчета?" "А как установить отбор программно?" "А сделать вычисляемые поля?" Предлагаю всё-таки добавить в статью настоятельную просьбу прочитать литературу по СКД, а данной статьей пользоваться как конспектом.
Потому как без базовых знаний, такие статьи - это ужасный вред.
75. WiseSnake 1796 17.11.11 00:22 Сейчас в теме
(74) Будем в "черный список" оформлять
76. dkprim 5 17.11.11 07:05 Сейчас в теме
приятно видеть, что публикация пополняется и весьма полезно пополняется :)
77. alexkl 18.11.11 10:19 Сейчас в теме
Развитие, в том числе учебной литературы, зачастую идет весьма непросто. Поэтому ругать за публикацию методики некорректно.
78. marku 61 23.11.11 23:00 Сейчас в теме
Возможно вывести отчет, так чтобы в группировках были соответствующие значение из регистра сведений?
Пример картинки тут
79. WiseSnake 1796 30.11.11 10:32 Сейчас в теме
(78) Тут надо подумать. Демо-база какая нибудь, на которой попробовать можно есть?
81. marku 61 30.11.11 20:46 Сейчас в теме
WiseSnake пишет:

(78) Тут надо подумать. Демо-база какая нибудь, на которой попробовать можно есть?

нет возможности предоставить
80. kalyaka 728 30.11.11 15:47 Сейчас в теме
Хотелось бы узнать, как получить отчет в таком виде, как представил автор на рисунке под заголовком
"Как выводить ресурсы (или как вывести начальные и конечные остатки и данные по произвольным периодам)". А именно меня интересует, можно ли в СКД выводить объединенные заголовки как на рисунке заголовок "Продажи"?
82. F1_1 08.12.11 08:41 Сейчас в теме
Согласен с автором поста про необходимость иметь шпаргалку по СКД
83. Laertid 95 17.01.12 17:29 Сейчас в теме
Замечание по примеру с процентом: зачем и что Вы писали в поле оформление для вычисляемого поля, если в итогах Вам приходится домножать на 100? Лучше в Формате использовать сдвиг на 2 знака. Чем лучше? Тем, что при выделении и копировании куда-нибо (в Excel, скажем) результата вы получите результат в виде доли. Число 1, а не 100 для 100%. Как правило в том же Excel перевод в проценты производят средствами экселя. И могут получить 10000%, что неправильно.
84. WiseSnake 1796 17.01.12 23:33 Сейчас в теме
(83) Не вижу в этом особого смысла. Это уже мелочи, каждый может форматировать как ему удобно. Я давно не пользуюсь екселем... у меня есть 1С.
85. echo77 1259 26.01.12 21:59 Сейчас в теме
У вас, кажется опечатка в примере:
Порядок следования формальных параметров не такой, как в примере вызова процедуры ПолучитьДанныеНаОснованииСКД
86. WiseSnake 1796 26.01.12 22:20 Сейчас в теме
(85) Спасибо! Вы фактически реанимировали статью. Ошибка мною была замечена давно, но оставлена чтобы проверить насколько люди читают эти самые статьи. После того как мне мозг вынесли с орфографическими ошибками и другой ерундой, но не заметили очевидных ошибок, совсем не хотелось продолжать труд. Но сейчас я вижу что еще не все потеряно в этом сообществе ))). Возможно теперь я продолжу ее...
87. serge_focus 4 28.01.12 14:10 Сейчас в теме
//(86)
Хочу поблагодарить за статью!
Во первых СКД = действительно интересное и перспективное средство для ускорения написания отчетов и не только...
И действительно даже после прочтения книги возникает куча вопросов. А решение вопросов - обсуждение, чтение других материалов по теме и самое главное - практические реализации с использоваинем технологии СКД.
В поставках на нем стараются все делать. И там порой без пол-литра не разберешся... :)
И в качестве пол-литра часто выступают статьи из Нета и обсуждалки в форумах...

А данная статья -"для опытных в написании запросов, но для новичков в СКД" - Это точно!!!.
88. eryomenko 30.01.12 11:57 Сейчас в теме
95. STEPPRK 13 28.05.12 07:44 Сейчас в теме
Спасибо! Узнал много полезного
96. Модератор раздела artbear 09.06.12 16:23 Сейчас в теме
1. Вызов кода неверен :(
ПолучитьДанныеНаОснованииСКД(СхемаКомпоновкиДанных, СхемаКомпоновкиДанных.НастройкиПоУмолчанию, ДеревоЗначений, СтруктураПараметров);
нужно поменять местами параметры
ПолучитьДанныеНаОснованииСКД(СхемаКомпоновкиДанных, ДеревоЗначений, СхемаКомпоновкиДанных.НастройкиПоУмолчанию, СтруктураПараметров);
97. Модератор раздела artbear 09.06.12 18:30 Сейчас в теме
(0) +(96)
Забыл сказать - функция очень удобная.
Плюсую.
98. webester 35 29.01.13 03:04 Сейчас в теме
Картинки умерли все в статье. Можно обновить?
99. Buggy001 20.03.13 12:12 Сейчас в теме
Кстати да, картинки не отображаются, а без них последняя часть статьи не имеет смысла.
Оставьте свое сообщение

См. также

Безопасная работа с транзакциями во встроенном языке Промо

Практика программирования v8 1cv8.cf Абонемент ($m)

Разбираемся с опасностями использования транзакций во встроенном языке 1С. Познаем ошибку "В данной транзакции уже происходили ошибки". Учимся защищаться от них.

1 стартмани

25.03.2019    45288    tormozit    58    

Пример создания документа с движениями в ERP 2.5.7

БСП (Библиотека стандартных подсистем) Практика программирования v8 ERP2 Россия УУ Абонемент ($m)

Пример создания документа с движениями в ERP 2.5.7, а также включение документа в основные подсистемы, а именно по управлению доступом, датам запрета изменения, контролю остатков, использованию характеристик и серий и прочее.

1 стартмани

10.08.2021    1907    maraty    10    

Работа с абстрактным массивом

Практика программирования Математика и алгоритмы v8 Россия Абонемент ($m)

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

1 стартмани

07.07.2021    3687    kalyaka    56    

Семеро одного не ждут? Асинхронное исследование асинхронности

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

Все уже, наверное, знают о появлении в новых версиях платформы асинхронных функций и конструкций Асинх/Ждать. Многие, возможно, уже их используют. Но что будет, если создать свои асинхронные функции, запустить и не дожидаться окончания их выполнения? Неужели можно запустить несколько процессов параллельно?

1 стартмани

08.06.2021    5369    Alxby    45    

Как выполнить отчет на СКД через COM и получить данные отчета? Промо

Практика программирования v8 УПП1 Россия Абонемент ($m)

Для чего это нужно. Например, нужно в одной базе получить какой-либо показатель из другой базы. Этот показатель вычисляется в каком-либо сложном отчете, который написан на СКД. Можно, конечно, "скопипастить" текст запроса из другой базы, немного подправить его и выполнять в том же COM подключении. Но с этим теряется гибкость: если отчет изменился, то нужно помнить о том, что где-то есть его "немного модифицированная" копия. В статье будет рассмотрен пример получения данных из базы ЗУП.

2 стартмани

08.05.2018    31901    wowik    3    

Динамическая расшифровка СКД (на примере отчета)

Практика программирования v8 v8::СКД 1cv8.cf Абонемент ($m)

Предлагаю Вашему неподкупному вниманию вариант более-менее унифицированной реализации динамически формирующейся расшифровки СКД на примере простейшего отчета для конфигурации УТ 11.

1 стартмани

08.12.2020    1536    mr_sav    2    

СКД: все, что вы хотели знать о подмене схемы компоновки данных в отчетах и обработках

Практика программирования v8 v8::СКД 1cv8.cf Абонемент ($m)

Довольно часто на различных тематических форумах задается вопрос, можно ли использовать в отчете/обработке несколько схем компоновки данных, подменяя одну другой по мере надобности? При этом желательно, чтобы и пользовательские настройки при смене схемы менялись соответственно.

1 стартмани

07.12.2020    5049    user1502278    18    

Cбор и анализ ошибок при помощи Sentry, или как упростить жизнь себе и пользователям

Практика программирования Интеграция v8 Абонемент ($m)

Цель данной статьи - сделать процесс сбора и анализа ошибок, происходящих в базе, максимально простым, быстрым и удобным, собирать статистику по ошибкам, местам их возникновения и частоте их появления, а также в деталях разобрать все тонкости по интеграции 1С с Sentry.

1 стартмани

09.10.2020    7295    hexhoc    12    

Программное создание динамического списка на управляемой форме. (Динамическое создание динамического списка). Готовая процедура + обработка - демонстрационный пример Промо

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

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

1 стартмани

19.01.2018    69693    rpgshnik    31    

Программная корректировка при выводе отчета СКД

Практика программирования v8 v8::СКД 1cv8.cf Абонемент ($m)

Большинство отчетов на СКД, требующих программной корректировки, реализуются с помощью программной настройки СКД или обработки табличного документа уже после вывода отчета. Но во многих случаях более оптимально будет выполнять программную корректировку в процессе вывода отчета. Для этого существуют программные объекты, о которых я расскажу в данной статье.

1 стартмани

08.10.2020    10699    dabu-dabu    16    

Строка по шаблону с помощью СКД

Практика программирования v8::СКД 1cv8.cf Абонемент ($m)

Иногда необходимо получить строку по шаблону с различными условиями или с возможностью изменения формата вывода. Например, заполнение поля "Назначение платежа" в платежном поручении. Для формирования такой строки может быть использована система компоновки данных, что и демонстрирует данная статья.

1 стартмани

28.08.2020    902    Keyman    2    

Загрузка, скачивание, удаление файлов с помощью НачатьПомещениеФайлаНаСервер() и НачатьПолучениеФайлаССервера()

Практика программирования v8 1cv8.cf Абонемент ($m)

В платформе 8.3.15 появились новые методы НачатьПомещениеФайлаНаСервер() и НачатьПолучениеФайлаССервера(). В данной статье рассмотрено готовое решение проверенное и прекрасно работающее на тонком и веб-клиенте.

1 стартмани

25.07.2020    11529    Flashill    15    

Как нарисовать граф на 1С Промо

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

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

1 стартмани

09.08.2013    73463    ildarovich    117    

Настройка колонок для вывода в отчет

Практика программирования Работа с интерфейсом v8::СКД 1cv8.cf Украина Абонемент ($m)

Иногда возникает задача вывести в отчет по запросу не все колонки, а только определенные.

1 стартмани

12.07.2020    4030    user847462    2    

Запуск фонового задания во внешней обработке без регистрации в справочнике "Дополнительные отчеты и обработки"

Практика программирования v8::УФ ЗУП3.x Россия Абонемент ($m)

Описал, как показать прогресс выполнения длительной операции во внешней обработке, и при этом не регистрировать обработку в справочнике "ДополнительныеОтчетыИОбработки". Проверял на БСП версии "3.1.2.264".

1 стартмани

09.03.2020    7362    VinnieThePOOH    5    

Методика обновления формы объекта данных при изменении объекта

Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

В формах объектов данных часто встречаются элементы, косвенно связанные с объектом. Логику обновления этих элементов при изменении объекта обычно вызывают из обработчиков ПриСозданнииНаСервере и ПриОткрытии, забывая про наличие других способов изменения объекта. В статье предложена методика для обычных и управляемых форм, учитывающая все способы.

1 стартмани

09.03.2020    20072    tormozit    16    

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

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

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

1 стартмани

28.09.2016    41987    ildarovich    22    

Отправка уведомлений с помощью командной строки, Оповещения с сервера на клиент с помощью командной строки

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

Отправка уведомлений с помощью команды командной строки msg. Оповестить пользователей из серверного модуля или регламентного задания, с помощью командной строки msg.

1 стартмани

05.03.2020    8064    user5300    3    

СКД: штрихкоды в несколько колонок

Практика программирования v8::СКД ERP2 Россия Абонемент ($m)

СКД. Ресурсы в несколько колонок, на примере РС Штрихкоды номенклатуры.

1 стартмани

02.03.2020    2678    shetill    2    

Вывод сообщений в HTML поле средствами 1С

Практика программирования v8 v8::УФ Абонемент ($m)

Пример использования вывода большого количества сообщений в поле HTML. С возможностью открывать ссылочные объекты и создавать новые объекты передавая параметры прямо из HTML поля. Протестировано на релизах 8.3.12 и 8.3.15+

2 стартмани

31.01.2020    10581    burni4    16    

Бесплатная проверка контрагентов в ФНС (общий модуль с алгоритмом). На примере выводим статус в список справочника контрагентов Промо

Практика программирования v8 1cv8.cf Абонемент ($m)

Если вам интересно проверить контрагенте в ФНС, вам поможет данная публикация. Весь алгоритм работы строится на основе данных, полученных с сервиса http://npchk.nalog.ru совершенно бесплатно.

1 стартмани

01.02.2018    38269    rpgshnik    54    

Как в 1С создать паутинку "как на Инфостарте"

Практика программирования v8::УФ 1cv8.cf Россия Абонемент ($m)

Добрый день, уважаемы коллеги! В этой статье я расскажу, как в 1С создать отчет - "паутинку" на примере отчета по компетенциям сотрудника (разрабатывала на платформе 1С:Предприятие 8.3 (8.3.13.1865).

1 стартмани

15.01.2020    9772    user660153_aleks.pisanets    17    

Краткое руководство по внесению изменений в конфигурацию

Практика программирования v8 1cv8.cf Абонемент ($m)

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

1 стартмани

13.01.2020    22641    sapervodichka    41    

Универсальные функции: разложение произвольной строки адреса в структуру

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

Процедуры и функции раскладывают произвольную строку адрес в структуру по ключевым словам.

1 стартмани

30.12.2019    5893    vik070777    10    

БСП: Дополнительная обработка (Регламенты), примеры от простого к сложному Промо

Практика программирования БСП (Библиотека стандартных подсистем) v8 1cv8.cf Абонемент ($m)

Очень много попадается странных решений, которые можно решить через БСП:Дополнительные отчеты и обработки. Я бы вообще БСП из-за этой подсистемы переименовал в «Большое Спасибо Программистам». Поработаем с подсистемой в части написания регламентных заданий.

1 стартмани

10.05.2018    54002    dsdred    46    

"Живые" картинки со Snap.SVG

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

В статье рассмотрен пример использования http-сервисов для визуализации данных

1 стартмани

24.10.2019    15110    blackhole321    7    

RLS - дубли условий в запросах к СУБД

Практика программирования Роли и права v8 v8::Права 1cv8.cf Абонемент ($m)

"Подводные камни", возникающие при бездумном копировании ролей с ограничениями RLS, как это отражается на производительности, разбор примера и инструмент для анализа.

1 стартмани

07.10.2019    10030    geron4    4    

Полное копирование одной формы в другую

Практика программирования Универсальные обработки Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Однажды я столкнулся с необходимостью открыть форму ЛЮБОГО документа с определенными изменениями, не зависящими от структуры объекта (например, заблокировать все кнопки). В интернете решения я не нашел. Обычно на форумах на запросы подобного рода отвечают чем-то вроде "покажи первоначальную задачу, а не спрашивай как реализовать то, что ты придумал". Тем не менее, мне стало интересно, как это можно сделать.

1 стартмани

03.10.2019    7942    nekit_rdx    25    

Некоторая работа с данными через COM Промо

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

В статье приведены примеры работы с Платформой 8.X через COM (точнее, через объект COMConnector). Примеры кода были использованы при реализации прикладных задач в процессе трудовой деятельности.

2 стартмани

05.12.2012    59939    wowik    32    

Многопоточная обработка данных на примере перепроведения документов

Обработка документов Практика программирования v8 ERP2 УТ11 КА2 Абонемент ($m)

Дальнейшее развитие темы фоновой обработки данных - проведение документов в потоках. Настройка параметров и запуск основного процесса (менеджера потоков). Разбивка документов для проведения на не связанные друг с другом наборы и запуск дополнительных фоновых заданий для отдельных потоков. Отслеживание выполнения каждого потока в родительском сеансе.

1 стартмани

17.09.2019    12751    ids79    46    

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

Документооборот и делопроизводство Практика программирования v8 ДО УУ Абонемент ($m)

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

1 стартмани

15.09.2019    8758    pavelpribytkin96    8    

Описание формата внутреннего представления данных 1С в контексте обмена данными

Практика программирования Внешние источники данных v8 v8::УФ 1cv8.cf Абонемент ($m)

Фирма 1С не рекомендует использовать внутреннее представление данных для любых целей, которые отличны от обмена с 1С:Предприятием 7.7. Но сама возможность заглянуть на "внутреннюю кухню" платформы с помощью функций ЗначениеВСтрокуВнутр(), ЗначениеВФайл(), ЗначениеИзСтрокиВнутр() и ЗначениеИзФайла(), дала возможность сообществу программистов 1С разработать новые приемы разработки и анализа. Так, именно на использовании внутреннего представления был построен алгоритм "быстрого массива", который позволяет практически мгновенно создать массив в памяти на основании строки с разделителями. С помощью разбора внутреннего представления можно "на лету" программным кодом выполнить анализ обычной формы и даже сделать редактор графической схемы. Во внутреннем формате сохраняют свои данные между сеансами различные популярные внешние обработки. А еще это возможность сделать быстрый обмен с внешними системами.

1 стартмани

06.09.2019    21737    Dementor    31    

Работа со схемой запроса Промо

Инструментарий разработчика Практика программирования v8 v8::Запросы Абонемент ($m)

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

1 стартмани

24.04.2018    51931    kalyaka    41    

Удобный просмотр результата запроса с большим количеством временных таблиц

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

Если Вам часто приходится просматривать в отладчике сложные пакетные запросы с большим количеством временных таблиц, то эта статья для Вас.

1 стартмани

27.08.2019    12817    ids79    22    

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

Практика программирования v8 1cv8.cf Абонемент ($m)

Как запустить фоновое задание из модуля внешней обработки используя БСП. Как отключить безопасный режим и сообщения защиты от опасных действий независимо от профиля безопасности пользователя в фоновом задании во внешней обработке.

2 стартмани

24.08.2019    16965    BenGunn    22    

Изменяющееся контекстное меню в 1С 8.3

Практика программирования Работа с интерфейсом Разработка v8 v8::УФ Абонемент ($m)

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

1 стартмани

06.08.2019    22332    signum2009    16    

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов Промо

Практика программирования Математика и алгоритмы Универсальные функции Производительность и оптимизация (HighLoad) v8 1cv8.cf Россия Абонемент ($m)

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    51394    DarkAn    86    

Процедура ПриКомпоновкеРезультата

Практика программирования v8 1cv8.cf Абонемент ($m)

Коллекция кода

1 стартмани

26.07.2019    58487    vasilev2015    66    

10 способов получить модуль числа (а может, и больше)

Практика программирования Разработка v8 1cv8.cf Абонемент ($m)

Пишем функцию вычисления модуля числа. Сколько способов существует? Давайте посчитаем!

1 стартмани

11.07.2019    14313    sam441    33    

Ловец дедлоков СУБД

Производительность и оптимизация (HighLoad) Практика программирования ЦУП v8 Россия Абонемент ($m)

Анализ простейшего дедлока СУБД в рабочей базе с использованием ЦУП (центра управления производительностью) и profiler MS SQL (Microsoft SQL Server). Эта статья будет полезна людям, изучающим вопросы оптимизации работы 1С, или тем, у кого возникают дедлоки в рабочей базе. UPD 09.07.2019 добавлено воспроизведение блокировки в случае установки управляемой блокировки перед чтением набора записей регистра сведений. UPD 10.07.2019 добавлена тестовая база с примером.

1 стартмани

08.07.2019    12635    azazana    80    

Новый запрос и новая таблица значений как функции Промо

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

Предлагается две простые функции, использование которых уменьшает объем кода в конфигурациях на платформе «1С:Предприятие 8». Эти функции можно добавлять к своему общему модулю, что сделает процесс программирования более эффективным.

1 стартмани

27.11.2012    46413    ildarovich    49    

Многоуровневая нумерация в отчете СКД (программный вывод)

Практика программирования v8::СКД 1cv8.cf Абонемент ($m)

Реализация многоуровневой нумерации при программном выводе отчета СКД основываясь на его структуре.

1 стартмани

01.07.2019    7791    lmnlmn    7    

Мониторинг производительности и искусственный интеллект

Производительность и оптимизация (HighLoad) Практика программирования Искусственный интеллект (AI) v8 Абонемент ($m)

Расскажем и покажем практически, как использовать искусственный интеллект на страже мониторинга производительности. У вас появится возможность создать собственного помощника Ларису, которая возьмет на себя вопросы по контролю и диагностике состояния обслуживаемой системы.

1 стартмани

01.07.2019    10329    ivanov660    28    

"Убер на складе": динамический расчет маршрутов с учетом реальных расстояний

Учет ТМЦ Практика программирования Учет ТМЦ v8 УУ Абонемент ($m)

Представляю методику и инструмент для динамического расчета маршрутов отбора на высоконагруженных складах для максимального повышения эффективности склада, ускорения проходимости и, как следствие, экономии денег. Это методика и обработка для интеграции в WMS решения. Тестировалось на 1С 8.3.14.1565.

3 стартмани

24.06.2019    19517    informa1555    17    

Уровни, глубина, прародители, циклы и аналоги запросом Промо

Практика программирования v8 1cv8.cf Абонемент ($m)

В продолжение публикации «Транзитивное замыкание запросом» [http://infostart.ru/public/158512/] добавлены другие варианты использования того же приема. Приведены запросы для быстрого определения уровней всех элементов справочника, максимальной глубины справочника, прародителей произвольных элементов справочника, запрос для быстрого определения циклов (на примере справочника спецификаций «1С:Управление производственным предприятием») и определения множеств аналогов номенклатуры (также на примере конфигурации «1С:Управление производственным предприятием»).

1 стартмани

13.11.2012    120094    ildarovich    102    

1С:Ассемблер. Немного летнего веселья!

Практика программирования Разработка v8 1cv8.cf Абонемент ($m)

Все вы, наверное, слышали, что 1С-ники жалуются на свою систему, считая язык 1С недостаточно низкоуровневым, скучным и т.п. Все они с тоской поглядывают в сторону "настоящих" языков программирования. Так вот, господа, они неправы. В системе 1С есть места, где можно размять программерский мозг и получить удовольствие от низкоуровневой техники. Предлагаю вам погрузиться в недра виртуальной машины 1С и понять, как она работает. Там есть свой "ассемблер" и мы попробуем его в действии!

1 стартмани

21.06.2019    33966    Evil Beaver    145    

Простые примеры сложных отчетов на СКД

Практика программирования v8 v8::СКД 1cv8.cf Абонемент ($m)

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

1 стартмани

12.06.2019    36690    Hatson    32    

Картинки во внешней печатной форме (Шапка и табличная часть)

Печатные формы документов Практика программирования Разработка v8::ОУ v8::УФ УТ11 Россия Абонемент ($m)

Способы вывести на печать картинку в шапке и в табличной части внешней печатной формы. Управление торговлей, редакция 11 (11.4.7.150).

1 стартмани

27.05.2019    18061    Povinger    3    

Неоплаченные долги при распределении оплаты по правилу ФИФО одним запросом и намного быстрее, чем Вы думали Промо

Практика программирования Дебиторская и кредиторская задолженность Дебиторская и кредиторская задолженность v8 v8::СКД КА1 УТ10 УПП1 УУ Абонемент ($m)

Предлагается метод для быстрого нахождения неоплаченных долгов при распределении оплаты по правилу ФИФО, основанный на дихотомии. Описывается реализация метода в виде достаточно простого запроса, решающего за линейное время указанную задачу, считавшуюся ранее существенно более трудоемкой. Приводятся примеры использования запроса в отчетах на СКД для конфигураций УТ, КА, УПП.

1 стартмани

28.02.2014    70998    ildarovich    131    

Создание внешней печатной формы в формате документа Word

Практика программирования Разработка v8 1cv8.cf Абонемент ($m)

В статье написано, как создать внешнюю печатную форму (для конфигураций с БСП) в формате Word.

1 стартмани

17.05.2019    23974    ВикторП    22    

Поле адреса в своем справочнике на примере 1С:Бухгалтерия 3

Практика программирования Разработка v8 v8::БУ БП3.0 Россия Абонемент ($m)

В публикации описано, как добавить поле адреса в свой справочник, чтобы вводить адрес через адресный классификатор.

1 стартмани

17.05.2019    8344    vasilievil    5    

Табличная часть из дополнительных реквизитов с обработкой событий в расширении

Практика программирования Работа с интерфейсом Разработка v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

13.05.2019    13267    mvxyz    17    

Пример настройки шаблонов и реализации печати отчетов в документ MS Word используя функциональную часть "Библиотеки Стандартных Подсистем 1С" (БСП)

Практика программирования Разработка v8 Россия Абонемент ($m)

В конфигурации выбраны и использованы только необходимые объекты библиотеки стандартных подсистем для реализации вывода отчёта, с табличными частями, в документ MS Word. Показан пример создания необходимых областей в шаблоне для вывода параметров в отчёт.

1 стартмани

23.04.2019    8821    olegpkc    11