• Что это за формат данных и как его распарсить средствами PHP?

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

    По ссылочному типу вот пример элемента справочника:
    {"#",655fd168-ab6a-4863-a2d5-401497aceec3,75:8e9d005056850cfb11e5ef6e8ffb8cac}

    Третий параметр - это скорее всего ключ в физической таблице, с которой ассоциирован второй параметр (логично, но не проверял).

    Для пустой ссылки данного типа представление будет такое:
    {"#",655fd168-ab6a-4863-a2d5-401497aceec3,75:00000000000000000000000000000000}
  • Что это за формат данных и как его распарсить средствами PHP?

    Вы почти все правильно угадали. В вопросе внутреннее представление некоторого объекта.

    В 1С существуют примитивные типы, которые вы верно распознали: 'S' - строка, 'N' - число, 'B' - boolean, 'D' - дата. Еще есть ссылочные типы, но тут их нет и это класс. А еще есть коллекции.

    Коллекций есть несколько видов - массивы, таблицы значений, списки значений, структуры и соответствия (еще есть несколько производных, но не уверен в том, что они сериализируются). Это объекты при сериализации представляются в виде строк {x,x,x}, где первым элементом всегда идет '#', вторым будет идентификатора типа и в третей позиции собственно значение. Структура значения зависит от типа - для массива просто элементы через запятую, а для той же таблицы нужно описать имена и типы колонок.

    В целом все довольно очевидно и распознается "на глаз". Когда-то давно писал инструкцию по парсингу для нашего программиста С++, жаль что она утеряна....
  • Можно ли объединить в кластер сервера с разной битностью на одном физическом сервере?

    KTG, разве что нарезать виртуалки в рамках вашего физического сервера. Но это как-то стремно. Мы (из-за компонент) просто используем всюду 32.
  • Как настроить 1с на впс?

    Adel Khalitov, начнем с того, что сервер 1С не поддерживает ICMP и потому его пинговать бессмысленно. Если хотите проверить открытость порта то это telnet или Test-NetConnection (PowerShell) на винде, или netcat на линуксах. Далее вам нужно посмотреть ваши свойства кластера и сделать переброс всех остальных портов.

    На моем сервере такие настройки:
    "C:\Program Files (x86)\1cv8\8.3.14.1694\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files (x86)\1cv8\srvinfo" -debug

    Следовательно переброску нужно делать кроме 1540, еще 1541 и пачку 1560-1591.
  • Можно ли использовать Chrome в качестве встроенного браузера?

    65536, по разному бывает. В любом случае глупо переходить без тестового обновления копии, в которую загнать пользователей и немного проклацать "кастомные фичи".
  • Как реализовать расписание в нетиповой конфигурации?

    ViktorGuerro, 1) хз что такое "рассписание" и для чего оно нужно 2) хз что не работает

    Когда я делал похожий график посещений (только в днях были табельные отметки - 8 для робочих дней, б - больничные, о - отпуска и т.д.), то у моего документа была табличная часть график. В табличной части помимо работника были реквизиты День1, День2...., День31 (автонумерация при копировании). В зависимости от выбранного месяца на форме скрывал видимость лишних дней (в феврале может быть только 28, а в апреле 30). Тоже был подсчет общего количества дней (где 8 или 4) - при изменении в табличной части цикл типа такого (пишу по памяти):

    ТекущаяСтрока = Элемент.ТекущиеДанные;
    ТекущаяСтрока.РабочихДней = 0;
    Для Счетчик=1 по 31 Цикл
    ЗначениеКолонки = ТекущаяСтрока["День"+Счетчик];
    Если ЗначениеКолонки = "8" или ЗначениеКолонки = "4" Тогда
    ТекущаяСтрока.РабочихДней = ТекущаяСтрока.РабочихДней + 1;
    КонецЕсли;
    КонецЦикла;
  • Как реализовать расписание в нетиповой конфигурации?

    ViktorGuerro, все это выглядит очень страшно, но если работает и заказчика устраивает, то нет смысла переделывать.
  • После уменьшения файла лога транзакций, 1с ругается в некоторых операциях?

    MHO нет прямой связи между сжатием журнала и ошибкой 1С.

    hint000, только в данном случае 1С просто ретранслирует из СУБД ошибку взаимоблокировок.

    Я бы в такой ситуации попробовал бы выгрузить *.dt и загрузить в новую базу. 50 ГБ - это примерно 4-5 часов. Если нужно восстанавливать работоспособность текущей, то с помощью ТИИ реструктуризировал бы таблицы и пересчитал итоги.
  • Почему в 1С не работает печать штрикодов?

    Вячеслав Шевченко,
    Я не совсем понимаю как быть когда выйдет обновление и как его накатывать так, чтобы внесенные изменения сохранились.

    Аккуратно :)
    На самом деле ничего сложного. Включайте режим "Объект поставщика редактируется с сохранением поддержки" только для тех объектов, которые будете изменять. Для всего прочего обновление будет проходить незаметно, а вероятность изменения поставщиком программы печати штрихкодов очень низка. Если сильно боитесь потерять наработки, то увидев конфиликт можете отменить обновление и вызвать специалиста из франча.
  • Что делать 1С возвращает 500 ошибку при импорте на Worpress?

    Алексей Фисенко, ошибка 500 выскакивает в вашем Worpress, а 1С её просто показывает пользователю. Если бы проблема была в таймаутах, то 1С говорило бы про превышение времени ожидания ответа.

    По-умолчанию, таймаут при открытии соединения на стороне 1С вообще не устанавливается. Пока nginx или apache сами не закроют соединение, 1С готова хоть целый день висеть и ждать ответ.

    Советую посмотреть логи на стороне веб-сервера. Возможно некорректный формат архива.
  • Что делать 1С возвращает 500 ошибку при импорте на Worpress?

    Алексей Фисенко, увеличение лимитов - это был 1-из-9, а результаты остальных 8 попыток? Если хотите получить помощь, то дополните свой вопрос - так у специалистов Worpress будет больше шансов понять причину проблемы.
  • 1С Как запросом отобрать все нужные документы?

    ITF, как хочешь. Но у тебя все субконто на базе планов видов характеристик сразу вылетают.
  • 1С Как запросом отобрать все нужные документы?

    ITF, количество циклов вполне нормальное. Только не понятно зачем внутри проверять на равность типа Тип("СправочникСсылка.НоменклатурныеГруппы"), если выше уже проверили на содержание типа - сразу сравнивай значение с искомым, не теряй время.
  • 1С Как запросом отобрать все нужные документы?

    Глобальный контекст (Global context)
    НайтиПоСсылкам (FindByRef)
    Синтаксис:
    НайтиПоСсылкам(<СписокСсылок>, <ОбластьПоиска>, <ВключитьОбъекты>, <ИсключитьОбъекты>)
    Параметры:
    <СписокСсылок> (обязательный)
    Тип: Массив.
    Массив со списком ссылок на объекты, ссылки на которые нужно найти.
    <ОбластьПоиска> (необязательный)
    Тип: Массив.
    Определяет область поиска объектов. Область устанавливается комбинацией разделителей, в состав которых включены объекты метаданных, среди данных которых следует выполнять поиск.
    Элемент массива имеет тип Массив.
    Элемент вложенного массива имеет тип:
    Объект метаданных – Общий реквизит, разделяющий данные.
    Строка – имя общего реквизита, разделяющего данные.

    По умолчанию имеет значение Неопределено.

    Допустимые значения:
    Неопределено,
    Массив с комбинациями разделителей, определяющий область поиска,
    Пустой массив - область поиска определяется параметрами метода <ВключитьОбъекты> и <ИсключитьОбъекты>.

    Примечание. Если комбинация разделителей содержит повторы, то вызывается исключение, т.к. в конфигурации не может быть объектов метаданных, дважды включенных в состав одного разделителя.
    Значение по умолчанию: Неопределено.
    <ВключитьОбъекты> (необязательный)
    Тип: Массив.
    Позволяет явно указать объекты метаданных, которые должны присутствовать в области поиска ссылок на объекты.
    Элементом массива могут быть:
    Объект метаданных.
    Строка – полное имя объекта метаданных.
    Допустимые значения:
    Неопределено,
    Пустой массив,
    Массив объектов метаданных.

    Значение по умолчанию: Неопределено.
    <ИсключитьОбъекты> (необязательный)
    Тип: Массив.
    В качестве элементов массива могут выступать:
    Объект метаданных,
    Строка – полное имя объекта метаданных.
    Свойство позволяет явно указать объекты метаданных, которые следует исключить из области поиска ссылок на объекты.
    Допустимые значения:
    Неопределено
    Пустой массив (нет объектов, которые необходимо дополнительно включить в область поиска).
    Массив объектов метаданных.

    Значение по умолчанию: Неопределено.
    Возвращаемое значение:
    Тип: ТаблицаЗначений.
    Возвращает ссылки на найденные объекты в виде ТаблицаЗначений.
    Первая колонка - исходная ссылка.
    Вторая колонка - ссылка на объект, если найденная ссылка соответствует объектной таблице, или значение, олицетворяющее запись необъектной таблицы.
    Третья колонка - объект метаданных, которому соответствуют данные, в которых найдена ссылка.
    Описание:
    Осуществляет поиск ссылок на объекты, переданные в параметре <СписокСсылок>.
    Поиск выполняется только в данных, которые доступны в рамках текущего сеанса с учетом разделения (условное разделение также учитывается).
    Поиск осуществляется среди всех данных, из которых могут быть ссылки на переданные объекты. Если у пользователя нет доступа к объекту, будет вызвано исключение.
    Доступность:
    Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
    Вызов метода выполняет обращение к серверу.
    Примечание:
    Если параметр <ОбластьПоиска> не определен или используется режим совместимости конфигурации Версия8_3_4 и ниже, поиск осуществляется во всех тех данных, которые доступны в рамках текущего сеанса с учетом разделения (условное разделение учитывается).
    На мобильной платформе параметры <ОбластьПоиска>, <ВключитьОбъекты>, <ИсключитьОбъекты> игнорируются.
    Пример:
    Ссылки = НайтиПомеченныеНаУдаление();
    ТабСсылок = НайтиПоСсылкам(Ссылки);
    Для Каждого Ссылка из ТабСсылок Цикл
    Сообщить ("" + СокрЛП(Ссылка[0]) + " " + СокрЛП(Ссылка[1]));
    КонецЦикла;
  • 1С Как запросом отобрать все нужные документы?

    ITF, все проще. Закинь ссылку на старую номенклатурную группу в массив и дай на вход функции НайтиПоСсылкам() - на выходе таблица с метаданными и ссылками на объекты, где изменять. Для начала посмотри третью колонку - если видов метаданных мало, то лучше руками пропиши в коде какие реквизиты проверить на соответствие старому значению и требующие замену; иначе, как и планировал, можешь бегать по метаданным. А еще можешь запросом к бухгалтерским оборотам выбрать все регистраторы, которые делают движения со старой номенклатурной группой, а потом исправить и перезаписать их наборы записей.