суббота, 21 декабря 2013 г.

Сохранение/восстановление отборов СКД в регистр "Сохраненные настройки"

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

понедельник, 16 декабря 2013 г.

Выгрузка результата СКД в таблицу значений

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

пятница, 6 декабря 2013 г.

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

При попытке подключения к удаленному рабочему столу появилась следующая ошибка:
"Удаленный сеанс отключен, поскольку для данного компьютера отсутствуют клиентские лицензии удаленного рабочего стола. Обратитесь к администратору сервера."
Чтобы исправить ошибку подключения, нужно всего-навсего удалить ветку реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing

Запрос для расчет количества дней товара на складе (только рабочие дни)

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

ВЫБРАТЬ
   
ОстаткиПериоды.Номенклатура,
   
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Календарь.ДатаКалендаря) КАК ДатаКалендаря
ИЗ
   
РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК Календарь
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           
ТоварыНаСкладахНач.Номенклатура КАК Номенклатура,
           
ТоварыНаСкладахНач.Период КАК ПериодНач,
           
МИНИМУМ(ТоварыНаСкладахКон.Период) КАК ПериодКон
        ИЗ
           
РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, День, ДвиженияИГраницыПериода, ) КАК ТоварыНаСкладахНач
                ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, День, ДвиженияИГраницыПериода, ) КАК ТоварыНаСкладахКон
                ПО ТоварыНаСкладахНач.Номенклатура = ТоварыНаСкладахКон.Номенклатура
                    И (ТоварыНаСкладахНач.КоличествоНачальныйОстаток = 0
                       
ИЛИ ТоварыНаСкладахНач.Период = НАЧАЛОПЕРИОДА(&ДатаНач, ДЕНЬ))
                   
И (ТоварыНаСкладахКон.КоличествоКонечныйОстаток = 0
                       
ИЛИ ТоварыНаСкладахКон.Период = НАЧАЛОПЕРИОДА(&ДатаКон, ДЕНЬ))
                   
И ТоварыНаСкладахНач.Период <= ТоварыНаСкладахКон.Период

        СГРУППИРОВАТЬ ПО
           
ТоварыНаСкладахНач.Номенклатура,
           
ТоварыНаСкладахНач.Период) КАК ОстаткиПериоды
        ПО (Календарь.ДатаКалендаря МЕЖДУ &ДатаНач И &ДатаКон)
           
И (Календарь.ДатаКалендаря МЕЖДУ ОстаткиПериоды.ПериодНач И ОстаткиПериоды.ПериодКон)
           
И (Календарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий)
               
ИЛИ Календарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный))

СГРУППИРОВАТЬ ПО
   
ОстаткиПериоды.Номенклатура

понедельник, 2 декабря 2013 г.

Работа с переключателем в 1С 8

Работу с переключателем рассмотрим на следующем примере:
1) Создадим внешнюю обработку - в  ней добавим пустую форму - выберем пункт меню "Форма" - "Вставить элемент управления..."

воскресенье, 1 декабря 2013 г.

Включение отладки на стороне сервера 1С 8.3

Если вы собираетесь выполнять отладку в конфигураторе, а база, с который вы работаете клиент-серверная, то для начала нужно убедиться, что для службы "Агент сервера 1С:Предприятия 8.3" установлен соответствующий флаг разрешения.
Для включения отладки на стороне сервера нужно:
1) Запустить редактор реестра: нажать Win+R - команда regedit
2) Открыть раздел:
 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\1C:Enterprise 8.3 Server Agent

пятница, 29 ноября 2013 г.

Изменение отображения внешнего вида форм в 1С:Предприятие 8.3 (управляемое приложение)

Для переключения отображения внешнего вида форм в управляемом приложении нужно воспользоваться пунктом главного меню "Сервис" - "Параметры".

Настройка стандартного обмена между УТ 3 и Бухгалтерия 1.2

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

среда, 27 ноября 2013 г.

Настройка автоматического обмена в УТ 3 для файлового режима работы

В файловом режиме работы базы данных в конфигурации Управление торговлей, ред. 3.0 для автоматического запуска обмена необходимо: 
1) Настроить расписание автоматического обмена данными и сохранить настройку узла обмена данными.


суббота, 16 ноября 2013 г.

Урок 1. Общие сведения о 1С:Консолидация

"1С:Консолидация 8" – прикладное решение, предназначенное для автоматизации широкого спектра задач, связанных с планированием деятельности и контролем эффективности компаний различного масштаба, а также подготовкой консолидированной отчетности различного назначения.
ПОЗВОЛЯЕТ:
  • Усилить финансовый контроль.
  • Обеспечить прозрачность бизнес-единиц.
  • Оперативно получать достоверную отчетность различного назначения.
  • Снизить затраты на подготовку корпоративной отчетности.
  • Адекватно оценить риски и планировать деятельность.
  • Рационально нормировать ресурсы и лимитировать расходы.
  • Быстро включать новые бизнес-единицы в бюджетный процесс.
ВОЗМОЖНОСТИ:
  • Многомерная отчетность и мониторинг состояния бизнеса.
  • Прогнозирование и моделирование деятельности.
  • Регламентация и управление процессом бюджетирования.
  • Централизованное казначейство.
  • План-фактный, "Что если?", факторный анализы.
  • Финансовый анализ по учетным данным.
  • Консолидированная отчетность по МСФО и РСБУ.
  • Гибкая интеграция с различными системами управления и учета.
  • Расшифровка до учетного документа "1С".

суббота, 24 августа 2013 г.

Стандартная функция для получения ответственных лиц в УНФ

Для получения ответственных лиц организации (директора, бухгалтера и пр.) можно воспользоваться стандартной функцией, которая есть в УНФ. Расположена она в общем модуле УправлениеНебольшойФирмойСервер:
// Функция возвращает информацию об ответственных лицах организации и их
// должностях.
//
// Параметры:
//  Организация - Составной тип: СправочникСсылка.Организации,
//                 СправочникСсылка.Кассы, СправочникСсылка.МестаХранения,
//                 организационная единица, для которой необходимо получить
//                 информацию об ответственных лицах
//  ДатаСреза    - Дата - дата, на которую считываются данные.
//
// Возвращаемое значение:
//  Структура    - Структура с совокупностью данных о физических лицах
//                 структурной единицы.
//
Функция ОтветственныеЛицаОрганизационнойЕдиницы(ОрганизационнаяЕдиница, ДатаСреза) Экспорт

   
Результат = Новый Структура("ФИОРуководителя, РуководительДолжность, ФИОГлавногоБухгалтера, ФИОКассира, ФИОКладовщика, КладовщикДолжность");

    Если
ОрганизационнаяЕдиница <> Неопределено Тогда

       
Запрос = Новый Запрос;
       
Запрос.УстановитьПараметр("ДатаСреза", ДатаСреза);
       
Запрос.УстановитьПараметр("ОрганизационнаяЕдиница", ОрганизационнаяЕдиница);

пятница, 23 августа 2013 г.

Групповое проведение документов в 1С

Групповое проведение позволяет провести (перепровести) документы в 1С за один раз. Для того, чтобы это сделать нужно воспользоваться обработкой Проведение документов... в меню Операции.

четверг, 22 августа 2013 г.

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

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

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

   
СтандартнаяОбработка = Ложь;
   
КомпоновщикМакет = Новый КомпоновщикМакетаКомпоновкиДанных;
   
Макет = КомпоновщикМакет.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки(), ДанныеРасшифровки);
   
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
   
ПроцессорКомпоновки.Инициализировать(Макет, , ДанныеРасшифровки);
   
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
   
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
   
//ДокументРезультат.ПоказатьУровеньГруппировокСтрок(2); //Уровень 3
    //ДокументРезультат.ПоказатьУровеньГруппировокСтрок(1); //Уровень 2
   
ДокументРезультат.ПоказатьУровеньГруппировокСтрок(0);   //Уровень 1

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

Убрать горизонтальные (вертикальные) итоги в отчете на СКД

Убрать горизонтальные (вертикальные) итоги в СКД очень просто. Для этого нужно перейти на закладку Настройки - внизу закладка Другие настройки - Расположение общих итогов по горизонтали (Расположение общих итогов по вертикали) - установить значение параметра в Нет.

Метод Скопировать() для быстрого создания элемента справочника на основе существующего

Если возникла необходимость создать элемент на основе существующего, то можно воспользоваться методом Скопировать(). Вот что о нем сказано в синтаксис-помощнике:
СправочникСсылка.<Имя справочника> (CatalogRef.<Имя справочника>)
Скопировать (Copy)
Синтаксис:
Скопировать()
Возвращаемое значение:
Тип: СправочникОбъект.
Описание:
Создает новый элемент справочника копированием существующего.

Создание простейшего отчета на СКД

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

1) Создадим внешний отчет - Информация о закупках.
2) Нажмем кнопку Открыть схему компоновки данных и создадим новую схему СКД.