• Как в запросе выбрать реквизиты с регистров накопления?

    @Dementor
    программист, архитектор, аналитик
    Ответ: Никак!
    Или доступны итоги ресурсов по измерениям, или физические записи без итогов, но с реквизитами.
    Если реквизиты нужны в таблице итогов, то это ошибка - реквизит нужно переделать в измерение.
    Ответ написан
    Комментировать
  • Как передать выделенные строки в другой документ при создании на основании?

    @Dementor
    программист, архитектор, аналитик
    Начнем с того, что задача решаема, но постановка странная. Ввод на основании - это стандартный механизм платформы, который можно вызвать или с формы документа, или с формы списка документов, или вообще программно из кода. И каждый раз используется один и тот же обработчик модуля объекта - ОбработкаЗаполнения. Только во втором и третьем случае не будет выделенных строк.

    Почему появилась такая странная задача? Почему пользователь хочет переносить в новый документ случайные строки и не фиксировать в системе этот факт? Может ли быть, что из 10 строк пользователь выделял 7, но на одной строке ошибся и кликнул дважды, в результате чего в работу ушли всего 6 строк, а он и не заметил пока не стало слишком поздно..?

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

    2) Если есть сценарий, что с документом работает некий начальник, который создает задания по частям для своих подчиненных, то использование стандартного ввода на основании не является корректным - нужно просто создать команду на форме, которая будет использовать выделенные строки и при создании нового документа может даже использовать его программное заполнение из стандартного ввода на основании.

    3) Если я чего-то не понимаю и нужно делать именно так как написано, а так же есть храбрость ломать БСП, то тоже все очень просто. В модуле ПодключаемыйКомандыКлиент в процедуре ПродолжитьВыполнениеКоманды в параметре Контекст есть открытая форма, в которой у элемента формы доступно выделение строк. Тут нужно вставить свой код, что если попался нужный тип документа и передана форма объекта с выделенными строками, то формируем структуру, куда передаем ссылку на документ и массив номеров строк. Далее в обработчике ОбработкаЗаполнения заполняемого документа проверяем тип входящего параметра основания и если там наша структура, то далее заполняем стандартно по ссылке из реквизита структуры, а в табличную часть переносим только указанные в массиве строки.
    Ответ написан
    Комментировать
  • Какое выбрать решение для ведения бизнеса и интернет магазина?

    @Dementor
    программист, архитектор, аналитик
    Теги неудачные. Согласно описания вам не нужна 1С - это всегда нужно платить деньги. И тем более не нужна ERP - это всегда нужно платить очень большие деньги!

    А вот CRM - именно то, что описано в тексте вопроса. Погуглите "бесплатная CRM" и выбирайте из вариантов. Лично я бы предпочел Битрикс24, но вариантов и без него хватает.
    Ответ написан
    Комментировать
  • ОтправкаPushУведомлений?

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

    Заходите в отладку и ставьте точку останова в проблемной строке. Анализируйте стек вызова и значение переменных - в первую очередь ТипПодписчика.
    Ответ написан
    Комментировать
  • 1c для чайников с чего начать?

    @Dementor
    программист, архитектор, аналитик
    1С - общее название для учетных систем. Битрикс - платформа для веб-разработки. IIKO - система для ресторанов. В одной фразе слишком много различных продуктов.

    Вы хотите научится использовать их в работе или стать разработчиком их функционала?

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

    @Dementor
    программист, архитектор, аналитик
    То есть, вот я смотрю по вакансиям, нужно знать БУ, УТ, УПП, тд и тп. То есть я должен быть, типа, бухгалтером, чтобы пойти туда где требуется знание конфигурации БУ?
    Это следует читать как "нужно иметь сертификат 1С:Профессионал или опыт от полугода".

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

    И как это вообще нужно учить?
    На курсах или сразу на практике. Если сидеть дома и наугад кликать кнопки в программе, толку не будет.

    Например, если в вакансии требуется понимание, или начальное знание БУ, я должен книгу на 500 страниц изучить и тогда я могу сказать я программист 1С БУ или как?
    Начальные знания - это пара статей в интернете и несколько роликов на ютубе, где рассказывают про план счетов, типовые операции и отчетность. Книга на 500 страниц - это уже продвинутый уровень.

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

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

    И какие для старта нужно типовые конфигурации знать, есть самые простые с которых можно начать, или надо посмотреть какие в вакансии, почитать про них и устраиваться?
    Согласен с Александром - УТ является самой ходовой конфигурацией, после которой легко освоить все остальные.
    Ответ написан
    2 комментария
  • Какие проблемы встречаются при использование PostgreSQL для 1c на Linux Mint?

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

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

    @Dementor
    программист, архитектор, аналитик
    Идея хорошая и соответствует принципам инженерии программирования. У меня на кафедре даже дипломы защищали на тему переиспользования кода.

    Плохим обычно бывает исполнение идеи. Да и платформа 1С предполагает множественное дублирование однотипного кода с небольшими правками. Это порождает холивары и многочисленные петиции к разработчикам платформы и по наследованию форм (меняешь одну и изменяются все связанные), и по инкапсуляции (чтобы сделать одну по работе с товарами и вставлять ее в другие)... Но на текущий момент "лучшей практикой" считается скопировать форму во второй документ и там ее развивать независимо.
    Ответ написан
    Комментировать
  • СписокЗначений, поиск по значению если тип искомого значения составной?

    @Dementor
    программист, архитектор, аналитик
    Для функции поиска по значению в списке значений не имеет никакого значение сколько типов в составном типе реквизита какого-то документа. Поиск по значению происходит по полному соответствию значения. Если значение уже есть в СпискеЗначений, то на выходе Истина, а иначе - Ложь.
    Ответ написан
    Комментировать
  • Как достать значение с регистра сведений в 1с?

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

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

    3) Чтобы получать доступ к данным выборки запроса, следует использовать метод Следующий()
    ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать();
    ВыборкаДетальныеЗаписи.Следующий(); // позиционирование на первую запись
    ВыборкаДетальныеЗаписи.Следующий(); // позиционирование на вторую запись
    Ответ написан
  • Табличная часть используется, если неизвестен объем или длина, это как понимать?

    @Dementor
    программист, архитектор, аналитик
    заранее неизвестно, какой будет объем или длина.

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

    Неизвестный объем данных - значит задание еще не финализировано и для хранимых сущностей могут появляться новые описательные характеристики. Если все делать реквизитами документа, то сразу две сложности: добавить характеристику для каждого объекта в свойства документа и добавить связанный элемент формы на форму. Как пример - в документе указывается несколько контактных лиц и их контакты; изначально планировали только телефон, а потом решили добавить e-mail. Когда у тебя табличная часть, то тебе нужно один раз описать новый реквизит табличной части и добавить на форме колонку - все, у всех хранимых объектов появилось новое свойство и его можно вносить/сохранять/просматривать.

    Неизвестная длина данных - это про количество хранимых данных, про длину списка. Я видел много раз, когда в конфигурациях (даже типовых) делают "Член инвентаризационной комиссии №1", Член инвентаризационной комиссии №2", Член инвентаризационной комиссии №3"... А если еще нужно десять людей указать? Проще создать табличную часть и больше не думать о количестве.
    Ответ написан
    Комментировать
  • Как кодом добавить значение в табличной части 1с?

    @Dementor
    программист, архитектор, аналитик
    Попробуйте так:
    Элементы.Детали.ТекущиеДанные.ПлановаяДатаВозврата = ТекущаяДата() + 7 * 86400;
    Ответ написан
    1 комментарий
  • Как передать данные с первой формы во вторую?

    @Dementor
    программист, архитектор, аналитик
    1) В новую форму значение передаются через параметры формы, а там при создании они анализируются и при необходимости заполняются элементы формы:
    ОткрытьФорму(НазваниеФормы, Новый Структура("МойПараметр", 1));


    2) Для обычных форм можно получить форму и перед открытием заполнить все нужные элементы формы.

    3) Стандартное оповещение между двумя формами делается через оповещения.
    3.1) На одной стороне делаем оповещение:
    Оповестить("НазваниеСобытия", Новый Структура("МойПараметр", 1));


    3.2) а на второй форме описываем обработчик оповещения, где что-то делаем с полученными значениями:
    Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
    	Если ИмяСобытия="НазваниеСобытия" Тогда
    		Сообщить(Параметр.МойПараметр);
    	КонецЕсли; 
    КонецПроцедуры
    Ответ написан
    Комментировать
  • При попытке запустить обработку формирующую данные для обмена с сайтом вылазят ошибки, в чем может быть проблема?

    @Dementor
    программист, архитектор, аналитик
    На скрине какой-то лютый треш.
    1) используются глобальные переменные и функции, которых просто нет в базе - т.е. код написан для другой базы 7.7
    2) в строке 1448 есть ключевое слово "Иначе", перед которым нет открывающей конструкции "Если" (но есть начало цикла и потому ошибка про отсутствие конца цикла) - т.е. код просто нерабочий.
    Ответ написан
    Комментировать
  • Как просмотреть открытые базы 1С на apache + windows?

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

    Если нужен полный список, включая те, где сейчас не работают, то нужно смотреть списки публикаций *.vrd
    Ответ написан
  • Почему ругается на параметр обмена Конвертация данных 2?

    @Dementor
    программист, архитектор, аналитик
    Советую включить отладку и остановку по ошибке.
    Ответ написан
    Комментировать
  • Как обратиться к полю таблицы через другой модуль объекта?

    @Dementor
    программист, архитектор, аналитик
    Через модуль формы можно обратиться к полю через Элемент.Товары.ТекщиеДанные.Цена,

    Это не совсем обращение к полю. Если точно, то тут - получение значения конкретной ячейки (с названием "Цена") у выделенной на форме строки табличного поля (с названием "Товары").

    Если рассматривать более детально:
    "Элементы" - это коллекция всех элементов на форме
    "Товары" - элемент формы типа "табличное поле", который связан или с таблицей значения в реквизитах формы, или с табличной частью одного из реквизитов поля (обычно это основной реквизит с названием "Объект")
    "ТекущиеДанные" - свойство табличного поля формы для доступа к данным, которые выведены на форму -т.е. содержит некоторую часть значений строки таблицы, которые программист решил сделать доступными на форме, т.е. там могут быть не все!

    Если на форме нужно получить доступ ко всем колонкам нужной строки табличной части (или таблицы значений), то нужно использовать свойство ТекущаяСтрока, в котором находится идентификатор строки, а потом получить нужную строку из реквизита формы с помощью метода НайтиПоИдентификатору()

    а как обратиться через другой модуль объекта?

    Если вы передаете в любой другой модуль контекст формы (указали форму параметром функции), то ничего не меняется. Получить данные можно по указанной выше схеме, только нужно обращаться через контекст. Т.е. будет как-то так: ПереданнаяФорма.Элементы.Товары.ТекущиеДанные.Цена

    Если вызов внешнего модуля инициируется не из формы и контекст недоступен, то такого понятия, как "выделенная на форме пользователем строка" не имеет смысла. У вас просто есть табличная часть, в которой есть множество строк, которые можно обходить итератором (в конструкции Для каждого ... Из ... Цикл), выборкой (результатом НайтиСтроки(Отбор)) или по указанному индексу.

    К примеру, обращение к значению первой строки будет иметь вид: Объект.Товары[0].Цена , а если вы работаете в модуле объекта, то и вовсе достаточно Товары[0].Цена
    Ответ написан
    Комментировать
  • Как узнать с какого IP авторизовался пользователь (IIS + 1C)?

    @Dementor
    программист, архитектор, аналитик
    В базе 1С - нигде.
    Так как туда ходит не пользователь, а IIS со своего хоста.

    Кто с каких IP подключался можно увидеть только в логах IIS.
    Ответ написан
    Комментировать
  • Как изменить сумму в документе при изменении суммы в элементе?

    @Dementor
    программист, архитектор, аналитик
    Пересчет общей суммы можно сделать:
    1) при событии изменения элемента формы в колонке таблицы
    2) при событии окончания редактирования строки таблицы
    3) при изменении таблицы
    4) в обработчике ПередЗаписью формы
    5) в обработчике ПередЗаписью объекта
    Ответ написан
    Комментировать
  • Проблема с обменом на КД2. Почему схлопывает таблицу?

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