Полезности применения СКД

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

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

Нюансы при работе из СКД на программном уровне.

 

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

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

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

Для этого создаем реквизит "КомпоновщикНастроекПродаж" тип которого "КомпоновщикНастроекКомпоновкиДанных".

Помещаем на форму:

"КомпоновщикНастроекПродажНастройкиПараметрыДанных" путь к данным "КомпоновщикНастроекПродаж.Настройки.ПараметрыДанных" (пользователь сможет указать период документов).

"КомпоновщикНастроекПродажНастройкиОтбор" путь к данным "КомпоновщикНастроекПродаж.Настройки.Отбор" (пользователь сможет указать поля отбора).

Создаем макет с типом СКД имя которого "Продажи". Через конструктор запросов описываем запрос к документу "РеализацияТоваров". 

Мягкое наложение фильтра на период документов: 

{ГДЕ
(РеализацияТоваровУслуг.Дата >= &ДатаНач),
(РеализацияТоваровУслуг.Дата "<" "=" &ДатаКон)}

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

На закладке СКД (Параметры) для удобства периода, поля ДатаНач и ДатаКон делаем не доступными пользователю и добавляем новое поле Период с типом "СтандартныйПериод" и делаем его доступным для выбора пользователю в параметрах данных. Выражениями поля ДатаНач и ДатаКон прописываем (&Период.ДатаНачала) и (&Период.ДатаОкончания) для каждого соответственно свое.


ВАЖНО! Не называйте поля в условие на период документов "ДатаНачала" и "ДатаОкончания" это зарезервированые поля самой системой СКД и она это понимает совершенно по другому, для чистоты эксперимента можете перепроверить.


 

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

Работа над макетом СКД готова. 

Далее необходимо програмно подключить настройки компоновки к нашей схеме "Продажи".

 

МОДУЛЬ ФОРМЫ

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

УстановитьНачальныеНастройкиВыгрузки();

КонецПроцедуры

 

&НаСервере
Процедура УстановитьНачальныеНастройкиВыгрузки()

ЭтотОбъект = РеквизитФормыВЗначение("Объект");

СхемаКомпоновкиПродажи = ЭтотОбъект.ПолучитьСхемуПродажи();

//ПРОДАЖИ
АдресСхемыПродаж = ПоместитьВоВременноеХранилище(СхемаКомпоновкиПродажи, УникальныйИдентификатор);
КомпоновщикНастроекПродаж.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемыПродаж));
КомпоновщикНастроекПродаж.ЗагрузитьНастройки(СхемаКомпоновкиПродажи.НастройкиПоУмолчанию);

КонецПроцедуры

 

МОДУЛЬ ОБЪЕКТА

Функция ПолучитьСхемуПродажи() Экспорт
Возврат ПолучитьМакет("Продажи");
КонецФункции

При открытии обработки в предприятии настройки будут привязаны к нашей схеме "Продажи" и подтверждением этого станет доступность параметров данных периода и поля в Отборе.

 Далее, добавляем реквизит "РезультатПродажи" с типом данных "ТаблицаЗначений". А теперь очень важно в точной последовательности добавлять колонки ТЗ и с одинаковыми именами, а также с типизацией поля, что указана в схеме СКД в выбранных полях.


ВАЖНО. При не соблюдении этого правила, данные будут некорректно отображены или не выведены вовсе. Это правило только необходимо, если результат СКД необходимо поместить в ТЗ которую должен видеть пользователь. К табличному документу данное правило не имеет смысла.


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

Добавляем команду "ОтобразитьПродажи" и обработку данного действия.

МОДУЛЬ ФОРМЫ

&НаКлиенте
Процедура ОтобразитьПродажи(Команда)

ПрочитатьДанныеПоПродажам();

КонецПроцедуры

 

&НаСервере
Процедура ПрочитатьДанныеПоПродажам()

ЭтотОбъект = РеквизитФормыВЗначение("Объект");
СхемаКомпоновкиПродажи = ЭтотОбъект.ПолучитьСхемуПродажи();

КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
Макет = КомпоновщикМакета.Выполнить(СхемаКомпоновкиПродажи,КомпоновщикНастроекПродаж.ПолучитьНастройки(),,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
//важный параметр, так как будет воспроизведена ошибка. По умолчанию параметр для табличного документа.


ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(Макет);

ТЗРезультат = РеквизитФормыВЗначение("РезультатПродажи",Тип("ТаблицаЗначений"));
ТЗРезультат.Очистить();

ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ПроцессорВывода.ОтображатьПроцентВывода = Истина;
ПроцессорВывода.УстановитьОбъект(ТЗРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки,Истина);

ЗначениеВДанныеФормы(ТЗРезультат,РезультатПродажи);

КонецПроцедуры

 

Уже не буду писать саму выгрузку в файл так как это не имеет отношения к СКД.

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

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. SergDi 12.04.12 00:33 Сейчас в теме
Огромное спасибо, сэкономил время, как раз думал над подобным вопросом
2. AltF1 12.04.12 11:20 Сейчас в теме
3. vlengin 12.04.12 17:29 Сейчас в теме
Отлично. Большое спасибо за
  • Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"))
  • АдресСхемыПродаж = ПоместитьВоВременноеХранилище(СхемаКомпоновкиПродажи, УникальныйИдентификатор);

1. Но если выполнять все это в контексте отчета, а не обработки (а что мешает использовать отчет для обработки? ), то будет конечно же проще (не надо будет заморачиваться в ПриСозданииНаСервере)

Модуль Формы:

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


2. И не понял трудности с результирующей таблицей значений: у меня колонки идут в произовольном порядке, вывод результата в одной строке (ТЗФорма.Загрузить(ТЗ)).
4. vlengin 12.04.12 17:31 Сейчас в теме
ТабДок=Новый ТабличныйДокумент; - у меня лишняя строка, нужно удалить.
5. logarifm 1082 12.04.12 19:10 Сейчас в теме
Отчетом нет. сущность в том, что пользователь должен иметь возможность еще интерактивно на форме указывать флагами, что он хочет выгружать, а что нет. В этом весь смысл, что выгрузка в ТабличныйДокумент намного проще, а вот выгрзузка в ТаблицуЗначений есть сложность.
6. vlengin 13.04.12 09:24 Сейчас в теме
(5)
Я понял смысл, что пользователь должен интерактивно отмечать нужные строки, но ничего не мешает создать свою форму отчета с таблицей значений на ней и загружать в нее результат СКД , в этом случае все намного проще.
В моем коде (см. выше) как раз и идет выгрузка в таблицу значений в форме отчета .
7. logarifm 1082 13.04.12 10:17 Сейчас в теме
Здесь не одна схема компоновки, а в моем случае 5.
8. karakozov 13.04.12 10:30 Сейчас в теме
Отличная статья, тема СКД всегда актуально, сколько материалов бы не попадало на глазу, все время подчеркнешь для себя что нибудь новое.
9. USER--1C 57 14.04.12 21:35 Сейчас в теме
Спасибо. Все больше конфигураций на УФ. Универсальный отчет не спасает. СКД - удобно.
10. xzorkiix 32 16.04.12 09:30 Сейчас в теме
Есть вопрос про Управляемые Формы и СКД. Не удаётся корректно установить программно отчёту произвольную СКД (проблему описал здесь http://forum.infostart.ru/forum26/topic58720/ ) после программной установке, как я понимаю проблему, отчет на стороне клиента не видит новые наборы данных, следовательно нет доступных реквизитов (полей для выбора).
11. ms200999 16.04.12 17:24 Сейчас в теме
Спасибо, очень интересная статья.
12. H0SE 18.04.12 15:53 Сейчас в теме
Спасибо большое за такие стати по СКД
13. electronik 19.04.12 12:39 Сейчас в теме
Статья просто супер. Сколько не читай все одно есть что почерпнуть. Таких статей бы побольше. Автору заслуженое 5+++ Респект Так Держать
14. EarlyBird 6 20.04.12 08:07 Сейчас в теме
Полезная статья.
Почерпнул!
15. Gandalf Белый 20.04.12 10:04 Сейчас в теме
Большое спасибо! Очень позновательно написано! Взял себе на заметку! ))
16. Den_D 54 20.04.12 16:46 Сейчас в теме
И новичку и опытному грузовичку)))
17. Sairys 27.04.12 10:13 Сейчас в теме
Интересная статья. Вообще СКД выручает во многих задачах. И ещё замечено что СКД на управляемом приложении работаю быстрей, чем то же СКД которая работает на обычном приложении.
И ещё есть вопрос "Мягкое задание параметров" таких как в данной статье по периоду, работает только в СКД или его можно использовать и в обычных запросах ?
18. Den_D 54 29.08.12 12:58 Сейчас в теме
Спасибо большое за науку. Вообще очень удобно все отчеты делать с полем "Период". Не зря 1С делают ставку на СКД инструмент мощный и очень полезный, хотя и не всегда логично-понятный.
19. Поручик 4433 15.01.13 00:01 Сейчас в теме
Один из примеров программной генерации и использования СКД http://infostart.ru/public/122215/
20. Yimaida 35 23.05.13 22:38 Сейчас в теме
Была одна задача, которая была отодвинута в долгий ящик. Там нужно было по сложным отборам (динамическим) заполнять табличную часть документа. Я тоже думал использовать СКД из-за одной очень важной функции, которую я видел только в СКД. Это возможность объединять условия в группы. Т.е. не простое "И", как в том же универсальном отчете, а сложные группы "И", "ИЛИ", "НЕ". Автору большое спасибо. Как только моя задача станет актуальной, буду за образец брать эту статью.
21. VasilevaHelen 134 07.10.13 16:33 Сейчас в теме
Спасибо, очень познавательно.
22. Odinas 11.10.13 15:45 Сейчас в теме
изучаю Скд по книге Хрусталевой, такие статьи отличное дополнение, спасибо!
23. dock 41 23.12.13 19:49 Сейчас в теме
Требуем продолжение банкета! автору вынести благодарность!
24. bayce 40 03.02.14 21:48 Сейчас в теме
25. Bukaska 133 04.02.14 10:49 Сейчас в теме
Спсасибо! Очень интересно читать статьи подобного уровня)
26. Pervuy 33 05.03.14 19:59 Сейчас в теме
Спасибо, очень познавательно)
27. sldz 20.03.14 00:33 Сейчас в теме
Сейчас только изучаю СКД довольно интересная статья
28. poyson 08.05.14 10:53 Сейчас в теме
29. igo-osetro 22.05.14 10:08 Сейчас в теме
Спасибо Автору! Интересная, познавательная статья.
30. zqzq 21 11.06.14 11:57 Сейчас в теме
А теперь очень важно в точной последовательности добавлять колонки ТЗ и с одинаковыми именами, а также с типизацией поля, что указана в схеме СКД в выбранных полях.
Можно результат СКД вывести в новую пустую ТЗ, далее
ЭтаФорма.РезультатПродажи.Загрузить(ТЗ);
если верить справке
Загружает данные коллекции из таблицы значений.
Все элементы коллекции будут удалены.
В коллекцию будут добавлены строки из таблицы значений и заполнены значениями в совпадающих по идентификаторам колонках.
т.е. порядок колонок не важен, также может не совпадать количество колонок.

Кстати, для программного вывода СКД в ТЗ удобно пользоваться процедурой ПолучитьДанныеНаОснованииСКД из http://infostart.ru/public/80164/ т.к. всё равно нереально все эти классы СКД запомнить.
31. MrAzat 18.06.14 11:07 Сейчас в теме
Спасибо, то, что надо было
32. konstruktiv 23.09.14 06:40 Сейчас в теме
"ВАЖНО! Не называйте поля в условие на период документов "ДатаНачала" и "ДатаОкончания" это зарезервированые поля самой системой СКД и она это понимает совершенно по другому, для чистоты эксперимента можете перепроверить." - а про это можно поподробнее??
35. the1 610 30.07.15 10:35 Сейчас в теме
(32) konstruktiv, по-моему, это ошибочное мнение. На моей практике СКД использует параметры
Период, НачалоПериода и КонецПериода
, и, кстати, ничего мне не мешает использовать их самому.
36. oldfornit 08.09.15 09:07 Сейчас в теме
(35) the1, а ДатаНачала и ДатаОкончания - это вроде бы методы интервала
33. eaa 20.03.15 10:26 Сейчас в теме
+ 100 помогло, спасибо. На первый взгляд делал все тоже самое, но таблица значений была пуста... Неужели проблема была в том, что СКД получал через Обработки.Обработка.ПолучитьМакет("Макет") ??
34. LexSeIch 208 21.05.15 11:00 Сейчас в теме
Мир этому дому!
Спасибо за интересную статью!
37. konstruktiv 08.09.15 10:22 Сейчас в теме
38. ZMGMSC 68 30.10.15 17:48 Сейчас в теме
Вот пример работы с табличным полем документа
http://infostart.ru/public/293252/
используется СКД также есть примеры программной работы с СКД.
http://infostart.ru/public/288319/
39. logarifm 1082 14.11.15 00:57 Сейчас в теме
Ребята очень рекомендую обратить время даты статьи и то что вы пользуетесь сейчас новыми возможностями и обновленными версиями не значит, что такое можно было сделать на момент статьи. Спасибо. Ей уже три года, естествено, что определенные ограничения уже давно могут быть исправлены 1С.
40. ZMGMSC 68 02.06.16 11:40 Сейчас в теме
Вопрос на применение скд:
Есть регистр сведений (сетка расписания) измерения Кабинет, День недели, Час.
надо вывести в отчет так, чтобы заполненные часы во всех колонках (дни недели)
собрались вверху по порядку, т.е. по максимум заполняли пустые места в верхних строчках.
соотв свое место освобождали
полностью пустые строки не выводились.
бьюсь второй день. Говорят такое возможно....
в коде это выгладит так:
Пока ВыборкаДень.Следующий() Цикл
ВыборкаЧас = ВыборкаДень.Выбрать();
Пока ВыборкаЧас.Следующий() Цикл
МассСтрок = ТЗЧас.НайтиСтроки(Новый Структура("кабинет, " + ВыборкаЧас.День, ВыборкаЧас.кабинет, 0); // ЧАС ЧИСЛО ОТ 9 ДО 18
Если МассСтрок.Количество() Тогда
СтрТЧ = МассСтрок[0];
Иначе
СтрТЧ = ТЗЧас.Добавить();
СтрТЧ.кабинет= ВыборкаЧас.кабинет;
КонецЕсли;
СтрТЧ[Строка(ВыборкаЧас.День)] = ВыборкаЧас.Час;
КонецЦикла;

Т.Е. ищем не заполненные значения по колонкам если находим то записываем туда свое значение
иначе добавляем строку.
суть задачи сделать это в скд.
41. Новичок1с 24.11.16 14:28 Сейчас в теме
Благодарю за статью, всё хорошо расписано. Хотелось бы видеть сам пример обработки(отчёта), т.к. не совсем получается :(
Оставьте свое сообщение

См. также

Использование программных перечислений, ч.1: строковые константы Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?

10.12.2016    37553    unichkin    74    

Вычислить РАЗНОСТЬДАТ в рабочих днях

Практика программирования БСП (Библиотека стандартных подсистем) v8::Запросы v8::СКД ERP2 БП3.0 УТ11 ЗУП3.x Бесплатно (free)

Вычисление количества рабочих днях между двумя датами в запросе.

20.10.2020    283    antonivan    4    

Процедура генерации отдельных элементов формы для даты и времени

Работа с интерфейсом v8::УФ 1cv8.cf Бесплатно (free)

Развиваю тему статьи "Раздельный вывод частей даты на форму без программирования" - на этот раз реализовал процедуру для общего модуля, которая из элемента формы реквизита с типом "Дата" генерирует отдельный элемент для времени и выполняет все шаги, указанные в исходной публикации

03.10.2020    490    drmaxart    0    

Рендеринг элементов управляемого интерфейса

Работа с интерфейсом v8 v8::УФ Россия Бесплатно (free)

Реализация отображения всего состояния формы проще, чем работа по изменениям. Однако использование идеи разделения алгоритмов на программные слои MVC и построения реактивных систем позволяет получить не только простые и масштабируемые решения, но и производительные интерфейсы. Рассмотрим примеры таких реализаций на основе использования фреймворка «Управление состоянием»: Информационная надпись, Заголовок формы, Свертываемая группа, Отключаемые панели.

22.09.2020    2520    kalyaka    5    

Вспомогательные инструкции в коде 1С Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

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

15.10.2018    30528    tormozit    100    

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

Работа с интерфейсом v8::УФ Бесплатно (free)

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

14.08.2020    2458    DrZombi    14    

Использование флажков в динамических списках

Практика программирования Работа с интерфейсом v8::УФ Бесплатно (free)

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

04.08.2020    3054    nekit_rdx    23    

Использование ПоказатьВопрос() в событии НачалоВыбора()

Практика программирования v8 v8::УФ Бесплатно (free)

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

20.07.2020    1414    biimmap    2    

Оформление и рефакторинг сложных логических выражений Промо

Практика программирования v8 Россия Бесплатно (free)

В сложных логических выражениях нередко самому автору спустя какое-то время тяжело разобраться, не говоря уже о других программистах. Предлагаемая методика позволяет повысить наглядность таких выражений путем оформления в виде И-ИЛИ дерева и одновременно выполнять их рефакторинг.

20.09.2012    78189    tormozit    131    

Открытие управляемой формы 1С 8.3 с измененным несохраненным объектом

Практика программирования v8::УФ 1cv8.cf Бесплатно (free)

Как загрузить в управляемую форму программно изменённый несохранённый документ (или элемент справочника).

13.07.2020    3060    plainer    11    

Вывод дерева в табличный документ СКД

Практика программирования Универсальные функции v8 v8::СКД Бесплатно (free)

Вывод содержимого элемента формы "ДанныеФормыДерево" в табличный документ средствами СКД.

09.07.2020    2603    Yashazz    4    

Обработка нажатия клавиши

Работа с интерфейсом v8::УФ Бесплатно (free)

Один из способов обработки события нажатия клавиши.

10.06.2020    2571    RotaninV    7    

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

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

11.07.2007    48660    tormozit    41    

Роль "Остатки" поля набора данных СКД в отчете и в расшифровке

Практика программирования v8::СКД 1cv8.cf Бесплатно (free)

В СКД создан набор данных "Запрос". Запрос выполняется к виртуальной таблице "Остатки и обороты", периодичность регистра "Авто", выбираются все измерения и ресурсы регистра, а так же выбирается Регистратор и ПериодСекунда. Для полей содержащих остатки устанавливается роль "Остатки". Для полей "Регистратор" и "ПериодСекунда" устанавливается роль "Период". Для поля "Регистратор" устанавливается выражение упорядочивания.

24.05.2020    3112    kasper076    16    

Макет оформления в отчете с несколькими СКД

Практика программирования v8::СКД Россия Бесплатно (free)

Как заставить работать макет оформления в отчёте с несколькими СКД.

14.05.2020    2448    vendim    1    

Серверные вызовы, которые нельзя вызывать

Практика программирования v8 v8::УФ 1cv8.cf Бесплатно (free)

Не баян, а классика. Рассмотрим особенность платформы настолько же древнюю, как сами УФ.

12.05.2020    6321    SeiOkami    31    

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

10.09.2017    45005    tormozit    74    

Форма выбора (подбор) в управляемых формах

Практика программирования v8 v8::УФ 1cv8.cf Россия Бесплатно (free)

Разбор небольших примеров того, как правильно открывать форму выбора (подбора) в управляемых формах, не прибегая к модальным окнам.

08.05.2020    21599    user5300    16    

Как ограничить поля отбора в динамическом списке и ничего не сломать

Практика программирования v8::УФ 1cv8.cf Бесплатно (free)

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

06.05.2020    4987    SeiOkami    3    

СКД. Использование Менеджера временных таблиц в системе компоновки

Практика программирования v8 v8::Запросы v8::СКД 1cv8.cf Бесплатно (free)

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

29.04.2020    6069    the1    28    

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

Практика программирования Разработка v8 Бесплатно (free)

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

25.04.2019    16116    m-rv    2    

Ограничения полей, или как обмануть СКД?

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

Каждое из ограничений полей можно обойти. Рассмотрим варианты обхода и способы обезопасить свой отчет.

15.04.2020    7300    SeiOkami    38    

Работа с запросами в 1С СКД. Отладка СКД

Практика программирования v8::Запросы v8::СКД Россия Бесплатно (free)

В предыдущем разделе мы изучали с вами особенности работы с запросами в СКД. Для изучения (отладки) работы различных схем компоновки данных я использовал консоль компоновки данных.

15.04.2020    3442    ProfessionStore    3    

Работа с запросами в 1С СКД. Особенности работы запросов в СКД. Часть 3

Практика программирования v8::Запросы v8::СКД Россия Бесплатно (free)

Почему при отборе по контрагенту наш отчет работает неправильно. Посмотрим на примере другого отчета, в котором нам нужно выбрать данные из расходных накладных и связанные с номенклатурой данные по ВСЕМ заявкам.

13.04.2020    5638    ProfessionStore    4    

Как прикрутить ГУИД к регистру сведений Промо

Практика программирования Перенос данных из 1C8 в 1C8 Разработка v8 Бесплатно (free)

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

16.04.2019    20363    m-rv    17    

СКД: Прозрачная обработка результата

Практика программирования v8::СКД 1cv8.cf Бесплатно (free)

В статье дан ответ на вопрос о том, как "прозрачно" обработать результат компоновки (да хотя бы картинки вставить после того, как отчет сформирован).

13.04.2020    3973    starik-2005    16    

Работа с запросами в 1С СКД. Особенности работы запросов в СКД. Часть 2

Практика программирования v8::Запросы v8::СКД Россия Бесплатно (free)

Все примеры разобраны с помощью консолей компоновки данных, речь о которых пойдет в предпоследнем разделе статьи.

12.04.2020    4507    ProfessionStore    11    

Работа с запросами в 1С СКД. Особенности работы запросов в СКД. Часть 1

Практика программирования v8::Запросы v8::СКД 1cv8.cf Россия Бесплатно (free)

Все примеры разобраны с помощью консолей компоновки данных, речь о которых пойдет в предпоследнем разделе статьи.

11.04.2020    5749    ProfessionStore    8    

Как сделать запрос на изменение данных Промо

Практика программирования v8 v8::Запросы 1cv8.cf Бесплатно (free)

В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.

01.06.2018    30843    m-rv    21    

Работа с запросами в 1С СКД. Язык выражений СКД и подмена запросов

Практика программирования v8::Запросы v8::СКД Россия Бесплатно (free)

Хотя эта статья называется «Работа с запросами в 1С СКД», нельзя не упомянуть про язык выражений СКД. Да – у системы компоновки данных есть свой язык! Это не язык платформы 1С, это не язык запросов. Это еще один язык, который используется 1С в СКД для обработки полученного набора (ов) данных.

11.04.2020    5969    ProfessionStore    24    

Работа с запросами в 1С СКД. Примеры использования расширения языка запросов СКД

Практика программирования v8::Запросы v8::СКД Россия Бесплатно (free)

Все тонкости использования расширения языка запросов 1С для СКД вы можете изучить по ссылкам, которые приведены в предыдущей статье. Здесь мы рассмотрим конкретные кейсы применения данного расширения.

10.04.2020    5983    ProfessionStore    4    

Запросы 1С СКД. Возможности и ограничения

Практика программирования v8::Запросы v8::СКД Россия Бесплатно (free)

В этом цикле статей мы рассмотрим особенности работы системы компоновки данных с запросами в 1С.

10.04.2020    7226    ProfessionStore    14    

Метод формирования движений в типовых регистрах нетиповыми регистраторами Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

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

05.12.2017    28340    itriot11    34    

Вложенные СКД

Практика программирования Конфигурирование 1С v8 v8::СКД Бесплатно (free)

Возможности, нюансы, заметки.

26.03.2020    5862    Yashazz    19    

5 шагов по изменению резервирования товаров в УТ 11.4

Оптовая торговля Практика программирования v8::ОУ v8::УФ УТ11 Россия УУ Бесплатно (free)

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

19.03.2020    4603    Igorro82IT    16    

СКД - одна из проблем связи Наборов данных

Практика программирования v8::СКД 1cv8.cf Россия Бесплатно (free)

Официальная информация: 1. В схеме компоновки данных нет указания типа связи. Все связи считаются ЛЕВЫМИ внешними соединениями. 2. Если для вложенного набора данных указано условие фильтра, тогда связь вложенного набора данных с родительским набором данных считается ВНУТРЕННЕЙ. Или как получить все результаты основного набора при отборе в зависимом.

03.03.2020    5126    BelikovSA    9    

Использование классов .Net в 1С для новичков Промо

Практика программирования Разработка внешних компонент Универсальные функции v7.7 v8 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    76658    Serginio    108    

Получение значений всех полей в иерархии структуры отчета

Практика программирования Математика и алгоритмы v8::СКД Россия Бесплатно (free)

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

28.02.2020    2172    real_MaxA    1    

Для чего нужен флаг "Автозаполнение" в СКД и каких проблем без него можно избежать

Практика программирования v8 v8::СКД Бесплатно (free)

Речь пойдет о флаге «Автозаполнение» в наборе данных Запрос Системы компоновки данных (СКД). Сразу хочу отметить, что флаг «Автозаполнение» доступен только в наборе данных - Запрос.

26.02.2020    6553    Neti    41    

Об обновлениях

Практика программирования v8 v8::УФ Бесплатно (free)

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

12.02.2020    2633    ipoloskov    27    

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С Промо

Математика и алгоритмы Практика программирования v8 v8::blocking 1cv8.cf Бесплатно (free)

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    35109    ids79    40    

Детектор завершения согласования для 1С: Документооборот КОРП

Практика программирования Документооборот и делопроизводство v8::УФ ДО УУ Бесплатно (free)

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

04.02.2020    3017    shiaju    3    

Программная работа с настройками СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

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

27.01.2020    27827    ids79    26    

Как вывести итоговый вес и объем на форму документа Заказ клиента. УТ 11.4

Практика программирования v8::УФ УТ11 Россия УУ Бесплатно (free)

Всем привет, долго ломал голову, но с помощью тыка и подсказок более опытных программистов, вот что мне удалось достичь и как это я сделал. Открываем конфигуратор - заходим в Документы-Заказ-Клиенту-Формы-ФормаДокумента, все будем делать только здесь, снизу формы две вкладки, в общем сама форма и модуль (как открыть, смотри рисунок - открыть форму).

16.01.2020    4176    VID1234    6    

Подбор в управляемой форме - что может быть проще? Промо

Работа с интерфейсом v8::УФ 1cv8.cf Бесплатно (free)

Технологии модальности сейчас меняются на технологии асинхронности, многопоточности и прочие дивные вещи, что, в свою очередь, заставляет людей еще чаще спрашивать о том, что да как в этой новой нелегкой жизни. Разбираемся!

19.09.2017    42232    starik-2005    64    

[СКД] Программное создание схемы компоновки данных

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

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

15.01.2020    24556    John_d    22    

СКД. Шаг 3. Используем макеты для оформления отчета

Работа с интерфейсом v8 v8::СКД 1cv8.cf Бесплатно (free)

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

13.01.2020    15317    aximo    14    

Как работают управляемые формы и тонкий клиент 1С – взгляд "из-под капота"

Практика программирования Инструментарий разработчика v8::УФ Бесплатно (free)

Переход на управляемые формы перевернул процесс разработки на 1С, заставив программистов менять привычные подходы к описанию логики работы интерфейса. Руководитель компании «Цифровой Кот» Юрий Лазаренко в своем докладе на конференции Infostart Event 2019 Inception рассказал о том, как устроены управляемые формы и как правильно работать с тонким клиентом платформы 1С:Предприятие.

23.12.2019    12810    TitanLuchs    23    

Как просто запомнить алгоритм программного вывода в СКД Промо

Практика программирования v8 v8::СКД Бесплатно (free)

Порой нужно быстро вывести на экран таблицу значений, используя СКД \ получить данные отчета в таблицу значений.. Несмотря на очевидность алгоритма - раньше мне проще было загуглить программный вывод, благо эта инфа есть везде. Но постепенно понял как его можно быстро вспомнить, и лишний раз ничего не искать. Конечно эта статья не для Гуру :) Но я думаю - что любой неопытный в СКД программист сделает для себя небольшое открытие...

01.09.2017    49342    unichkin    15    

[СКД] Вывод картинки в результат любого отчета на СКД

Работа с интерфейсом v8 v8::СКД 1cv8.cf Бесплатно (free)

Если у вас в справочнике Номенклатура (или другом справочнике) заполнена картинка, то ее можно легко вывести для наглядности отчета.

09.12.2019    9133    John_d    16    

СКД. Лайфхак №2. Собираем отчет еще удобнее

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

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

20.11.2019    10140    aximo    17    

Некоторые редко используемые возможности СКД

Практика программирования v8 v8::СКД 1cv8.cf Бесплатно (free)

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

11.11.2019    11527    kser87    40    

Лайфхак работы с СКД. Собираем отчет.

Практика программирования v8::СКД 1cv8.cf Бесплатно (free)

В этой статье я опишу небольшой "лайфхак" по сборке отчетов в СКД. Думаю, этот подход будет интересен тем, кто хочет быстро оформить отчет.

25.10.2019    20976    aximo    37