суббота, 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