четверг, 4 апреля 2024 г.

Список Full-Mesh VPN решений

 

Введение


Многие интересуются Full-Mesh (или P2P) VPN, хотят использовать их для игр с друзьями, для связи удаленных офисов, серверов, да для чего угодно. Обычные VPN, вроде OpenVPN или PPTP, пропускают весь трафик через центральный сервер, а Full-Mesh соединяются непосредственно с нодами, зачастую пробивая NAT.

Со своими серверами (преимущественно для игр):

Tunngle
Basic и Premium. Только Windows.

VPN для игр, аналог Hamachi. Zero-config через сервер программы. Чат с возможностью передачи файлов, голосовой чат на основе Ventrillo и Mumble. Имеется мини-файрволл.
В бесплатной версии можно создавать комнату до 32 человек, которая удаляется
после 3 дней неактивности. Нельзя настравать мини-файрволл, он блокирует порты
1-1024 и все протоколы, кроме tcp, udp и icmp. Пробивает NAT.
Premium дает возможность создавать комнаты до 255 человек, скрывать комнаты из
каталога, изменять ник, использовать QoS, настраивать мини-файрволл,
использовать ник вместо ip (dns).

Social VPN
Open Source. Windows и Linux. C#.

Zero-config с XMPP в качестве бекенда, интеграция с Gtalk. Пробивает NAT, соединяется напрямую, или использует свои сервера, если это невозможно. Есть DNS.

Remobo
Free. Windows, Linux и MacOS.

Аналог Hamachi, zero-config через сервер программы. Имеется встроенный чат. Возможно использовать другие компьютеры в качестве прокси. Пробивает NAT.
Есть PRO-версия, которая отличается наличием демона с CLI.

Без своих серверов:

NeoRouter
Free. Windows, Linux, MacOS, FreeBSD, Android.

Есть portable-версия и веб-клиент. Поддержка IPv6, пробивает NAT.

GBridge
Бесплатно. Только Windows.

Zero-config через Gtalk и Gmail. VPN, VNC, Шаринг, синхронизация и бекап файлов.
Генерация превью к картинкам, создание каталогов, стриминг аудио и видео (используется web-интерфейс).
Пробивает NAT, сервер-нода отсутствует.

P2PVPN
Open Source. Windows и Linux. Java.

VPN и чат между пирами. Используется BitTorrent (а конкретно трекер OpenBitTorrent) для поиска пиров вашей сети. NAT не пробивает, требует открытого порта хотя бы у одного участника сети, сервер-нода отсутствует.
Проект немного заглох, последяя версия вышла в 2010.

Wippien
Open Source. Windows и Linux.

Использует XMPP в качестве бекенда, интеграция с Gtalk. Пробивает NAT.

Для серверного использования:

tinc
Open Source. Windows, Linux, *BSD, MacOS, Solaris, iPhone.

Старый проект, легкое конфигурирование, сервер-ноды нет. Поддержка IPv6, пробивает NAT.

PeerVPN
Open Source, Linux и FreeBSD. Неофициальные порты для MacOS и Windows.

Поддержка IPv6, пробивает NAT.

суббота, 23 марта 2024 г.

Манипулирование записями регистров без использования регистратора

 

Манипулирование записями регистров без использования регистратора

В 1С:Предприятии 8 все регистры, кроме регистров сведений, всегда связаны с регистраторами. Регистры сведений могут быть независимыми или также подчиненными регистратору. В этом разделе мы опишем работу с регистрами, подчиненными регистраторам. 

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

Однако  в 1С:Предприятии 8 существует возможность изменять записи регистров без участия документа. При этом следует учитывать, что каждая запись регистра всегда подчинена одному и только одному регистратору (документу). Поэтому с точки зрения "времени жизни" записи всегда подчинены конкретным регистраторам. Однако, записи могут изменяться без участия самого документа. Главное, чтобы в них имелась ссылка на документ. 

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

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

Таким образом, чтобы изменить записи регистра необходимо:

  • создать набор записей;
  • установить отбор по определенному регистратору;
  • прочитать набор;
  • изменить записи набора;
  • записать набор.

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

Копировать в буфер обмена

    //Выберем всех регистраторов регистра
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
        | УчетНоменклатуры.Регистратор
        |ИЗ
        | РегистрНакопления.УчетНоменклатуры КАК УчетНоменклатуры";
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    //Обойдем регистраторов
    Пока Выборка.Следующий() Цикл
        Сообщить("Изменение записей по регистратору: " + Выборка.Регистратор);
        //Для каждого регистратора выполним изменение набора записей
        НаборЗаписей = РегистрыНакопления.УчетНоменклатуры.СоздатьНаборЗаписей(); 
        НаборЗаписей.Отбор.Регистратор.Значение = Выборка.Регистратор;
        НаборЗаписей.Прочитать();
        Для каждого Запись Из НаборЗаписей Цикл
            Запись.Реквизит1 = "Тест";
        КонецЦикла;
        НаборЗаписей.Записать();
    КонецЦикла; 

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

Заметим, что для добавления большого количества записей по одному регистратору существует возможность записывать записи без замещения. Это регулируется параметром метода Записать(). Такая возможность позволяет добавлять записи, не помещая их всех одновременно в оперативную память.

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

пятница, 15 марта 2024 г.

среда, 6 марта 2024 г.

1C не расчитывает правильно оклад при увольнение сотрудника в середине месяца

 Скорее все дело опять в норме дней. 

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



В итоге выяснил что проблема в документе инд табель. Дни после даты увольнения не помечаются как рабочие!!! модульобъекта - процедура Автозаполнение


Итак, ищем в модуле документа Начисления зарплаты организаций

процедуру  "РассчитатьНачисления".

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


на этом месте уже бывает посчитана строка (регистррасчета).


внутри строки поле "НормаДней" получает неправильное значение.

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

Соотвественно человек выходяший с работы получает 100% оклада.


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

+++

Строка получает значение в цикле по НаборОсновныеНачисления.

А НаборОсновныеНачисления = РегистрыРасчета.ОсновныеНачисленияРаботниковОрганизаций.СоздатьНаборЗаписей();

получает значение в цикле по выборке :

ВыборкаПоНачислениям = СформироватьЗапросПоНачисления(ВыборкаПоШапкеДокумента, Физлицо).Выбрать();


Тут скорее всего происходит расчет значений начислений

ДобавитьСтрокуОсновныхНачислений(ВыборкаПоНачислениям, ВыборкаПоШапкеДокумента, НаборОсновныеНачисления);

 

//////////////////

Процедура РассчитатьЗаписиРегистраРасчета 

ПолучитьДанныеДляРасчета <---- нормы дней тут

-ОбщийМодуль ПроведениеРасчетовПереопределяемый

воскресенье, 18 февраля 2024 г.

Расчет начислений, исходя из среднего заработка

 

Особенности начисления отпускных: что входит в базу для расчета и как её подкорректировать

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

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

Настройка осуществляется в конфигурациях, которые поддерживают "сложный" расчет зарплаты:

- 1С: Зарплата и  управление персоналом 8

- 1С: Комплексная автоматизация 8

- 1С: Управление производственным предприятием 8.

Первым делом нам необходимо переключить интерфейс на Полный, для этого выбираем пункты меню:

Сервис -> Переключить интерфейс -> Полный

Затем выбираем:

Операция -> План видов расчета -> Средний заработок

Открывается окно "Виды заработка, учитываемые при расчете среднего заработка"

Выбираем пункт "Основной заработок: индексируемый" и видим таблицу с начислениями, входящими в расчетную базу. Нас интересует таблица, расположенная слева.

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

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

и

Если Вы сделаете такую настройку и будете начислять премии специальным документом "Премии сотрудникам организаций", то при расчете отпускных они будут отражаться следующим образом

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

вторник, 6 февраля 2024 г.

Минимальные параметры DHCP, необходимые для нормально загрузки PXE:

 Минимальные параметры DHCP, необходимые для нормально загрузки PXE:
060 (PXEClient) - обязательно должен быть отключен. Если включен, параметры 066 и 067 то ли игнорируются, то ли подставляются значения локального сервера.
066 (Имя узла сервера загрузки) - IP адрес сервера с развернутым WDS.
067 (Имя файла загрузки) - для стандартной установки достаточно \Boot\x64\wdsnbp.com или \Boot\x86\wdsnbp.com. Путь считается от корня TFTP-сервера, т.е. от каталога RemoteInstall.

 

 

 

Команды для Кинетика: 

настройка для WDS

 ip dhcp pool _WEBADMIN_HOME option 066 ascii 192.168.20.1

ip dhcp pool _WEBADMIN_HOME option 067 ascii boot\x64\wdsnbp.com


boot\x86\wdsnbp.com — 32 bit

ИЛИ

boot\x64\wdsnbp.com — 64 bit

 

пятница, 2 февраля 2024 г.

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

     |///////////////////////// Я    Zaur 02.02.2024 патч для работников которых приняли и создают индивидуальный график
    |
    |ВЫБРАТЬ
    |ВЫБОР
    |    КОГДА РаботникиОрганизаций.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.ПриемНаРаботу)
    |        ТОГДА РаботникиОрганизаций.ГрафикРаботы
    |    ИНАЧЕ NULL
    |КОНЕЦ,
    |&НачалоМесяца как Период,
    |СписокРаботников.Ссылка
    | ИЗ
    |ВТСписокРаботниковДата КАК СписокРаботников
    |    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
    |    ПО СписокРаботников.Ссылка = РаботникиОрганизаций.Сотрудник
    |        И (РаботникиОрганизаций.Период > &НачалоМесяца)
    |        И (РаботникиОрганизаций.Период <= &КонецМесяца) И РаботникиОрганизаций.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.ПриемНаРаботу)
    |ГДЕ  РаботникиОрганизаций.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.ПриемНаРаботу)
    |ОБЪЕДИНИТЬ
    |
    |     ////////////////////////////Я

// ЭКСПОРТНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ ДОКУМЕНТА

// Процедура предназначена для автозаполнения документа
// Если заполнен параметр сотрудники, то в табличную часть будут добавлены
// строки по указаным сотрудникам.
Процедура Автозаполнение(Запрос = Неопределено, Сотрудник = Неопределено, ТекущаяСтрокаГрафикаРаботы = Неопределено) Экспорт
       

внутри модуля объекта документа ВводИндивидульаныхграфиков

Список Full-Mesh VPN решений

  Введение Многие интересуются Full-Mesh (или P2P) VPN, хотят использовать их для игр с друзьями, для связи удаленных офисов, серверов, да...