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

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

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

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

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

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

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

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

 

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

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

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

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

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

    КонецЕсли;

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

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

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

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

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

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

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

            КонецЕсли;

        КонецЦикла;

    КонецЕсли;

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

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

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

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

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

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

    Иначе

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

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

    КонецЕсли;

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

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

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

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

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

 

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

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

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

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


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


Про запросы:

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

Нюансы

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

 

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

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

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

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

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

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

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

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

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

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

ВЫБОР

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

             ТОГДА 0

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

КОНЕЦ

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

 

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

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

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

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

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

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

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

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

Удачи!

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если ссылок на варианты решения поднятых в моей теме задач??? то да, я претендую на оригинальность. Докажите обратное и я - опубликую в теме. Или только: "я знаю, что где то это видел, но не знаю где..."?
67. Ish_2 1052 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 1797 16.11.11 19:25 Сейчас в теме
(67) Каюсь, специально оставил Вам эту возможность и не написал в посте 66 о том что пункт на вывод ресурсов не претендует на оригинальность, а создан для "быстрой помощи" (о чем, кстати, сообщается в первых строках этого пункта) и создан на коленке. Хотелось так сказать получить больше информации. За ссылку на разработку IronDemon спасибо и на Вашу статью, я добавлю их как ссылки по теме в этот пункт при первой возможности, но первая не совсем отвечает на поставленную задачу и мне бы пришлось объяснять людям как эту статью применить для создания отчета такой формы. Вашу статью ее не видел, каюсь и ИМХО она не совсем наглядна + ко всему это всего лишь пункт в моей статье.

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

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

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


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

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

Уже есть такой сайт
6. KapasMordorov 428 26.10.11 10:11 Сейчас в теме
Небольшое замечание.
Ну почему многие пишут "компановка"?
Причем в одной строке с оригиналом?
ПроцессорКомпановки = Новый ПроцессорКомпоновкиДанных
корум; +1 Ответить
7. fishca 1183 26.10.11 10:17 Сейчас в теме
(6) А почему пишут мАлоко :) ?
Ладно еще можно понять когда создают переменную ПроцессорКомпановки...
9. WiseSnake 1797 26.10.11 10:24 Сейчас в теме
(6) От слова компактный )))) шучу, ну от безграмотности конечно же ;)
11. anton.fly7 149 26.10.11 10:27 Сейчас в теме
я через компоновку заполняю табличку с отборами на форме например
http://infostart.ru/public/91297/
19. y22-k 231 26.10.11 12:52 Сейчас в теме
Да, считать процент по групировке это по челябински, стандартные поля не пробовал ссмотреть там есть много интересного
20. WiseSnake 1797 26.10.11 13:55 Сейчас в теме
(19) И что там интересного? Как делают в культурной столице России?
27. marat_n 111 27.10.11 18:01 Сейчас в теме
(20) Мне тоже сразу режет глаз в статье. Задача с выводом процента, конечно актуальна и проста для понимания, но проблема в том, что просто, развернув "плюсиком" нужный ресурс в настройке, можно увидеть различные варианты процента этого ресурса.
28. WiseSnake 1797 27.10.11 18:43 Сейчас в теме
(27) Поясните. Может быть я чего то не знаю. Как вы реализуете ту же задачу с помощью плюсика на ресурсе?
52. y22-k 231 01.11.11 13:32 Сейчас в теме
(28)
Плюсик нажми на ресурсе слева снизу на закладке Выбранные поля на закладке Настройка и куча вопросов отпадет )
53. WiseSnake 1797 01.11.11 14:11 Сейчас в теме
(52)Задачу прочитайте внимательно, а потом выделяйте свой текст и улыбайтесь.
89. lsp71 28.02.12 16:43 Сейчас в теме
(19) y22-k, Описанным в статье методом можно считать не только банальный процент, но и, например, оборачиваемость дебиторской задолженности в днях. Там формула чуть посложнее, но проблема та же: в некоторых случаях приходится отлавливать деление на 0. И это уже не вычисляется стандартными полями СКД.
90. WiseSnake 1797 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 2751 26.10.11 20:27 Сейчас в теме
(23) воооот. сначала прочитал книгу, а потом начал читать дополнительно. Книга - это основа. А в данной статье пока НИЧЕГО, чего нет у Хрусталевой - нет.
93. i132 114 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 2751 27.10.11 22:06 Сейчас в теме
(26) не то сравнение... Жигуль и Мерседес - это универсальный отчет и СКД. А вот дворники от мерседеса и сам мерседес - это данная статья и книга по СКД. Дворники конечно замечательные и красивые, но без машины они нафиг не нужны.
32. WiseSnake 1797 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 1797 28.10.11 12:59 Сейчас в теме
(42) Давайте я сам буду решать где и чего мне проверять. Вы можете не читать статью если Вас что то не устраивает. А советы куда мне идти, от человека с рейтингом 0 на этом сайте я в принципе не рассматриваю.
Покажите мне где в Хрусталевой есть то что я опубликовал.
Примеры жизненные и если Вы их не понимаете, то вы мало писали в СКД и знаете о нем только теоретически.
44. netserfer 89 28.10.11 14:53 Сейчас в теме
Хрусталёва это конечно хорошо, но как говорится на инет-сленге "многа букаф", а статьи подобные этой могут прояснить некоторые вещи, ответ на которые нужен быстро, прямо здесь и сейчас. Ну а в остальном как говорится кесареву кесарево, слесарю слесарево
45. opiumdx 28.10.11 14:57 Сейчас в теме
46. Новиков 291 29.10.11 22:13 Сейчас в теме
Спасибо за статью. Очень годится как готовый рецепт. Надеюсь Вы ее будете обновлять и поддерживать!
47. Alexey55 31.10.11 09:36 Сейчас в теме
48. rubelev 31.10.11 18:33 Сейчас в теме
А что можно толкового из скд для 1С вытащить?
49. anig99 2751 31.10.11 20:52 Сейчас в теме
(48) А что можно толкового из АКП для автомобиля вытащить?
50. WiseSnake 1797 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:) 1012 04.11.11 09:26 Сейчас в теме
(0) Хорошая статья. Можно использовать, как готовые рецепты.
Только хотелось бы, что бы публикация развивалась и поддерживалась.
Надеюсь, что своё слово: "Статья будет дополняться...", ты сдержишь.
58. WiseSnake 1797 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 1797 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 1797 30.11.11 10:32 Сейчас в теме
(78) Тут надо подумать. Демо-база какая нибудь, на которой попробовать можно есть?
81. marku 61 30.11.11 20:46 Сейчас в теме
WiseSnake пишет:

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

нет возможности предоставить
80. kalyaka 621 30.11.11 15:47 Сейчас в теме
Хотелось бы узнать, как получить отчет в таком виде, как представил автор на рисунке под заголовком
"Как выводить ресурсы (или как вывести начальные и конечные остатки и данные по произвольным периодам)". А именно меня интересует, можно ли в СКД выводить объединенные заголовки как на рисунке заголовок "Продажи"?
82. F1_1 08.12.11 08:41 Сейчас в теме
Согласен с автором поста про необходимость иметь шпаргалку по СКД
83. Laertid 94 17.01.12 17:29 Сейчас в теме
Замечание по примеру с процентом: зачем и что Вы писали в поле оформление для вычисляемого поля, если в итогах Вам приходится домножать на 100? Лучше в Формате использовать сдвиг на 2 знака. Чем лучше? Тем, что при выделении и копировании куда-нибо (в Excel, скажем) результата вы получите результат в виде доли. Число 1, а не 100 для 100%. Как правило в том же Excel перевод в проценты производят средствами экселя. И могут получить 10000%, что неправильно.
84. WiseSnake 1797 17.01.12 23:33 Сейчас в теме
(83) Не вижу в этом особого смысла. Это уже мелочи, каждый может форматировать как ему удобно. Я давно не пользуюсь екселем... у меня есть 1С.
85. echo77 1175 26.01.12 21:59 Сейчас в теме
У вас, кажется опечатка в примере:
Порядок следования формальных параметров не такой, как в примере вызова процедуры ПолучитьДанныеНаОснованииСКД
86. WiseSnake 1797 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 16 28.05.12 07:44 Сейчас в теме
Спасибо! Узнал много полезного
96. Модератор раздела artbear 09.06.12 16:23 Сейчас в теме
1. Вызов кода неверен :(
ПолучитьДанныеНаОснованииСКД(СхемаКомпоновкиДанных, СхемаКомпоновкиДанных.НастройкиПоУмолчанию, ДеревоЗначений, СтруктураПараметров);
нужно поменять местами параметры
ПолучитьДанныеНаОснованииСКД(СхемаКомпоновкиДанных, ДеревоЗначений, СхемаКомпоновкиДанных.НастройкиПоУмолчанию, СтруктураПараметров);
97. Модератор раздела artbear 09.06.12 18:30 Сейчас в теме
(0) +(96)
Забыл сказать - функция очень удобная.
Плюсую.
98. webester 33 29.01.13 03:04 Сейчас в теме
Картинки умерли все в статье. Можно обновить?
99. Buggy001 20.03.13 12:12 Сейчас в теме
Кстати да, картинки не отображаются, а без них последняя часть статьи не имеет смысла.
Оставьте свое сообщение

См. также

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

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

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

1 стартмани

25.03.2019    35324    tormozit    54    

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

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

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

1 стартмани

09.10.2020    2377    hexhoc    12    

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

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

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

1 стартмани

08.10.2020    2658    dabu-dabu    8    

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

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

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

1 стартмани

28.08.2020    489    Keyman    2    

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

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

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

2 стартмани

08.05.2018    27115    wowik    3    

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

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

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

1 стартмани

12.07.2020    1791    user847462    2    

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

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

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

1 стартмани

09.03.2020    4080    VinnieThePOOH    5    

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

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

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

1 стартмани

09.03.2020    8280    tormozit    13    

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

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

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

1 стартмани

19.01.2018    58267    rpgshnik    31    

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

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

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

1 стартмани

05.03.2020    5759    user5300    3    

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

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

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

1 стартмани

02.03.2020    2067    shetill    0    

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

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

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

2 стартмани

31.01.2020    5864    burni4    16    

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

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

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

1 стартмани

09.08.2013    70535    ildarovich    117    

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

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

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

1 стартмани

15.01.2020    9092    user660153_aleks.pisanets    17    

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

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

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

1 стартмани

13.01.2020    17265    sapervodichka    41    

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

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

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

1 стартмани

24.10.2019    13575    blackhole321    7    

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

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

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

1 стартмани

28.09.2016    39522    ildarovich    22    

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

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

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

1 стартмани

07.10.2019    8475    geron4    4    

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

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

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

07.10.2019    30322    HostHost    40    

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

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

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

1 стартмани

03.10.2019    5121    nekit_rdx    23    

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

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

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

1 стартмани

01.02.2018    35131    rpgshnik    49    

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

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

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

1 стартмани

17.09.2019    9240    ids79    46    

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

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

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

1 стартмани

06.09.2019    19482    Dementor    30    

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

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

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

1 стартмани

27.08.2019    10895    ids79    21    

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

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

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

1 стартмани

10.05.2018    44985    dsdred    36    

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

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

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

2 стартмани

24.08.2019    10921    BenGunn    22    

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

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

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

1 стартмани

06.08.2019    15886    signum2009    16    

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

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

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

1 стартмани

26.07.2019    38999    vasilev2015    64    

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

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

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

2 стартмани

05.12.2012    57570    wowik    32    

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

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

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

1 стартмани

11.07.2019    8401    sam441    29    

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

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

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

1 стартмани

08.07.2019    11151    azazana    79    

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

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

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

1 стартмани

01.07.2019    7080    lmnlmn    7    

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

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

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

1 стартмани

24.04.2018    44247    kalyaka    35    

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

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

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

1 стартмани

01.07.2019    9294    ivanov660    28    

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

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

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

3 стартмани

24.06.2019    15830    informa1555    17    

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

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

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

1 стартмани

21.06.2019    29240    Evil Beaver    128    

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

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

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

26.05.2017    49140    DarkAn    86    

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

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

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

1 стартмани

12.06.2019    29942    Hatson    31    

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

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

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

1 стартмани

17.05.2019    13805    ВикторП    21    

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

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

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

1 стартмани

23.04.2019    6309    olegpkc    11    

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

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

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

1 стартмани

27.11.2012    45281    ildarovich    46    

Ops средствами 1С:Предприятие

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

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

1 стартмани

23.04.2019    17414    blackhole321    28    

1C + Python + Django Rest Framework + Vue.js. Опыт несложной full-stack разработки

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

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

1 стартмани

22.04.2019    33272    riposte    65    

Вывод вариантов СКД в таблицы на управляемой форме

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

Задача стояла такая: есть 2 различных запроса, результаты которых выгружаются на форму обработки в таблицы значений (далее ТЗ) и программно "соприкасаются" между собой определенным образом (как именно- в рамках данной статьи неважно). Нюанс в том, что запросы должны иметь свой компоновщик настроек и могут интерактивно на форме изменяться пользователем. На оригинальность публикации не претендую - изначально в рамках поставленной задачи пытался найти что-то подобное (уже готовый шаблон) на инфостарте, возможно "плохо искал" ;)

05.04.2019    11252    artkor    1    

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

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

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

1 стартмани

13.11.2012    112125    ildarovich    98    

Пример использования СКД и данных расшифровки на мобильной платформе

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

СКД в мобильном приложении и меню действий на основе данных расшифровки (отчет, совместимый с мобильной платформой 8.3.13.45).

1 стартмани

12.03.2019    5549    majoram    0    

Программное создание реквизита управляемой формы с помощью механизма расширений

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

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

1 стартмани

12.03.2019    36407    ni_cola    31    

Баг или фича? Неожиданное поведение платформы

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

Рассмотрим несколько случаев неожиданного поведения платформы 1С, а также что с этим можно cделать.

18.02.2019    23023    YPermitin    89    

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

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

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

1 стартмани

28.02.2014    68365    ildarovich    125    

Сквозной рейтинг по иерархии в отчете на СКД

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

Сквозная нумерация (рейтинг) по группам и элементам справочника в отчете СКД согласно убыванию количества/суммы и т.д.

1 стартмани

07.02.2019    5686    MaxxiMiliSan    2    

Альтернатива внешним печатным формам. ЗУП 3.1

Печатные формы документов Универсальные функции Зарплата Практика программирования Зарплата Разработка v8 v8::СПР ЗУП3.x Абонемент ($m)

Как в ЗУП 3.1.8 отказаться от внешних печатных форм и расширением увеличить количество полей, доступных при редактировании макетов, для изменения печатных форм Т1, Т5, Т8 и аналогичные пользователями.

1 стартмани

30.01.2019    14504    Mogilnikova    3    

HTML в новой версии 8.3.14 на примере 3-х JavaScript библиотек: AmCharts, HighCharts, DHTMLX

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

Тестируем возможности HTML в новой версии 8.3.14 платформы на примере 3-х JavaScript библиотек: AmCharts, HighCharts, DHTMLX.

1 стартмани

29.01.2019    28584    Synoecium    46