Задать вопрос
  • Как реализовать контроль остатков в 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 комментарий
  • Как правильно организовать бекап БД 1С с кешем?

    @Dementor
    программист, архитектор, аналитик
    Если 1С версии 8, то в файловом режиме нет никакого кеша данных. Есть единый файл 1Cv8.1CD в котором хранится вся информация кроме Журнала Регистрации и индекса полнотекстового поиска.

    Никакую работу и тем более за 4 часа потерять невозможно. У вас или вся база навернется с потерей всех данных, или только незакрытые транзакции последних секунд работы.
    Ответ написан
    4 комментария
  • Обновление цен по прайсам?

    @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 только нужных позиций и хранить для целей синхронизации, но вовсе не для перекрестных ссылок.
    Ответ написан
  • Перенос базы данных 1C 7.7 в 8.3, как сделать?

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

    Если переносить самостоятельно, то на диске ИТС (а так же во многих местах интернета - гугл в помощь) есть обработка "Загрузка из табличного документа", которая позволяет загружать в справочники/документы/регистры произвольные табличные данные. При достаточно высоком уровне квалификации можно воспользоваться боевой артиллерией - специальной конфигурацией "Конвертация данных 2" (не путать с 3!!!).
    Ответ написан
    8 комментариев
  • Как в 1С найти пользователя (компьютер) зашедшего в конфигуратор?

    @Dementor
    программист, архитектор, аналитик
    В технологии 7.7 средствами платформы понять кто подключился еще было нельзя.

    Посоветую вам удалить пользователя Администратор, а вместо него завести Иванов/Петров/Сидоров для каждого из ваших разработчиков. Лицензирование все равно происходит количества работающих пользователей, а не количества зарегистрированных - хотя тысячами их добавляйте, но ни копейки доплаты с вас не потребуют. Да и вам так проще - человек уволился, так сразу убирайте ему доступ, а не переживайте о том, кто из обиженных в очередной раз захочет скопировать базу или заняться вандализмом.
    Ответ написан
    2 комментария
  • В каких случаях нужно использовать объединение/соединение?

    @Dementor
    программист, архитектор, аналитик
    Если говорить грубо, то:
    Объединение - дописывает к таблице результата новые строки
    Соединение - дописывает к таблице результата новые колонки
    Вложенный запрос - позволяет в единой точке для соединения, объединения, условия или иных операций получить дополнительную таблицу (которую формирует запрос).
    Пакетный запрос - позволяет ранее сформировать временную таблицу, которую далее в тексте запроса можно использовать несколько раз.

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

    @Dementor
    программист, архитектор, аналитик
    Понимаю, что необходимо использовать XDTO и план обмена, но немогу найти ни одного примера реализации.

    Ошибочно понимаете.

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

    В первом случае проще сделать HTTP-сервис и передать в теле запроса все данные по вашему контрагенту.

    Во втором случае есть варианты. Вплоть до того, что ваш сайт сам будет выступать сервером авторизации по OAuth 2, который поддерживается платформой 1С8.
    Ответ написан
  • 1C- Парсер JSON?

    @Dementor
    программист, архитектор, аналитик
    Вам для какой версии платформы 1С?
    Начиная с уже относительно старой 8.3.6 - весь функционал для работы с JSON входит в штатную поставку. Если по какой-то причине интересуют более старые версии платформы, то лично я писал парсер самостоятельно (даже два - рекурсивный и потоковый), но где-то через год на infostart.ru появились еще несколько вариантов от пользователей - полистайте их каталог.
    Ответ написан
    Комментировать
  • Как исправить "Код справочника стал неуникальным"?

    @Dementor
    программист, архитектор, аналитик
    Забей на неуникальность кодов справочников - это не повод останавливать обновление.
    В смысле, молодец, что заметил. Выпиши куда-нибудь в блокнотик и обновляй дальше. Когда закончишь, можешь перенумеровать, если будет желание.
    Ответ написан
  • Как отловить POST на стороне 1с в веб сервисах?

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

    Из вашего вопроса не понял как вы передаете данные - в POST объект JSON или с помощью multipart/form-data.

    В первом случае текст вашего POST легко можно получить с помощью следующей конструкции:
    POST_txt = Запрос.ПолучитьТелоКакСтроку();

    и далее уже элементарно создаете с JSON объект и работаете с ним:

    ЧтениеJSON = Новый ЧтениеJSON;
    ЧтениеJSON.УстановитьСтроку(POST_txt);
    Объект_JSON = ПрочитатьJSON(ЧтениеJSON,,"DOC_DATE");  // важно указать все ваши поля типа даты, что бы потом не парсить вручную строки
    ЧтениеJSON.Закрыть();

    Во втором случае, если я не ошибаюсь, то можно получить значение POST-параметры с помощью упомянутого у вас метода запроса ПараметрыЗапроса() , который возвращает соответствие, где ключами будут названия параметров. Но на практике я это не проверял - для работы с HTML-формами вполне достаточно GET-параметров, а в POST все же удобно писать JSON или XML).
    Ответ написан
    2 комментария