Ответы пользователя по тегу
  • Отправка из 1C POST запроса с файлом - как сформировать тело запроса?

    @Dementor
    программист, архитектор, аналитик
    Если вы не имитируете отправку данных формы методом POST, то ничего нового изобретать не нужно. Вот пример кода с передачей по POST какой-то строки:
    Соединение = Новый HTTPСоединение(Сервер, Порт);
    ЗапросСервера = Новый HTTPЗапрос(ПутьНаСервере);
    ЗапросСервера.УстановитьТелоИзСтроки(ТелоЗапроса);
    ОтветСервера = Соединение.ВызватьHTTPМетод("POST", ЗапросСервера);
    ТелоОтвета = ОтветСервера.ПолучитьТелоКакСтроку();
    КодОтвета = ОтветСервера.КодСостояния;

    Если нужно передать двоичные данные, то нужен метод запроса УстановитьТелоИзДвоичныхДанных. Если серверу нужно передать тип содержимого, то установим заголовок с помощью свойства запроса Заголовки:
    ЗапросСервера.Заголовки.Вставить("Content-type", "application/json");


    А вот для x-www-form-urlencoded (особенно с отправкой нескольких файлов) нужно будет дополнительно вручную отформатировать тело запроса.
    Ответ написан
    3 комментария
  • Как передать имя документа через параметр в 1С?

    @Dementor
    программист, архитектор, аналитик
    Посмотрел ваш обмен комментариями с Константином. У вас нет понимания, как работают запросы. Попробую в двух словах.

    Текст запроса - это инструкция подсистеме управления базой данных по выбору и трансформации данных. Есть синтаксис языка запросов, согласно которому источник получения данных требуется описать в разделе ГДЕ следуя определенным правилам: если источник находится в данных системы, то он описывается как [КлассОбъекта].[ИмяОбъекта] (при этом как источник можно использовать только табличные данные, даже если они содержат всего одну строку - т.е. константы применять можно, а перечисления уже нельзя); если же источник данных находится в коде, откуда выполняется запрос, то пишут &НазваниеПеременной и источник данных передают в одноименную переменную.

    Итак, если на вход объекту Запрос или основанному на нем (это могут быть "построитель отчета" или "система компоновки") подать некоторый текст запроса, где в секции ГДЕ будет вместо Документ.Акт и Документ.Счет будет &ВидДокумента , то он отправится в переданную коллекцию параметров, поищет там параметр с именем "ВидДокумента", переместит его содержимое во временную таблицу и выполнит запрос к этой временной таблице, а не к реальным таблицам тех же документов. Таким образом, если вы в параметр ВидДокумента установите какую-то таблицу значений (или табличную часть, или результат из другого запроса), то у вас все получится. Но при передаче строки, как в вашем случае, получится ошибка, так как строку невозможно неявно преобразовать в таблицу.

    Если у вас в какой-то переменной есть имя таблицы, то вам нужно следует передать значение этой переменной в текст запроса так как посоветовал Константин, или с помощью текстовой замены:
    Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ВидДокумента", ВидДокумента);
    Ответ написан
    Комментировать
  • Некорректная печать штрих-кода в ценнике?

    @Dementor
    программист, архитектор, аналитик
    Посмотрите свойства вашего объекта для печати штрихкода. Какой тип кода там установлен? Может там вовсе не EAN13 и потому печатается, какая-то фигня.

    Потом, посмотрите формирование печатной формы. Там будет, что-то типа: ОбластьМакета.Рисунки.D1.Объект.Сообщение = Штрихкод. Проверьте отладчиком, что тут происходит. Возможно этот кусок кода не выполняется и потому на печать идет 1234567890128, который явно прописан в свойстве "Сообщение" объекта печати штрихкода для предпросмотра в макете.
    Ответ написан
    Комментировать
  • Как передать выгрузку 1С в сформированную таблицу через обмен данными с WEB сайтом?

    @Dementor
    программист, архитектор, аналитик
    Судя по тегу, у вас Битрикс. Следовательно идите в битриксовскую документацию. У них есть и общая теория по обмену с 1С и детальный учебный курс на эту тему.
    Начинайте с этой ссылки: https://1c.bitrix.ua/ecommerce/
    Ответ написан
    Комментировать
  • Как зделать синхронизацию сайта с 1с, используя codeigniter или чистый PHP?

    @Dementor
    программист, архитектор, аналитик
    Если не хотите отступать и решились выполнить эту задачу, то у вас есть два варианта:

    1) Воспользоваться наработками компании Битрикс (ныне выкуплена компанией 1С). Если на втором конце одна из типовых конфигураций, то вам достаточно скачать и установить подходящий модуль с этой странички. Далее вам нужно изучить стандарт CommerceML, который разработала компания 1С совместно с Microsoft. И финальным аккордом берите свой "чистый PHP" и пишите серверную часть механизма обмена, которая будет получать справочные данные из 1С и возвращать назад заказы (и все остальное, что реализуете).

    2) Или будьте настоящим самураем. Разработайте собственный протокол обмена бизнес-данными, а потом в 1С и на своем сайте создайте все необходимые интеграционные механизмы. Это проще, так как никто вашу фантазию не ограничивает :)
    Ответ написан
    Комментировать
  • Нашу базу 1с зашифровали хакеры, есть ли шанс разблокировать?

    @Dementor
    программист, архитектор, аналитик
    Подобные темы периодически возникают на форумах пользователей Касперского, Др.Веба и Нода32 - сотрудники соответствующих антивирусов пытаются помочь решить такую проблему; на форумах уже лежат десятки средств, которые могут помочь в попытке дешифровки.

    Как вариант, если вы так хотите заплатить, свяжитесь с вымогателями, которые зашифровали вам базу.

    P.S. Добро пожаловать в сообщество людей, которые "УЖЕ делают бэкапы".
    Ответ написан
    Комментировать
  • Как избавиться от found orphan temp table в postgresql?

    @Dementor
    программист, архитектор, аналитик
    При случае киньте линк на нормальную книгу по ПГ

    Книга, которая должна быть рядом у русскоязычного админа - Работа с PostgreSQL: настройка и масштабирование авторства Алексея Васильева. Плюс связанный вопрос на тостере.

    По поводу вашей проблемы. Решать "что делать" должен человек с полномочиями и админским доступом - т.е. вы, а не какой-то анонимный советчик. В интернете на эту тему множество топиков (один из них) и ваша задача перебором добиться восстановления работы (кстати, многие пишут про вакуум для удаления таблиц-сироток - с него можете и начать). Меня в вашей истории больше смущает фраза "Сервак под win 2003 крешнулся". Пока вы не восстановите работоспособность файловой подсистемы, ничего хорошего вас не ждет.
    Ответ написан
    Комментировать
  • Как реализовать контроль остатков в 1С?

    @Dementor
    программист, архитектор, аналитик
    Что значит "результаты чтетны"?

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

    1) В модулях объектов не принято писать вызов метода Сообщить(). И не только потому, что он устаревший и не рекомендуется к использованию (вместо него нужно использовать объект СообщениеПользователю), а поскольку нет 100% вероятности, что данное сообщение будет показано и прочитано - к примеру при работе регламентного задания.

    2) Если у вашего документа запрещено оперативное проведение, то блок в условии "Режим = РежимПроведенияДокумента.Оперативный" не будет выполнен.

    3) В вашей логике пропущена запись набора движения до выполнения запроса. Команда "Движения.ОстатокУчебников.Записывать = Истина;" говорит лишь о том, что при завершении процедуры проведения записи из свойства Движения.ОстатокУчебников необходимо записать в базу данных. Но, если вы в рамках проведения хотите запросом проверять измененное состояние в базе, то проводки перед этим стоит записать явно методом Записать().
    Ответ написан
    4 комментария
  • Как реализовать удаленный доступ к 1с?

    @Dementor
    программист, архитектор, аналитик
    Вам нужно знать, что базы 1С бывают двух видов - файловые и серверные. В первом случае пишите скрипт который с помощью системной утилиты будет анализировать обращения к файлу базы (как вариант запускать процесс подключения с читыванием таблицы активных подключений). Во втором случае используйте утилиты RAS/RAC для доступа к информации через кластер. Полученные скрипты добавляйте в ваш систему наблюдения (zabbix, munin или что там у вас стоит) и наслаждайтесь контролем :)
    Ответ написан
    Комментировать
  • Перегружен RAID массив при работе с бд?

    @Dementor
    программист, архитектор, аналитик
    То, что я вижу в вопросе.
    В наличии имеются: 1) "рабочий компьютер с неизвестным линуксом, рейдом, стандартной утилитой диагностики рейда и СУБД для 1С", 2) сервер, который соединен с рабочим компьютером; 3) три терминала с установленной программой 1С:Повар и биометрическим сканером.
    Проблема: рейд перегружен и база 1С не может достучаться к СУБД.
    Вариант поиска проблемы: перегружать сервер и терминалы.

    Вы хоть понимаете, что можете перегружать сервер до бесконечности, но на вашем компьютере с СУБД это абсолютно никак не отразится? Далее очень дико слышать, что вы можете запускать какие-то стандартные программы, но не можете определить версию дистрибутива.

    Мой совет - перестаньте шаманить и позовите сисадмина.
    Ответ написан
    Комментировать
  • Как связать 1с с апи бота?

    @Dementor
    программист, архитектор, аналитик
    Но как нам это все связать? Есть ли какое то апи у 1с? Есть ли какие то готовые решения?

    В 1С можно создать API любой сложности на базе HTTP-сервисов или SOAP (есть и другие способы, но с серверов Телеграмма/Вайбера они вам будут недоступны). Вот вам пример получения данных из базы 1С, который вы можете использовать в своем проекте (запрос боту "верни текущий статус моего заказа") - https://infostart.ru/public/302876/
    Ответ написан
    3 комментария
  • В 1С некорректно выгружает в excel?

    @Dementor
    программист, архитектор, аналитик
    0) Что такое "1С документооборот 7 версии"? Видимо это или ваше ноу-хау или не сертифицированное у вендора решение. Типовое же решение под названием "1С:Документооборот" впервые появилось на версии платформы 8.2 и несет в названии цифру 8. Его предшественник назывался "1С:Архив" и был отдельной программой написанной на Visual C++.

    Мой опыт говорит, что в таком случае есть два типа проблем:
    1) столбцы есть, но их ширины равна нулю - проверьте название колонок.
    2) в коде выгрузки допущена плавающая ошибка, которая при некоторых обстоятельствах не дает завершить формирование выходного файла - вам необходимо запустить решение в режиме отладки и пройти все шаги алгоритма.
    Ответ написан
    Комментировать
  • Кто такой программист 1С?

    @Dementor
    программист, архитектор, аналитик
    И у меня вопрос кто это, что он делает?

    Это такой же расплывчатый вопрос как и "чем занимается менеджер?". Ведь менеджеры и закупками занимаются, и холодными обзвонами, и инвентаризациями на складе.... Так и "программисты 1С" могут заниматься чем угодно в зависимости от места куда попадут - в одних конторах они сидят на связке с интернет магазинами (битриксы, опенкарты и прочие магенты), в других пилят мобильные приложения кладовщикам и курьерам, в третьих все время по командировкам и обеспечивают работоспособность сети магазинов (подключают/чинят весы, кассовые аппараты, сканеры и пр.; занимаются подсистемами скидок, бонусов, дисконтных карточек и так далее), в четвертых общаются с пользователями корпоративной системы и решают их проблемы, в пятых сидят на проектах и по методологии Agaile закрывают тикеты в рамках недельных спринтов...

    Может посоветуете ресурс где можно было бы посмотреть задания которые выполняет данный специалист.

    В объявлениях про работу читайте описание этой самой работы. Плюс погуглите фрилансерские сайты (их под десяток) и посмотрите какие задачи идут в графе 1С.

    Не ужели это что-то сложное, что открыто так много вакансий на данную должность?

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

    Мне кажется что человек, который имеет опыт программирования может спокойно освоить 1С или я не прав?

    Даже без такого опыта тоже сможет. У меня на курсах как-то была тётенька главбух, которая хотела сэкономить на "приходящих мальчиках". Эта женщина успешно прослушала курс по основным объектам и потом меня сильно благодарила - и программу она теперь сама умеет обновлять, и новые печатные формы для документов рисовать, и новые нужные для нее отчеты создавать. И это при том, что она полный гуманитарий :)
    Ответ написан
    4 комментария
  • 1c как добавить множественное поле?

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

    Вам нужно для вашего справочника сделать табличную часть "Базовые машины" с реквизитом "Машина" типа СправочникСсылка.МаркиМашин. Далее если вы хотите на форме видеть данные полем ввода, а не табличкой, то вам (как уже подсказывает Константин Нагибович ) нужно на форму элемента справочника добавить реквизит с типом СписокЗначений и значениями типа СправочникСсылка.МаркиМашин. Далее при создании/открытии формы с табличной части переносите в этот элемент. На сам элемент навешиваете обработчик ПриИзменении(), в котором устанавливаете флаг Модифицированность. А в обработчике формы ПередЗаписью() копируете содержимое из вашего списка в табличную часть.

    P.S. Сделать это можно быстрее чем я тут печатал :)
    Ответ написан
    1 комментарий
  • Обновление цен по прайсам?

    @Dementor
    программист, архитектор, аналитик
    1) Не нужно трогать старые установки цен - они нужны для истории. Вам нужно создать новый документ установки цены от 01.09.2017
    2) Поищите какую-нибудь загрузку. Возможно она у вас в пункте меню "Заполнить". Если ничего найти не можете, а бывший сотрудник на связь не выходит, то создайте новый документ копированием старого и перебейте изменившиеся цены.
    Ответ написан
    Комментировать
  • Задержка в 1с 7.7 торговля и склад, через локальную сеть между двумя пк, в чём проблема?

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

    Пока будете искать решение, можете попробовать на основном компьютере подключить зашаренную папку как сетевой диск и обращаться к базе по сети. По идее, тогда обе базы будут тормозить одинаково. Сомневаюсь что выйдет, но все же попробуйте ради эксперимента.
    Ответ написан
    Комментировать
  • Не отправляется почта из 1с на ubuntu?

    @Dementor
    программист, архитектор, аналитик
    Аналогично делал отправку почты на сервере Ubuntu (посредством тут же поднятой службы SMTP relay, так как у нас была подсеть из виртуальных машин) и все отлично работало.

    Главный вопрос: вы отправляете почту напрямую как и упомянутые почтовые программы (через SMTP) или посредством внешних почтовых программ к которым подключаетесь по COM-соединению? В последнем случае стает очевидной причина, почему на Винде работает, а на Линухе нет :)

    Второй вопрос: вы вообще пробовали отлаживать программу и смотреть на текст выдаваемых ошибок? В какой момент происходит ошибка - в момент создания почтового профиля? в момент подключения по этому профилю? в момент формирования почтового сообщения? в момент отправки сообщения по ранее созданному подключению?

    Третий вопрос: используете ли вы шифрование SSL? Если да, то с помощью какого сертификата выполняете шифрование - с помощью своего локального или публичного а-ля Mail.RU ?
    Ответ написан
  • Пригодится ли мне опыт 1С-программиста в работе (не 1С)-программистом?

    @Dementor
    программист, архитектор, аналитик
    Замечательный по уровню провокативности вопрос для 1С-холиваров :)

    Экзистенциальный кризис автора понятен, но его не решить вопросами в интернете...
    Тут у меня не будет "серебренной пули", а просто немного здравого смысла.

    1) Работать программистом-1С, хотя в будущем я хочу быть питонистом?

    Мне даже браузер подчеркивает слово "питонистом" - видимо хочет заменить его на более значимое "пианистом". Быть питонистом - это ни о чем! Это отсутствие профессии и борьба с индусами за дешевые заказы на апворке по решению домашек для школяров-недоучек. На самом деле люди стремятся стать научными сотрудниками, которые используют Python в научных расчетах. А еще люди становятся крутыми админами, которые пишут обслуживающие скрипты на Python или правят результаты работы криворуких контрибуторов ихнего ПО. Еще люди могут становится веб-разработчиками и пилить проекты на Django... Куда мысль веду понятно?

    2) Или же не работать и посвящать свободное время изучению питона? Но без опыта же никто не хочет брать на работу!

    А с опытом эникейного мальчика-на-побегушках возьмут?

    Не знаю какие у автора увлечения, но если экономика и теория управления предприятием не входит в их число, то заниматься 1С будет крайне скучно! А вот если вам нравится генетика и биоинформатика в целом, то могу порекомендовать обратить внимание на проект Rosalind, где даются базовые знания по Python и далее с его помощью решаются довольно увлекательные задачи. Я на этом проекте немного прокачался (после своего решения объязательно в обсуждении задач смотреть опыт других участников) и далее с легкостью писал свои скрипты под Ubuntu.
    Ответ написан
    Комментировать
  • Как лучше сделать базу данных?

    @Dementor
    программист, архитектор, аналитик
    Ответ лежит на поверхности и упирается в характер связи между БД сайта и 1С, о которой вы умолчали. Что первично - сайт или 1с?

    Если первична база 1С, а сайт является всего лишь её фронтэндом, то хранение дополнительного автоинкриментного ключа является очевидно избыточным: он немного, но увеличивает размер базы; он усложняет и замедляет обслуживание сайта (особенно из-за join-ов в запросах - так при наличии GUID вам нужно будет делать лишний запрос к таблице товаров для получения ID и лишь затем сможете запрашивать цены и скидки).

    Если первичным есть сайт, где работа налажена с более широким кругом контрагентов и потенциальных клиентов (лидов), чем нужно для 1С, где ассортимент товаров и услуг намного превышает тот объем данных, который нужно выгрузить в бухгалтерскую подсистемы для сдачи отчетности, то очевидна необходимость иметь локальную систему ID, а из 1С подтягивать GUID только нужных позиций и хранить для целей синхронизации, но вовсе не для перекрестных ссылок.
    Ответ написан