Как программно сохранить настройки списка значений с пометками в диалоге формы для следующего сеанса работы в системе 1С:Предприятие 7.7?

список значений с пометками

Доброго времени суток, уважаемые посетители! Тема сохранения настроек актуальна не только для версии 1С 7.7. На этом блоге даже была выложена обработка, которая наглядно показывала,
как сохранить настройки табличного поля для следующего сеанса работы пользователя
в версии 1С:Предприятие 8. Сегодня мы рассмотрим, как сохранить реквизита диалога СписокЗначений в версии 1C:Предприятие 7.7. Итак, приступим.

Чтобы сохранить настройку реквизита диалога СписокЗначений с пометками, мы будем использовать функции СохранитьЗначение и ВосстановитьЗначение. Эти функции будут использованы в предопределенных процедурах ПриОткрытии и ПриЗакрытии соответственно.

Для получения списка значений с пометками необходимо в свойствах списка, во вкладке «Дополнительно», отметить галочкой значение «Список с пометками».

Наша задача усложняется тем, что кроме значений из реквизита диалога типа СписокЗначений (назавём его СписокДокументов) ещё нужно сохранять пометки каждого элемента списка.

Реквизит диалога «СписокДокументов» выглядит так:


список значений с пометками

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

Читать/смотреть далее

Как добавить новые колонки с типами цен в стандартный отчёт «Материальная ведомость» 1С:Бухгалтерии 8?

Доброго времени суток, уважаемые посетители! На этом блоге уже описывалось пошаговое руководство, как в конфигурации 1С:Бухгалтерии 8 сформировать и реализовать комплект номенклатуры. Сегодня мы рассмотрим, как в этой же конфигурации добавить в стандартный отчет «Материальная ведомость» новые колонки с типами цен «Розничная» и «Оптовая». Итак, приступим.

Чтобы добавить новые колонки по типам цен в Материальную ведомость
нужно вытаскивать цены из регистра сведений «Цены номенклатуры», так
как этот регистр заполняется документом «Установка цен номенклатуры».
Мы будем использовать два типа цен «Розничная» и «Оптовая».

Поэтому необходимо использовать два вложенных запроса, который будут
вытаскивать нужные нам цены по типу цен. Мы будем вытаскивать данные из
Регистра сведений ЦеныНоменклатуры.СрезПоследних.

Откроем отчет «МатериальнаяВедомость» в конфигураторе и нажмем
кнопку «Открыть схему компоновки данных» , выберем «НаборДанных1», в
запросе после строк:

...
ИЗ
РегистрБухгалтерии.Типовой.ОстаткиИОбороты({(&НачалоПериода)},
{(&КонецПериода)}, , ,
Счет В (&СписокСчетов) {(Счет)}, &ВидыСубконто,
Организация В ИЕРАРХИИ (&СписокОрганизаций))
КАК ТиповойОстаткиИОбороты

добавим следующее:

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

Читать/смотреть далее

Передача параметров и файлов на Web-сервер, используя 1С:Предприятие 7.7

Приветствую Вас, уважаемый читатель нашего блога SoftMaker.kz! Здесь приведен и подробно объяснён код на встроенном языке 1С:Предприятие 7.7 по созданию HTTP запроса к Web-серверу методом POST. Используемую в примере внешнюю компоненту Base64 можно скачать здесь.

Здесь используется объект winhttprequest для создания запроса к серверу, помимо имеющегося в во внешней компоненте 1Сv7Plus объекта V7HTTPReader.

 
    //Используем объект winhttprequest для создания HTTP-запросов к серверу
    httpRequest = СоздатьОбъект("winhttp.winhttprequest.5.1");
    Boundary = "28405758029000";
    ФайлДанных = "data.txt"; 
    
    ПутьКФайлуДанных = КаталогПользователя() + ФайлДанных;
    // Используем внешнюю компоненту Base64.dll для преобразования строки
    СтрокаBase64 = Base64(ФайлДанных);// Интересно, 
    Если СтрокаBase64 = "" Тогда        //если размер строки больше 385 Кб 1С вылетает...    
        Сообщить("Файл " + ПутьКФайлуДанных + " не содержит ни одной строки!","!");
        Возврат;
    КонецЕсли;

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

    
    //Определяем раздел двоичных данных и указываем имя файла для передачи
    Text1 = "--" + Boundary + "
  //Соответствует HTML-тэгу <input type="file" name="data"> 
  //Поле filename указывает на раздел передачи файла
  |Content-Disposition: form-data; name=""data""; filename=""" + ФайлДанных + """
  |Content-Type: application/xml;" + РазделительСтрок + РазделительСтрок + "
  |" + СтрокаBase64 + РазделительСтрок + "
  //Определяем раздел для других POST-данных, 
    //например содержимого полей виртуальной HTML-формы.
  |--" + Boundary + "
  //Соответствует HTML-тэгу <input type="text" name="user" id="user">
  |Content-disposition: form-data; name=""user""" + РазделительСтрок + 
    РазделительСтрок + "
  |root" + РазделительСтрок + "
  |--" + Boundary + "
  //Соответствует HTML-тэгу <input type="text" name="pswd" id="pswd">
  |Content-disposition: form-data; name=""pswd""" + РазделительСтрок + 
    РазделительСтрок + "
  |Qy6j904j" + РазделительСтрок + "
  |--" + Boundary + "--"

Читать/смотреть далее

Внешняя компонента для преобразования файлов из/в кодировку Base64 из встроенного языка 1С Предприятие

Иконка внешней компоненты

Base64.dll

Внешняя компонента для преобразования файлов из/в кодировку Base64 из встроенного языка 1С Предприятие.

Методы объекта Addin.Base64:

EncodeBase64, ЗакодироватьBase64(FileName) — можно обращаться к методу в русском или английском варианте

Читает файл FileName.
Преобразует этот файл в закодированную base64 строку.

Параметры: FileName — имя файла
Возвращаемое значение: закодированная base64 строка.

DecodeBase64, РаскодироватьBase64(FileName) — можно обращаться к методу в русском или английском варианте

Читает файл FileName.
Преобразует этот файл в обычную строку.

Параметры: FileName — имя файла
Возвращаемое значение: обычная строка

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

Читать/смотреть далее

Механизм перетаскивания — Drag&Drop — в системе 1С:Предприятие 8.х

Фрагмент палитры свойств со свойствами РазрешитьНачалоПеретаскивания (enablestartdrag) и РазрешитьПеретаскивание - (enabledrag)

Доброго времени суток, уважаемые читатели блога SoftMaker.kz! В прошлый раз мы рассказали вам

о семи секретах популярности фирмы 1С
.
А в этой статье будет рассматриваться механизм перетаскивания (Drag&Drop)
на примере табличного поля документа (куда осуществляется перетаскивание) и табличного поля
обработки (откуда осуществляется перетаскивание). Для начала создадим документ и обработку с табличными полями.


Предоставление данных для перетаскивания из обработки

Создадим обработку «Обработка1» форму для неё во вкладке Формы. Откроем форму и добавим новый
элемент управления формы «ТабличноеПоле1». Для поддержки механизма перетаскивания существует два
свойствва элемента управления «ТабличноеПоле1»:

  • «РазрешитьНачалоПеретаскивания»(«EnableStartDrag») — Разрешает перетаскивание данных из элемента управления
  • «РазрешитьПеретаскивание» («EnableDrag») — Разрешает перетаскивание данных в элемент управления

Эти свойства устанавливаются в палитре свойств:

Фрагмент палитры свойств со свойствами РазрешитьНачалоПеретаскивания (enablestartdrag) и РазрешитьПеретаскивание - (enabledrag)

Элементу управления «ТабличноеПоле1» нужно
разрешить предоставлять данные для перетаскивания, поэтому мы установим
галочку для свойства «РазрешитьНачалоПеретаскивания» («EnableStartDrag»):

Палитра свойств со свойством РазрешитьНачалоПеретаскивания установленном в значение «Истина»

Cвойство
элемента управления «ТабличноеПоле1»
«РазрешитьНачалоПеретаскивания» («EnableStartDrag») мы
оставим без изменения, так как в табличное поле обработки мы добавлять
ничего не будем.
Теперь обратим внимание на последовательность событий при
перетаскивании. Когда в
режиме «1С:Предприятие», мы выделяем кнопкой мыши
нужную нам строку в
элементе управления «ТабличноеПоле1» и начинаем
перетаскивание, вызывается обработчик события
«НачалоПеретаскивания» («DragStart»), для нашего
элемента управления «ТабличноеПоле1» обработчик
события «ТабличноеПоле1НачалоПеретаскивания».

Процедура ТабличноеПоле1НачалоПеретаскивания(
Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)

 // Из данного табличного поля разрешено только копировать данные.
 ПараметрыПеретаскивания.ДопустимыеДействия =
 ДопустимыеДействияПеретаскивания.Копирование;
 
КонецПроцедуры

Параметры для обработчика события
«ТабличноеПоле1НачалоПеретаскивания»:

Элемент — имеет значение

ТабличноеПоле
и тип — ТабличноеПоле.

ПараметрыПеретаскивания — имеет следующие три свойства:

  • Действие
    (Action)
    – указывает действие перетаскивания
    (Копирование (Copy), Перемещение (Move), Выбор (Choice)
    или Отмена
    (Cancel)) и является значением типа ДействиеПеретаскивания
    (DragAction).
  • ДопустимыеДействия
    (AllowedActions)
    — указывает допустимые действия
    перетаскивания и является
    значением типа ДопустимыеДействияПеретаскивания
    (Копирование,
    Перемещение,
    КопированиеИПеремещение, HеОбрабатывать). При
    помощи этого
    свойства мы
    указали действие Копирование в обработчике события
    «ТабличноеПоле1НачалоПеретаскивания».
  • Значение — содержит
    ссылку на объект, в нашем случае на
    СправочникСсылка.Номенклатура с текущим значением Товар1.

СтандартнаяОбработка (StandardProcessing) — параметр, указывающий нужно
ли производить стандартную обработку перетаскивания.Для
события
«НачалоПеретаскивания» стандартная
обработка — это
начало перетаскивания данных.


Получение данных при их перетаскивании в поле табличного документа

Читать/смотреть далее

«Фирма 1С» – семь секретов популярности

Здравствуйте, уважаемые читатели блога SoftMaker.kz! В прошлый раз было показано

как производиться регистрация библиотек ОпенКонф в системе 1С:предприятие 7.7
.
Сегодня мы поговорим о самой фирме 1С. По каким причинам «Фирма 1С»
успешно развивается и процветает? Что этому способствует? Давайте рассмотрим
семь секретов популярности «Фирмы 1С».


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

весии 7.7
и

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

начиная от офисного применения заканчивая домашним использованием
.

Cеть франчайзи — вот второй секрет
популярности фирмы. Суть франчайзи подразумевает двухуровневую
структуру, в которой франчайзер является головной фирмой и обеспечивает
товарами, технологией и оказывает всяческое содействие в бизнесе,
помогая франчайзи. Последний обязуется исполнять предписание своего
«старшего партнёра». Как раз франчайзи и занимаются внедрением и
сопровождением программ системы «1С:Предприятие» в
России и странах СНГ. Кроме того, чтобы механизм франчайзинговой сети
заработал эффективно требовалась единая методика по внедрению продуктов
1С. Поэтому «Фирма 1С»
разработала Типовую Систему
Качества Франчайзи (ТСКФ), которая помогла добиться всем франчайзи
необходимого, качественного уровня обслуживания клиентов.
Ещё «Фирма
1С»

заверила своих партнеров в необходимости сертификации по международному
стандарту ISO 9001.
С помощью ТСКФ «Фирма 1С»
смогла улучшить
взаимодействие с сетью франчайзи, выявлять возможности того или иного
проекта, контролировать, прогнозировать и увеличить его успех. К тому
же это помогает головной фирме поддерживать на должном уровне
конкурентоспособность сети франчайзи, что в конечном счете отражается
на репутации самой «Фирмы 1С».
Кроме
всего перечисленного, «Фирма 1С»
снабжает своих
франчайзи различными методическими пособиями по автоматизации
бухгалтерского и налогового учета. Также организуются различные курсы и
семинары для партнёров фирмы. Кроме того специалисты фирм франчайзи
могут пройти различные тесты для получения сертификатов от
«Фирмы 1С».

Читать/смотреть далее

«ОпенКонф» — Регистрация библиотек одним скриптом

Доброго времени суток, уважаемые посетители! В предыдущей статье было описано, как в конфигурации 1С:Торговля 7.7 измененить цены в справочнике номенклатура. Сегодня мы рассмотрим, как для версии 1С 7.7 производиться регистрация библиотек ОпенКонф с помощью небольшого VBS скрипта. Итак, приступим.

До исполнения этого скрипта все указанные в нём
библиотеки «OpenConf» должны лежать в папке «Путь_к_BIN1С77configSYSTEM»

Set WshShell = CreateObject("WScript.Shell")
S="C:WindowsSystem32regsvr32.exe Путь_к_BINconfigSYSTEM"
WshShell.Run S + "Collections.wsc"
WScript.Sleep 3000
WshShell.Run S + "CommonServices.wsc"
WScript.Sleep 3000
WshShell.Run S + "SyntaxAnalysis.wsc"
WScript.Sleep 3000

WshShell.Run S + "Registry.wsc"
WScript.Sleep 3000

WshShell.Run S + "OpenConf.RegistryIniFile.wsc"
WScript.Sleep 3000
WshShell.Run S + "SelectValue.dll"

WScript.Sleep 3000
WshShell.Run S + "OpenConf.RegistryIniFile.wsc"

WScript.Sleep 3000
WshShell.Run S + "SelectDialog.dll"

WScript.Sleep 3000
WshShell.Run S + "svcsvc.dll"

Читать/смотреть далее