Задать вопрос
  • В чём причина ошибки "Значение не является значением объектного типа (Продукция)"?

    @Dementor
    программист, архитектор, аналитик
    Варианты ошибки в данной точке:
    1) Поле ДокументОснование не заполнено - исправить проверкой значения.
    2) Поле ДокументОснование заполнено, но таким типом документа, у которого нет табличной части Продукция - исправить проверкой типа основания
    3) У основания есть табличная часть Продукция, но там нет значений - прежде чем обращаться к строкам нужно поставить проверку их наличия.

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

    Кстати, тут может еще быть проблема при обращении к свойству Печать, если Номенклатура - это сложный тип, а не просто ссылка на справочник.

    В общем нужно проверку сделать. Что-то типа такого:
    Если ТипЗнч(Источник.ДокументОснования) <> Тип("ДокументСсылка.ЗаказНаРазработку") Тогда
    	Возврат;
    ИначеЕсли Источник.ДокументОснования.Продукция.Количество() = 0 Тогда
    	Возврат;
    КонецЕсли;
    Ответ написан
    1 комментарий
  • Как заставить работать сканер карт с 1С?

    @Dementor
    программист, архитектор, аналитик
    Нужно зарегистрировать компоненту в системе от имени администратора с помощью regsvr32
    Ответ написан
    Комментировать
  • Как правильно сравнить конфигурации в 1С: Предприятии?

    @Dementor
    программист, архитектор, аналитик
    Описание этих и других программ - https://solutions.1c.ru/catalog/
    Ответ написан
    Комментировать
  • Как стать программистом 1С?

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

    @Dementor
    программист, архитектор, аналитик
    Меню "Файл" - команда "Сохранить".

    P.S. В самом прайсе есть выведенные на форму кнопки и по сохранению и по отправке по почте - но к чему нам такие усложнения?
    Ответ написан
    Комментировать
  • Ubuntu 18.04: как перенести /var/run из оперативки на диск?

    @Dementor
    программист, архитектор, аналитик
    А может нужно просто открыть конфиг постгри и указать реально существующий каталог?
    Ответ написан
    Комментировать
  • Почему в файловой базе работает, а в клиент-серверной возникает ошибка "Попытка передачи с клиента на сервер мутабельного значения 1-го параметра..."?

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

    2) При программировании на платформе 1С при работе с базой данных мы работаем или с Ссылками, или с полученными с их помощью Объектами. Ссылка отличается от Объекта своей неизменностью - это просто адрес с указанием типа данных и уникального идентификатора. Но Объект в отличии от Ссылки можно изменить и записать назад в базу по адресу этой Ссылки. Думаю это тоже понятно.

    3) Что вы пытаетесь сделать? У вас локально в памяти есть измененный Объект (в переменной Источник) и вы хотите передать его на сервер для дальнейшей параллельной обработки и тут и там. К сожалению мы работаем не на квантовых компьютерах и потому эффект запутанности нам недоступен. Мы можем править Объект или локально, или на сервере. Но не одновременно в двух местах!

    Итого. Судя по тексту вашей процедуры, вам вообще Источник передавать не нужно - передавайте сразу ДокументОснования. Но если предполагается, что на сервере Объект нужно изменить, то а) запишите его локально, б) передайте на него Ссылку, в) на сервере прочитайте по Cсылке, г) после изменения на сервере запишите Объект в базу, д) после возвращения потока управления на клиент, прочитайте Объект из базы по Ссылке.
    Ответ написан
    2 комментария
  • Программирование 1с, учеба?

    @Dementor
    программист, архитектор, аналитик
    Да. Можно учится на официальных курсах 1С (edu.1c.ru/) или на других площадках (Гилев, Чистов, Леонтьев&Павлов и многие другие).
    Ответ написан
    Комментировать
  • Как сформировать отчет на основе нескольких документов?

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

    1) Нужны ли все документы базы как показатель работы учетчиков (включая непроведенные черновики и помеченные на удаление) или только реально изменяющие остатки денежных средств?
    2) Одна статья ДДС - это один документ, как было реализовано, или в платеже могли быть 2 и более статей, которые нужно описать в табличной части?

    Для СКД вообще безразлично будет ли в запросе объединение "сырых" документов или моно-запрос к регистру накопления, в который пишут эти документы при проведении (но последний вариант будет быстрее отрабатывать, когда в базе будут сотни тысяч документов).

    Если нужен отчет не по документам, а по проведенным событиям - это регистр накопления с измерениями Контрагент, Договор и Статья ДДС, а в ресурсе будет только Сумма. В запросе использовать либо физическую таблицу регистра либо виртуальную таблицу оборотов с детализацией до регистратора.
    Ответ написан
    1 комментарий
  • Как получить имя реквизита табличной части?

    @Dementor
    программист, архитектор, аналитик
    Ответ зависит от варианта разрабатываемого интерфейса.

    Обычный интерфейс:
    Элемент формы связанный с табличной частью "ТаблицаДанных" - ЭлементыФормы.ТаблицаДанных
    Текущая колонка - ЭлементыФормы.ТаблицаДанных.ТекущаяКолонка
    Имя реквизита формы для колонки - ЭлементыФормы.ТаблицаДанных.ТекущаяКолонка.Имя
    Имя реквизита табличной части, который связан с колонкой - ЭлементыФормы.ТаблицаДанных.ТекущаяКолонка.Данные

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

    @Dementor
    программист, архитектор, аналитик
    Если этот "системный администратор", кроме администрирования хочет заниматься программированием под 1С - нужен.

    Цены узнавайте на местах: edu.1c.ru/dist/test/spisok.asp
    Ответ написан
    Комментировать
  • Почему не работает функция СтрНайти()?

    @Dementor
    программист, архитектор, аналитик
    1) отключить режим совместимости
    2) написать свою функцию поиска, которая будет в цикле искать до тех пор пока искомая подстрока встречается и последнее найденное будет первым с права.
    Ответ написан
    1 комментарий
  • Почему при попытке выгрузить информационную базу на диск D, возникает ошибка "Нехватка места на диске C"?

    @Dementor
    программист, архитектор, аналитик
    Измените на время выгрузки значения системных переменных TMP и TEMP на каталог на диске D:\
    Если не хотите менять темпы для всех приложений, то можно это сделать только для 1С. Создайте и запустите батник, где перед запуском самой 1С напишите:

    SET TMP=D:\TEMP
    SET TEMP=D:\TEMP
    Ответ написан
    8 комментариев
  • Как из конфигуратора или пользовательского режима выгнать пользователей из 1С?

    @Dementor
    программист, архитектор, аналитик
    Заходи в консоль кластера серверов 1С и "выкидывай" кого нужно и откуда нужно.
    Ответ написан
    3 комментария
  • Как решить ошибку 18456 SQL Server + 1C?

    @Dementor
    программист, архитектор, аналитик
    Не думали, что это троян? Еще вариант - локально стоит софт, который неправильно сконфигурирован (при установке тот увидел наличие MsSQL и предложил там хранить логи, но пароль не угадал и теперь все время бомбит).

    Если сами не можете "вычислить" виновного просмотром списка запущенных процессов, то воспользуйтесь программой, которая показывает открываемые сокеты - смотрите какой процесс "каждые 2-5 секунд по 3-5 раз" открывает соединение на порт 1433 или 1434.
    Ответ написан
  • Как выводить торговые предложения одного товара в разных категориях?

    @Dementor
    программист, архитектор, аналитик
    На сколько это сложно реализовать?

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

    @Dementor
    программист, архитектор, аналитик
    1) Ошибка на скрине - модуль управляемого приложения выполняется на клиенте. Если нужен вызов сервера, то перемести свою процедуру в серверный модуль. Директива НаСервереБезКонтекста имеет смысл только для модулей форм.

    2) Отладка серверных процедур не будет запускаться, если сервер 1С не переведен в режим отладки. по умолчанию - отладка только клиентского кода.
    3) Отладка фоновых процессов, вызовов веб-сервисов, внешних соединений и так далее включается в настройке автоматического подключения окна поиска предметов отладки.
    4) Если нужно делать отладку именно веб или http сервисов, то нужно добавить элемент debug в файл default.vrd.
    Ответ написан
    4 комментария
  • Почему внешняя компонента в 1с устанавливается, но не создает объект?

    @Dementor
    программист, архитектор, аналитик
    Думаю, что тонкий клиент запущен под пользователем, у которого нет прав на установку компоненты. IIS тут точно не причем.
    Ответ написан
  • Можно ли на форме реализовать интерактивный чертёж/макет шильдика?

    @Dementor
    программист, архитектор, аналитик
    Как это реализовать?

    Обратитесь к программистам 1С. Можно долго объяснять теорию про варианты вывода графической информации на формы и вы возможно даже умом поймете механику, но какой из этого толк, если вы не сможете это запрограммировать?
    Ответ написан
    5 комментариев
  • 1С, как сделать глобальную переменную COM объекта?

    @Dementor
    программист, архитектор, аналитик
    1) Если работа с COM происходит в одном модуле (модуль формы, модуль объекта обработки и т.д.), то до процедур в секции переменных объявить новую переменную, а далее ее инициировать открывшимся соединением и использовать, пока связанный с модулем объект находится в памяти.

    2) Если одно соединение нужно "гонять" (как вариант) между разными обработками, которые (дополнительно усложним) запускаются из фонового процесса, то передавать можно с помощью параметров методов.

    *) Тут в комментариях написали про возможность размещать во временном хранилище. Возможно так можно - ни разу не пробовал. Но нужно учитывать, что у помещенных во временное хранилище значений без указания уникального идентификатора срок жизни лишь до первого серверного вызова, а потом значение удаляется, а если указывать уникальный идентификатор, то допустимо указание идентификатора лишь существующей формы и время жизни ограничено временем жизни формы (уже проще сделать экспортную переменную на форме).
    Ответ написан
    Комментировать