Проверка по XSD-схеме в XMLPad

Откройте XML-файл, который требуется проверить в XMLPad File > Open.

Перейдите в меню XML > Assign Schema/DTD.

Выберите W3C Schema и нажмите Browse, затем выберите XSD-схему для проверки.

После того, как XSD-схема ассоциирована, нажмите F7 или XML > Validate

Оладка на сервере 1С

В ветке реестре HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\1C:Enterprise 8.3 Server Agent(x86-64)

В параметре ImagePath добавить -debug

«C:\Program Files\1cv8\8.3.9.2033\bin\ragent.exe» -srvc -agent -regport 1541 -port 1540 -range 1560:1591 –debug -d «C:\Program Files\1cv8\srvinfo»

Перезапустить службу 1C:Enterprise 8.3 Server Agent(x86-64).

MDaemon настройка адресной книги в Outlook

MDaemon настройка адресной книги в Outlook

В Active Directory в свойствах каждого пользователя необходимо прописать его e-mail адрес.

  1. В Outlook создаем адресную книгу с подключением к LDAP-серверу.
  2. В настройках прописываем локальный IP-адрес контроллера домена, который является глобальным каталогом.
  3. Для авторизации указываем учетную запись пользователя на контроллере домена.
  4. Переходим в дополнительные настройки, на вкладке поиск ставим флажок  «Включить просмотр (требуется серверная поддержка)».
  5. Перезапускаем Outlook

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

При попытке использовать Windows 7 Professional как файловый сервер комп по сети становится недоступным, в событиях появляется о?ибка: «Сервер не смог выделить память из не выгружаемого пула памяти, так как достигнут указанный в конфигурации верхний предел»

Лечение:

В редакторе реестра переходим по адресу

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management в параметре LargeSystemCache устанавливаем значение 1.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters в параметре Size устанавливаем значение 3.

Дать право пользователю запускать сервис.

Что бы дать права пользователю, луч?е всего воспользоваться утилитой SubInACL. Утилита входит в пакет Windows Resource Kits.

Запускаем cmd, переходим (команда cd) в каталог "C:\Program Files\Windows Resource Kits\Tools\"

Далее, в командной строке пи?ем subinacl.exe /service НАЗВАН?Е_СЛУЖБЫ /grant=ДОМЕН\ПОЛЬЗОВАТЕЛЬ=PTO

Выполняем команду.

 

Срисок ключей:

W : Generic Write
X : Generic eXecute
L : Read controL
Q : Query Service Configuration
S : Query Service Status
E : Enumerate Dependent Services
C : Service Change Configuration
T : Start Service
O : Stop Service
P : Pause/Continue Service
I : Interrogate Service
U : Service User-Defined Control Commands

Командный интерфейс. Проблема.

Командный интерфейс. Проблема.

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

Ре?ение. Нужно было включить галочку использовать стандартные команды.

222

Вот и всё.

333

ПУТЕВОЙ Л?СТ. ПОДГОТОВКА

ПУТЕВОЙ Л?СТ. ПОДГОТОВКА
Приступим к созданию основного документа на?ей конфигурации – путевому листу.
Прежде создадим еще один справочник. Он будет называться КарточкиЗаправки.
Чтобы держать хоть под каким-то контролем качество топлива мы принудим водителей заправляться только на
брендовых заправках одного крупного производителя. Один из путей ре?ения – выдать карточки заправки, по
которым можно заправляться только на определенных заправках. Номера этих карт мы и будем хранить в справочнике КарточкиЗаправки.
?так, создаем простой справочник. Заносить номера карт поручим бухгалтерии,
т.е. этот справочник включим в подсистему бухгалтерия (pic 9.1)

8gl7g9001
Перейдем в 1С и заполним это справочник. (pic 9.2)

8gl7g9002
Создадим еще один объект конфигурации Перечисление Продолжительность смены.
У нас водители будут работать фиксированное время 4, 8 или 12 часов, в зависимости от загруженности мар?рута. (pic 9.3)

8gl7g9003
Все. Теперь создаем документ Путевой лист.
В дереве конфигурации находим ветвь документы, через контекстное меню нажимаем добавить.
В поле имя пи?ем ПутевойЛист, в поле представление списка пи?ем Путевые листы, на вкладке
Подсистемы включаем документ в подсистему Диспетчерская .
? сразу изменим командный интерфейс. Для этого раскрываем ветку общие, на ветке
Подсистемы через контекстное меню выбираем Все подсистемы, щелкаем на диспетчерская и ставим флажок напротив
Путевые листы и Путевой лист: создать. (pic 9.4)

8gl7g9004
Возвращаемся в документ и добавляем реквизиты

        

  • Автомобиль – тип СправочникСсылка.Автомобили, проверка заполнения- выдавать о?ибку
  •     

  • ДеньНочь – тип булево, синоним Смена. Этот реквизит понадобиться в дальней?ем, когда
    нужно будет рассчитать зарплату, т.к. за ночные рейсы оплата вы?е, чем за дневные. Значение заполнения Ложь,
    т.е. по умолчанию смену будем считать ночной.
  •    

  • Водитель – тип СправочникСсылка.Сотрудники проверка заполнения- выдавать о?ибку
  •     

  • Топливо –тип ПеречислениеСсылка.Топливо проверка заполнения- выдавать о?ибку 
  •   

  •  КонечныйОдометр – тип Число 10.0  
  •     

  • РасходТоплива – тип Число 10.2 
  •     

  • ПродолжительностьСмены - ПеречислениеСсылка.ПродолжительностьСмены

Перейдем на закладку Формы и создадим форму документа.
Зайдем в конструктор форм и добавим два реквизита формы тип Число 10.0 – НачальныйОдометр и Пробег. (pic 9.5)

8gl7g9005
Перенесем эти реквизиты формы влево в элементы форм  и снимем флажок доступность у обоих.
Теперь наведем неболь?ой дизайн на форму. Создадим 3 обычных группы с группировкой горизонтальная.
Первую группу назовем ДатаНомер и перенесем в нее элементы формы Номер и Дата, расположим эту группу в самом верху.
Под ней расположим элементы Автомобиль и Водитель, не будем их включать ни в какие группы
Вторую группу назовем Смены, включим в нее элементы ДеньНочь – и заодно напи?ем синоним этого реквизита Дневная смена,
ПродолжительностьСмены, Топливо
Третья группа будет называться Километраж и в нее войдут: НачальныйОдометр, Пробег,
КонечныйОдометр и РасходТоплива.
Этой группе укажем заголовок Километраж и отображение Рамка группы, и первых двух групп отображение установим в нет.(pic 9.6)

8gl7g9006
Если все сделаете правильно, то должно получиться похожее на это pic 9.7

8gl7g9007
Теперь, когда мы разобрались с ?апкой, введем табличную форму Стажеры.
Табличной частью мы будем пользоваться в виду того, что стажеров в принципе может быть одновременно несколько,
заранее никогда нельзя угадать сколько именно.
На закладке данные внизу через контекстное меню добавляем табличную форму Стажеры и в неё реквизит Стажер
тип СправочникСсылка.Сотрудники.
Еще нам понадобится табличная часть где будет фиксироваться все заправки, сделанные в течении рейса.
Добавляем табличную часть ЗаправкаТоплива и в неё реквизиты

  • КарточкаЗаправки тип СправочникСсылка.КарточкиЗаправки
  • Заправка тип Число 10.3
  • ЦенаЗаправки тип Число 10.2
  • СтоимостьЗаправки тип Число 10.2

(pic 9.8)

8gl7g9008
? последнее, для отображения на?их табличных частей сделаем на форме закладки.
Для этого в конструкторе формы добавляем группу Страницы, в нее группу Страница ,
назовем ее Заправка и перенесем в нее табличную часть ЗаправкаТоплива.
Добавим в группу Страницы еще одну группу Страница, назавем её ?нформацияОСтажерах и добавим в неё табличную часть Стажеры.(pic 9.9)

8gl7g9009
Перейдем в 1С. В подсистеме Диспетчерская нажмем создать Путевой лист.
У вас должно получиться приблизительно как на (pic 9.10)

8gl7g9010
В следующем уроке будем наполнять документ смыслом.

ПОНЯТ?Е О ЗАПРОСЕ

ПОНЯТ?Е О ЗАПРОСЕ - 1c-esse

Каждый автомобиль однозначно идентифицируется VIN кодом, используем это для того,
чтобы случайно не завести один и тот же автомобиль дважды.
Добавим в справочник Автомобили новый реквизит VIN тип Строка 20 (pic 8.1)

8gl7g8001
Создадим форму элемента и форму списка. (если вы не знаете как это сделать смотрите предыдущие главы)
Установим свойство Проверка заполнения в Выдавать о?ибку(pic 8.2)

8gl7g8002
Зайдем в окно редактирование формы элемента, вызовем свойство формы и сформируем заготовку процедуры ПередЗаписьюНаСервере (pic 8.3)

8gl7g8003
В этой процедуре мы будем проверять VIN на уникальность.
Внутри заготовки процедуры нажимаем правую кнопку мы?и, выбираем пункт Конструктор запроса с обработкой результата (pic 8.4)

8gl7g8004
Согла?аемся с предложением системы (pic 8.5)

8gl7g8005
В открыв?емся конструкторе запроса выбираем Обход результата. (pic 8.6)

8gl7g8006
Заходим на вкладку Таблицы и поля и там выбираем таблицу Автомобили (pic 8.7)

8gl7g8007
?з таблицы Автомобили выбираем поле VIN (pic 8.8)

8gl7g8008
Переходим на вкладку Условия, перетаскиваем мы?кой вправо поля Ссылка, затем VIN, в выражении Автомобили.Ссылка =Ссылка, выбираем <> (pic 8.9)

8gl7g8009
Конструктор сформировал нам запрос с обходом результатов. (pic 8.10)

8gl7g8010
Сам запрос довольно простой.
Мы выбираем все VIN коды, которые равны некому введенному VIN коду в текущем элементе справочника.
Чтобы запрос не затрагивал текущий элемент справочника мы поставили условие Автомобили.Ссылка <>&Ссылка.
Такой значок в запросе & означает, что в момент выполнения в запрос будут подставлены вне?ние данные,
которые мы передадим через конструкцию Запрос.УстановитьПараметр.
Поправим слегка текст запроса. Во-первых, доступ к реквизитам формы элемента возможен только через элемент Объект,
поэтому вместо VIN напи?ем Объект.VIN, вместо Ссылка – Объект.Ссылка.
Во-вторых, нам нет нужды обходить результаты запроса.
Если в запросе будет хотя бы одно значение – это о?ибка, VIN существует и записать автомобиль с таким VIN нельзя.
Что бы проверить есть ли в запросе результаты мы используем метод Пустой()
В результате на? запрос будет выглядеть так: (pic 8.11)

8gl7g8011
Если VIN существует, мы сообщим об этом пользователю и не станем записывать элемент.
Кроме VIN неплохо бы еще знать государственный регистрационный номер автомобиля.
С учетом того, что рег. Номер может меняться за время эксплуатации автомобиля, поэтому определим его  переодическим.
Перодические значения мы храним в переодическом регистре сведений.
Создадим новый регистр сведений с именем РегистрационныйНомер, перодический в пределах дня.(pic 8.12)

8gl7g8012
Добавим измерение Автомобиль тип СправочникСсылка.Автомобили и ресурс ГосНомер с типом строка длиной 10 символов. (pic 8.13)

8gl7g8013
Вернемся в окно редактирования формы элемента и добавим два реквизита ГосНомер тип строка длиной 10 символов и ДатаГосномера тип Дата (pic 8.14)

8gl7g8014
В левом окне добавим группу- Страницы, группу -Страница, группу –Обычная группа со свойством выравнивание по горизонтали (pic 8.15)

8gl7g8015
Перетащим мы?кой влево в группу 3 реквизиты ГосНомер и ДатаГосНомера (pic 8.16)

8gl7g8016
Теперь нам нужно создать механизм чтения и записи регистра сведений РегистрационныйНомер.
В самом начале мы создали общий модуль под названием ЧтениеРегистраСведений.
Напи?ем в нем процедуру и функцию для работы с регистром сведений РегистрационныйНомер.
Процедура записи в регистр сведений РегистрационныйНомер будет аналогична процедуре ЗаписатьЗначениеДолжности (pic 8.17)

8gl7g8017
А вот функцию чтения из регистра сведений РегистрационныйНомер  мы напи?ем с использованием запроса.
Создадим пустую функцию
<strong> Функция ПрочитатьЗначениеГосНомера(Авто,Дт)    Экспорт   </strong>
<strong> КонецФункции </strong>
Установим курсор внутри функции и через контекстное меню вызовем Конструктор запроса с обработкой результата.
На вкладке Таблицы и поля выберем таблицу РегистрационныйНомер и из нее поле ГосНомер (pic 8.18 )

8gl7g8018
На вкладке Условия выберем РегистрационныйНомер.Период<=период и РегистрационныйНомер.Автомобиль.Ссылка=Ссылка (pic 8.19)

8gl7g8019
Нажмите ОК.  После
<strong>Пока ВыборкаДетальныеЗаписи.Следующий() Цикл</strong>
Добавте
<strong>Возврат ВыборкаДетальныеЗаписи.ГосНомер;</strong>
У вас должно получиться так: (pic 8.20)

8gl7g8020
В этом запросе мы выбираем из регистра сведений РегистрационныйНомер государственный номер автомобиля на определенную дату.
Кстати, если бы нам понадобилось выбрать номер на текущую дату можно было использовать таблицу РегистрационныйНомер.СрезПоследних и не морочиться с датой. (pic 8.21)

8gl7g8021
Заходим в конструктор формы элемента, в контекстном меню выбираем свойство формы и в
создаем заготовки для событий <strong>ПриОткрытии</strong> и <strong>ПриЗаписиНаСервере<strong/>.
Заполняем эти процедуры по аналогии со справочником Сотрудники (pic 8.22)

8gl7g8022
Еще одну процедуру нам нужно сделать при изменении актуальной даты.
В реквизите формы ДатаГосНомера заходим в контекстное меню и создаем заготовку события ОбработкаВыбора (pic 8.23)

8gl7g8023
В модуле заполняем процедуру ДатаГосНомераОбработкаВыбора по аналогии со справочником Сотрудники. (pic 8.24)

8gl7g8024
Заходим в 1С (F5).
Зайдем в подсистему Механик, откроем справочник Автомобили и в нем CITROEN JUMPER, попробуем записать этот элемент.
Система должна выдать о?ибку о пустом VIN, если конечно, вы установили свойство в конфигураторе для реквизита VIN-выдавать о?ибку. (pic 8.25)

8gl7g8025
Введем VIN 1234567890 (pic 8.26)

8gl7g8026
Откроем второй элемент справочника CITROEN C4 и введем тот же VIN 1234567890, будет выдано сообщение, что такой VIN уже зарегистрирован. (pic 8.27)

8gl7g8027
Введем другой VIN   и гос номер.(pic 8.28)
8gl7g8028 Откроем список справочника автомобили (pic 8.29)

8gl7g8029
Для удобства выбора здесь явно не хватает гос. Номера.
Попробуем добавить его.
Заходим в конфигуратор, в окно редактирования формы списка.
Мы видим, что данные для отображения в форме берутся из  динамического списка (pic 8.30)

8gl7g8030
Раскроем этот список и обнаружим, что никакого реквизита типа гос номера в нем нет. (pic 8.31)

8gl7g8031
Добавим поле РегистрационныйНомер.
Для этого через контекстное меню зайдем в свойства динамического списка и поставим галочку напротив пункта Произвольный запрос  (pic 8.32)

8gl7g8032
Нажмем Настройка списка Открыть. Перед нами откроется текст запроса. (pic 8.33)

8gl7g8033
?зменим этот запрос так, чтобы в него включался реквизит рег.номер.
Нажмем Конструктор запроса.
Как может быть вы помните регистрационный номер у нас храниться в переодическом регистре сведений РегистрационныйНомер.
Текущее значение номера храниться в виртуальной таблице РегистрационныйНомерСрезПоследних, добавим ее в Таблицы и выберем из нее поле ГосНомер. (pic 8.34)

8gl7g8034
Зайдем на закладку Объединения/Псевдонимы и переименуем ГосНомер в Государственный Номер (pic 8.35)

8gl7g8035
Зайдем на закладку Связи и установим флажок Все напротив поля СправочникАвтомобили,
тем самым установив ЛЕВОЕ СОЕД?НЕН?Е,  это означает, что в запрос войдут все записи таблицы
СправочникАвтомобили и выбранные записи по условию из таблицы РегистрационныйНомерСрезПоследних  (pic 8.36)

8gl7g8036
Нажимаем ОК.
У нас должен получиться следующий запрос (pic 8.37)

8gl7g8037
В окне конструктора формы раскрываем правый список, находим там поле ГосударственныйНомер и перетаскиваем его влево. (pic 8.38)

8gl7g8038
Открываем 1С, и смотрим как выглядит на? список. (pic 8.39)

8gl7g8039

ПЛАН В?ДОВ ХАРАКТЕР?СТ?К

ПЛАН В?ДОВ ХАРАКТЕР?СТ?К

Оставим пока в покое справочник сотрудники и создадим новый справочник Автомобили.
Допустим, мы хотим знать какое дополнительное оборудование имеется на на?их ма?инах.
Т.к. видов всяческого доп.оборудования тьма-тьмущая, заранее мы не можем определить что именно нам нужно,
а тем более что нужно пользователю. В этом случае самым правильным будет дать возможность пользователю самому
определять какие виды доп.оборудования он будет хранить.  Для того, чтобы описать структуру хранения подобной информации
в 1с имеется объект План видов характеристик (ПВХ).
Создадим такой план. Назовем его  ПрочиеСвойства Авто.
?щем в дереве Планы видов характеристик и через контекстное меню добавляем новую. (pic 7.1)

8gl7g7001

Для того, чтобы мы могли хранить всякую чепуху об конкретных значениях доп.оборудовании автомобиля
(например для вида  доп.оборудования Навигатор в справочник мы можем добавлять конкретную марку этого навигатора),
создадим новый справочник ПрочиеСвойства и в качестве владельца этого справочника укажем ПВХ ПрочиеСвойстваАвто. (pic 7.2)

8gl7g7002
Вернемся в ПВХ ПрочиеСвойстваАвто в типе значения характеристик установим составной тип (Pic 7.3)

8gl7g7003
В дополнительном значении характеристик укажем справочник ПрочиеСвойства. (Pic 7.4)

8gl7g7004

Нам осталось создать хранилище для на?его доп.оборудования, где мы могли бы хранить ссылку на объект на?его авто
его доп.оборудование и конкретные марки этого оборудования.
Для этих целей подходит Регистр сведений. Создадим его.
Назовем ЗначенияПрочихСвойств . В представлении списка напи?ем Опции, в рас?иренном представлении списка: Список опций. (pic 7.5)

8gl7g7005
Зайдем на вкладку данные и добавим измерения
ОбъектСвойств тип СправочникСсылка.Автомобили и
АвтоСвойства тип ПланВидовХарактеристик.ПрочиеСвойстваАвто, синоним зададим Опция (pic 7.6)

8gl7g7006
Добавим ресурс Значение тип Характеристика.ПрочиеСвойстваАвто
Свойство Связи параметров выбора установим в Отбор.Владелец(АвтоСвойства) – это нужно для отбора только тех значений,
которые подчинены выбранной опции. Например если вы выбираете Магнитола,
то в качестве значений будут открываться только марки магнитол,  а виды цветов кузова будут  не видны.
Свойства связать по типу установим в АвтоСвойства. (Pic 7.7)

8gl7g7007
Откроем Справочник Автомобили на закладке Подсистемы установим видимость для подсистем Диспетчерская и Механик (pic 7.8)

8gl7g7008
Зайдем в 1С (F5), не обращая внимания на ругательства системы о невключении объектов в подсистемы.
Щелкнем по вкладке подсистемы Механик, войдём в справочник Автомобили и добавим две ма?ины.(pic 7.9)

8gl7g7009
Откроем элемент справочника CITROEN C4. Слева, в панели навигации вы должны увидеть Опции,(pic 7.10)

8gl7g7010
нажмем на них, пока список опций пуст. Добавим пару опций. (pic 7.11)

8gl7g7011
В доп.оборудование Магнитола, добавим пару моделей магнитол.(pic 7.12)

8gl7g7012
В доп.оборудование цвет добавим белый и красный (pic 7.13)

8gl7g7013
Теперь можно выбрать опции для каждого автомобиля.(pic 7.14)

8gl7g7014
Можно немного улуч?ить интерфейс программы. Как видно из (pic 7.14)
отбор установлен по автомобилю CITROEN C4 и поле Объект свойств, в принципе,  ли?нее.
Так же при добавлении и просмотре свойств Объект свойств можно не показывать. (pic 7.15)

8gl7g7015
Давайте уберем их. В конфигураторе выберем регистр сведений ЗначениеПрочихСвойств.
Зайдем на вкладку Формы и создадим две формы ФормаСписка и ФормаЗаписи.
Откроем ФормуСписка (pic 7.16)

8gl7g7016
Через контекстное меню зайдем в свойства формы.
Напротив события ПриСозданииНаСервере щелкнем на значок лупы. (pic 7.17)

8gl7g7017
В заготовке процедуры напи?ем (pic 7.18)

8gl7g7018
Код означает, что если установлен отбор по ОбъектСвойств, отображать этот объект не нужно.
Откроем ФормуЗаписи , повторим все действия и в Процедуру ПриСозданииНаСервере напи?ем (pic 7.19)

8gl7g7019
Нажмем F5.  Теперь поле ОбъектСвойств не видно, стало более читабельно.(pic 7.20)

8gl7g7020
Не забудьте установить флажок Ведущее у свойства измерения ОбъектСвойств.
Это позволит в том числе создать автоматически глобальную параметризированную команду.
Что в свою очередь позволит увидеть в элементе справочника ссылку на опции.
(pic 7.21)

8gl7g7021

О?ибка выполнения файловой операции

Переход с 1С Бухгалтерия 2.0 на 1С Бухгалтерия 3.0

 

При переходе с Бухгалтерии 2.0 на Бухгалтерию 3.0 на самом последнем этапе система выкидывает коленце "О?ибка выполнения файловой операции v8srv: ...". ? напрочь отказывается обновляться.

Проблема и её ре?ение оказались в настройке MS SQL 2005. В настройке Network packet size нужно было указать 16383. Вот и все дела.