toshchak @ Сегодня, 12:04
, Как то интересно. Зачем делать регистры путёвок. Само наличие путёвки, само за себя говорит. Я бы испоьзовал планы видов характеристик при формировании путёвки относительно конкретного санатория, регистры и тем более движения по ним нет никакого смысла использовать. Путёвка это документ, то к чему привязывается любая куча характеристик. Отчёты в разрезе характеристик указанных в этом документе
Maxymoff @ Сегодня, 11:26
, Я хотел бы вам помочь, только когда вы "допиливаете" справочник - вы имеете ввиду не только изменение состава реквизитов самого справочника, но и сами заполняете уже их данными? Если да, и никто пока вы игрались с конфигурацией не вносил туда инфу, ваша база с вашей новой конфигурацией становиться основной. После проверки работоспособности, можете ею подменить боевую. Объединение конфигураций изменяет только структуры хранения данных. Все ваши внесённые данные, остануться в вашей скопированной базе и не перенесуться на боевую. Вам снова нужно будет ввести данные в ваш "расширенный справочник". Поэтому на небольшой порции данных тестируйте свои изменения, меняйте конфигурацию объединением, потом только начинайте вводить данные.
sava1 @ Вчера, 11:51
, О том и речь, 1с сносит X. А Ubuntu просит снова войти в графическую сессию, где 1с как не бывало. Причем если был открыт браузер, открываются все раннее открытые окна. 1С не причем, ткнул кнопку и переписала конфигурацию веб сервера. Зато теперь JAVA нужно прикрутить на тот убогий виртуальный сервер, чтобы справку распечатать под лицензией 1С
sava1 @ Сегодня, 10:03
, Молчит. Честно говоря мне представляется он как мой журнал, и пока я туда чего нибудь не напишу - там ничего и не появляется. (ну кроме аунтификации, сохранения базы и всего остального что там не должно сохраняться)
TipsyKID @ Сегодня, 10:43
, Даже пробовал и вообще без пользователей. Монитор ламповый, после нажатия кнопки запуска процедуры - хлопок. Даже посещает опасение за монитор!!!
uanr81 @ Сегодня, 10:49
, Интересно, что если указывать допустимые имена для текущего пользователя, тогда и отрабатывает механизм повышения привелегий над файлами. Но какие повышения привилегии, если файлы и так этого пользователя. Короче вообще не понятно!
TipsyKID @ Сегодня, 10:43
,
Цитата
Пробовали отключить механизм защиты от опасных действий?
Чтобы не быть голословным ниже приведу текст команды с которой запускаю НачатьЗапускПриложения(). В сценарии оборачиваются команды в "script " для захвата вывода терминала и помещения его в файл отчет для последующего его чтения и вывода пользователю в сообщении пользователю. В данном случае, я преднамеренно указываю недопустимое расположение этого файла (/opt/otv).
Цитата
script -qc 'bash <<-"heredoc" echo "Смена прав на ключ СА /tmp/v8_5aOuw6_7/files/keyCa1" chmod 600 "/tmp/v8_5aOuw6_7/files/keyCa1" if [ $? -eq 0 ]; then echo "Изменены права на ключ СА /tmp/v8_5aOuw6_7/files/keyCa1" else echo "Ошибка при попытки смены права на ключ СА /tmp/v8_5aOuw6_7/files/keyCa1" fi echo "Издание сертификата ключа демона /tmp/v8_5aOuw6_7/files/key1-cert.pub" ssh-keygen -s "/tmp/v8_5aOuw6_7/files/keyCa1" -I srt_dmn_sshd_0004_0002 -h -n fd87:f221:3934:0000:0230:4fff:fe67:caf2,192.168.001.201 -z 1205201113111 /tmp/v8_5aOuw6_7/files/key1.pub if [ $? -eq 0 ]; then echo "Издан сертификат ключа демона /tmp/v8_5aOuw6_7/files/key1-cert.pub" echo "Содержимое изданного сертификата" echo "##########################################################" ssh-keygen -L -f "/tmp/v8_5aOuw6_7/files/key1-cert.pub" echo "##########################################################" else echo "Ошибка при попытки издать сертификат на ключ демона /tmp/v8_5aOuw6_7/files/key1.pub" fi echo "Смена прав на ключ СА /tmp/v8_5aOuw6_7/files/keyCa2" chmod 600 "/tmp/v8_5aOuw6_7/files/keyCa2" if [ $? -eq 0 ]; then echo "Изменены права на ключ СА /tmp/v8_5aOuw6_7/files/keyCa2" else echo "Ошибка при попытки смены права на ключ СА /tmp/v8_5aOuw6_7/files/keyCa2" fi echo "Издание сертификата ключа демона /tmp/v8_5aOuw6_7/files/key2-cert.pub" ssh-keygen -s "/tmp/v8_5aOuw6_7/files/keyCa2" -I srt_dmn_sshd_0003_0005 -h -n fd87:f221:3934:0000:0230:4fff:fe67:caf2,192.168.001.201 -z 1205201113111 /tmp/v8_5aOuw6_7/files/key2.pub if [ $? -eq 0 ]; then echo "Издан сертификат ключа демона /tmp/v8_5aOuw6_7/files/key2-cert.pub" echo "Содержимое изданного сертификата" echo "##########################################################" ssh-keygen -L -f "/tmp/v8_5aOuw6_7/files/key2-cert.pub" echo "##########################################################" else echo "Ошибка при попытки издать сертификат на ключ демона /tmp/v8_5aOuw6_7/files/key2.pub" fi echo "Смена прав на ключ СА /tmp/v8_5aOuw6_7/files/keyCa3" chmod 600 "/tmp/v8_5aOuw6_7/files/keyCa3" if [ $? -eq 0 ]; then echo "Изменены права на ключ СА /tmp/v8_5aOuw6_7/files/keyCa3" else echo "Ошибка при попытки смены права на ключ СА /tmp/v8_5aOuw6_7/files/keyCa3" fi echo "Издание сертификата ключа демона /tmp/v8_5aOuw6_7/files/key3-cert.pub" ssh-keygen -s "/tmp/v8_5aOuw6_7/files/keyCa3" -I srt_dmn_sshd_0002_0005 -h -n fd87:f221:3934:0000:0230:4fff:fe67:caf2,192.168.001.201 -z 1205201113111 /tmp/v8_5aOuw6_7/files/key3.pub if [ $? -eq 0 ]; then echo "Издан сертификат ключа демона /tmp/v8_5aOuw6_7/files/key3-cert.pub" echo "Содержимое изданного сертификата" echo "##########################################################" ssh-keygen -L -f "/tmp/v8_5aOuw6_7/files/key3-cert.pub" echo "##########################################################" else echo "Ошибка при попытки издать сертификат на ключ демона /tmp/v8_5aOuw6_7/files/key3.pub" fi echo "Смена прав на ключ СА /tmp/v8_5aOuw6_7/files/keyCa4" chmod 600 "/tmp/v8_5aOuw6_7/files/keyCa4" if [ $? -eq 0 ]; then echo "Изменены права на ключ СА /tmp/v8_5aOuw6_7/files/keyCa4" else echo "Ошибка при попытки смены права на ключ СА /tmp/v8_5aOuw6_7/files/keyCa4" fi echo "Издание сертификата ключа демона /tmp/v8_5aOuw6_7/files/key4-cert.pub" ssh-keygen -s "/tmp/v8_5aOuw6_7/files/keyCa4" -I srt_dmn_sshd_0004_0003 -h -n fd87:f221:3934:0000:0230:4fff:fe67:caf2,192.168.001.201 -z 1205201113111 /tmp/v8_5aOuw6_7/files/key4.pub if [ $? -eq 0 ]; then echo "Издан сертификат ключа демона /tmp/v8_5aOuw6_7/files/key4-cert.pub" echo "Содержимое изданного сертификата" echo "##########################################################" ssh-keygen -L -f "/tmp/v8_5aOuw6_7/files/key4-cert.pub" echo "##########################################################" else echo "Ошибка при попытки издать сертификат на ключ демона /tmp/v8_5aOuw6_7/files/key4.pub" fi echo "Смена прав на ключ СА /tmp/v8_5aOuw6_7/files/keyCa5" chmod 600 "/tmp/v8_5aOuw6_7/files/keyCa5" if [ $? -eq 0 ]; then echo "Изменены права на ключ СА /tmp/v8_5aOuw6_7/files/keyCa5" else echo "Ошибка при попытки смены права на ключ СА /tmp/v8_5aOuw6_7/files/keyCa5" fi echo "Издание сертификата ключа демона /tmp/v8_5aOuw6_7/files/key5-cert.pub" ssh-keygen -s "/tmp/v8_5aOuw6_7/files/keyCa5" -I srt_dmn_sshd_0001_0002 -h -n fd87:f221:3934:0000:0230:4fff:fe67:caf2,192.168.001.201 -z 1205201113111 /tmp/v8_5aOuw6_7/files/key5.pub if [ $? -eq 0 ]; then echo "Издан сертификат ключа демона /tmp/v8_5aOuw6_7/files/key5-cert.pub" echo "Содержимое изданного сертификата" echo "##########################################################" ssh-keygen -L -f "/tmp/v8_5aOuw6_7/files/key5-cert.pub" echo "##########################################################" else echo "Ошибка при попытки издать сертификат на ключ демона /tmp/v8_5aOuw6_7/files/key5.pub" fi exit 0 heredoc ' /opt/otv
Вот что выводит командный интерпритатор в этом случае:
Цитата
script: невозможно открыть /opt/otv: Отказано в доступе
Vofka @ Сегодня, 9:33
, В сценарии может быть указано, всё что угодно, вплоть до создания любых файлов в любом месте. Не станеш же разбирать весь текст скрипта на предмет "опасных действий" для 1с. В описание оповещения указывается обработчик в случае ошибки. Не понятно, какие там ошибки вообще должна отлавливать 1с, кроме прав доступа к файлам? В модуле отливается вывод терминала, сама оболочка контролирует доступ к файлам. Если запустить из командной строки, появиться сообщение "Отказано в доступе" и система продолжить жить. Короче перед запуском - окно на весь экран: Уважаемый пользователь, перед выполнением вашего сценария, сохраните и закройте всё в 1с, на всякий случай сделайте архивную копию вашей информационной базы, возможно появться черный экран и 1с исчезнет. Не пугайтесь, после ввода вашего пароля пользователя вы снова сможете попасть на ваш графический рабочий стол и снова запустить 1с. Грустно, но на такое поведение 1с, есть пока неизвестные мне причины. Спасибо
Платформа 8.3.1547, конфигурация самописаная, ОС Ubuntu 18 Написал небольшую библиотеку. В ней есть процедуры который используют НачатьЗапускПриложения. Всё вроде нормально, скрипты выполняются как нужно, если следить за разрешениями. Но если заставить отработать с файлом с преднамеренным нарушением прав доступа, загорается черный экран, 1с слетает и появляется приглашение для входа пользователя в графическую сессию. Если запустить 1с от рута, всё отрабатывает пишет всё что укажешь и куда укажешь ничего не слетает. Пробовал обернуть в Попытка/Исключение (так поржать) ничего не меняется, черный экран и окно входа в систему. Как же отловить встроенными методами превышение превилегий при работе с файлами?
Доброго здоровья. Кто слышал, существует ли БСП для конфигураций с назначением использования приложение для мобильной платформы? Было бы отлично использовать данный инструмент в своём захудалом предприятии ))). Спасибо.
batlcat @ 15.03.18, 16:51
, Платформа 8.3.12.1469 На VPS Ubuntu 16.04 64 бит 1c сервер 32 бит + СУБД Postgrespro 9.6 64 бит Всё взлетело! Подключается с Ubuntu 16.04 32 бита как толстым так и тонким клиентом. Конфигурация сам писал. Первое что нужно сделать на локальной машине с 1с клиентом (обратите внимание версии клиента и сервера должны быть идентичны) подправить файл /etc/hosts. Минимальное содержимое этого файла для нашей задачи: *************************** 127.0.0.1 localhost #С первой строкой всё ясно 127.0.0.1 ImyaVpsServera #Здесь ImyaVpsServera меняете на имя для вашего VPS, имя узнать можно в таком же файле на VPS, как он себя именует. #Смотреть нужно на строку с IP интерфейса к которому подключаетесь по SSH #Предполагаю при установке 1с в .cpp модулях оно используется, если этого не сделать при запуске 1с клиента, вылазит ошибка #нет связи с указанным узлом ************************* Теперь добавляем в список загрузки существующую базу которая крутится на вашем VPS, выбираем пункт ****************************************************** На сервере 1С:Предприятия Кластер серверов: 127.0.0.1 или Кластер серверов: localhost или Кластер серверов: ImyaVpsServera Имя информационной базы: ImyaVashejBazu ******************************************************* Вместо ImyaVashejBazu вписываете вашу, если база ещё не крутиться создаёте новую, пустую средствами СУБД, запоминаете имя и вписываете, подключаетесь толстым, загрузить базу из файла. Перед всеми изменениями базы я всегда делаю дамп базы средствами СУБД, если создаваемая база огромная также загружаю средствами СУБД, потом только подключаю к серверу 1с. Пока ничего ни разу не упало. !!!!!!!!!!Обязательно на сервере нужно настроить как будут поддерживаться ваши активные а не активные сессии SSH будут закрываться, для этого на VPS настроим сервер sshd. Редактируем файл /etc/ssh/sshd_config **************************************************************** TCPKeepAlive no ClientAliveCountMax 3 ClientAliveInterval 20 ****************************************************************** Здесь определяется количество запросов, которое ssh-сервер отправляет ssh-клиентам через определенные промежутки времени. Как только установленное значение запросов достигнуто, а клиент так и не ответил, соединение будет разорвано, если не посылать такие запросы, то их придётся закрывать вручную, так как время их жизни бесконечно, а ресурсы ими отнимаемые ограничены SSH работаете поверх протокола TCP, который отвечает о гарантированной доставке пакета. Вряд ли ваша база может рухнуть при таком соединении, за её состояние отвечает СУБД. Но всё равно, перед тем как меняете вы схему данных, или заливаете или удаляете данные сделайте дамп состояния вашей базы, это сохранит вам в будущем кучу сил и времени, ибо это всего тупая железяка плюс куча разных факторов Теперь строка подключение SSH в терминале на клиенте вводите: ************************************************************* ssh -N -L 1540:127.0.0.1:1540 -N -L 1541:127.0.0.1:1541 -N -L 1560:127.0.0.1:1560 -N -L 1561:127.0.0.1:1561 вашVPS ************************************************************ Потом запускаем 1с предприятие, выбираете из списка вашу базу и работаете. Всё запустить можно за 20 минут. А вы говорите))))))))))))))))) Не нужно ни веб сервер, ни TLS 1.2, ни RDP, не упаси господи GUI на серваке, ни DMZ зоны. Настроил файервол на VPS на нестандартный порт SSH, ни кому не сказал где сервак и работай, трудись себе))). В моём случае установлен веб сервер апач 2.4, работает мобильное приложение через http и web-сервисы , опубликована на веб сервере база для работы онлайн с андроида через браузер(естественно TLS). Спасибо
uanr81 @ Сегодня, 17:44
, Два дня мучений и оно взлетело. Что сделал: Установил вначале пакеты deb amd64(64bit), (я так думаю можно было только comon и ws поставить, но прилепил всё), потом скопировал папку /opt/1c/v8.3/X84_86 в папку /opt/1c/v8.3/reservX84_86 путь к которой запомнил. Далее установил 1с пакеты i386, это действие конечно снесло папку /opt/1c/v8.3/X84_86 и создало свою /opt/1c/v8.3/i386, но наша то осталась /opt/1c/v8.3/reservX84_86 и там нужный нам файл wsap24.so нужной для нашего апача архитектуры amd64. Следующее идём в папку с нашей 1с /opt/1c/v8.3/i386 и запускаем webinst, нашу конфигурацию к апачу пока не подключаем, находим наш конфигурационный файл в папке /etc/apache2/conf-available/нашфайл.conf, открываем в редакторе и заменяем строку LoadModule _1cws_module "/opt/1c/v8.3/i386/wsap24.so" на LoadModule _1cws_module "/opt/1c/v8.3/reservX84_86/wsap24.so", сохраняем файл, подключаем конфигурацию к апачу sudo a2enconf нашаКонфигурация и перезапускаем апач. Возрадуемся апач стартует, в веб браузере вводим путь к базе и о чудо заработало. Всем спасибо.
Ubuntu 16.04 amd64 , установлен сервер 8.3.11.3034 i386 в связке PostgresqlPro 9.6 Apache 2.4 После публикации базы Apache перестаёт запускаться. Уже и подменял wsap24.so из версии amd64, тогда Apache стартует а приложение в браузере выдаёт ошибку. Два пакета 1с сразу для двух архитектур не ставятся, удаляют гады друг друга. 32 битный Apache тоже гад не хочет ставиться, можно было все на 32 битную, но туда PostgresqlPro 9.6 не лезет. Может кто решал такую проблему, спасибо
Milman @ Сегодня, 20:29
, Я вам уже написал, дата документа не изменится, проводка будет всегда текущей датой 8:00. Если хотите можно написать
Дата = дата("" +Лев(строка(Дата), 11)+"08:00:00");
тогда проведение документа всегда будет датой записанного документа но временем 8:00:00, и все документы будут проводится в этой секунде. Но вся прелесть того, что поле период в регистрах учета для этого документа соответствует реквизиту дата записанного документа - теряется. Может вы только хотите изменять дату (под этим понимается и время включительно) документа при его записи, тогда меняйте запись самого документа как вам советуют.
Vofka @ Сегодня, 8:37
, Дата документа здесь не меняется, меняется значение для поля период в регистрах проведения этого документа, я понял что это преследовал создатель темы.
Milman @ Сегодня, 18:17
, Я так понял вы хотите всегда при проведении этого документа использовать текущую дату 8:00, когда записан документ другой датой. Не буду спрашивать зачем это вам. В обработке проведения документа вначале модуля подмените реквизит Дата,
Процедура ОбработкаПроведения(Отказ, Режим) //В начало модуля добавляем Дата = дата("" +Лев(строка(текущаядата()), 11)+"08:00:00"); //конец добавления КонецПроцедуры
ValeryZ @ Вчера, 14:13
, На мобильном сделть форму вставить в неё код
&НаКлиенте Процедура ПроверитьСервис(Команда) мояСтрока = "КлиентСтрока";// То что отправляем на сервис сообщить(мояСтрока); сообщить(ПростоеПодключениеКВебСервису(мояСтрока));//Так как операция веб-сервиса возвращает строку КонецПроцедуры &НаСервере функция ПростоеПодключениеКВебСервису(данные) Экспорт ВСОпределение = Новый WSОпределения("http://192.168.1.2/DemoUT10/ws/newService.1cws?wsdl","Fedorov"); //Должен быть пользователь Fedorov в базе на сервере //"ваша строка подключения публикации сервиса на сервере", "пользователь, если есть и пароль если есть" ВСПрокси = Новый WSПрокси(ВСОпределение, "newService","newService","newServiceSoap"); ВСПрокси.Пользователь = "Fedorov"; ответСервиса = ВСПрокси.MyOperation(данные); возврат ответСервиса; КонецФункции
на сервере , подопытная УТ 10.3, создаём веб сервис (newService) указываем URI пространство имен у него(здесь указано newService), в нем создаём операцию (MyOperation), с параметром strokaKlient типа string (http://www.w3.org/2001/XMLSchema) и возвращающей значение типа string (http://www.w3.org/2001/XMLSchema) по умолчанию
Функция MyOperation(strokaKlient) возврат "" + strokaKlient + "Отвечаю что я с сервера прилетела"; КонецФункции
Если без ошибок опубликуете сервис, то при вводе в браузере вашей строки подключения (http://192.168.1.2/DemoUT10/ws/newService.1cws?wsdl где newService.1cws имя вашего опубликованного веб сервиса, DemoUT10 папка публикации, http://192.168.1.2 адрес вашего сервера) откроется схема работы сервиса
logist @ Сегодня, 16:14
, Я не понял через что вы обмен выполняете, вот код через веб-сервис DataTransfer, операция Registration, на сервере пользователь Fedorov, без пароля (тоже переименовал на латиницу ), и по моему вы не правильно понимаете назначение объекта WSПрокси, в коде ниже переменной Ответ приходит возврат операции веб-сервиса на сервере
Функция ПодключениеКВебСервису(ПараметрДляОтправкиНаСервер) Экспорт //Сервер авторизации ВСОпределение = Новый WSОпределения("http://192.168.1.2/DemoUT10/ws/DataTransfer.1cws?wsdl","Fedorov"); ВСервис = ВСОпределение.Сервисы.Получить("DataTransfer","DataTransfer"); ВТочкаВхода = ВСервис.ТочкиПодключения.Получить("DataTransferSoap"); ВОперация = ВТочкаВхода.Интерфейс.Операции.Получить("Registration");
ВСПрокси = Новый WSПрокси(ВСОпределение, "DataTransfer","DataTransfer","DataTransferSoap"); ВСПрокси.Пользователь = "Fedorov"; Тест = Новый Структура; Тест.Вставить("Стр","Строка"); Ответ = ВСПрокси.Registration(СериализаторXDTO.ЗаписатьXDTO(ПараметрДляОтправкиНаСервер)); Возврат СериализаторXDTO.ПрочитатьXDTO(Ответ); КонецФункции
Сейчас у меня возникла потребность в постоянном вводе новых населенных пунктов Украины. Для этого создал справочник НаселПункт, иерархический три уровня группы сверху (для вида папкаОбласть/папкаРайон/элементНаселенный пункт), подробности в файле пояснения.txt. Собрал обработку с именем ЗалитьИзТаблицыНасПункты, на сайте https://maps.vlasenko.net/list/ukraine/ скачал файл в формате csv, открыл и переформатировал его в MXL, сохранил его как НасПунктыСОкончанием.mxl, дописал в него ключ остановки обработки. По сути это табличный документ с пятью колонками. В обработке нужно ткнуть по кнопке "Добавить в справочник", откроется диалог выбора файла, где нужно указать НасПунктыСОкончанием.mxl. Начнется загрузка вашего созданного справочника НаселПункт, элементы (то есть населенные пункты) с реквизитом GPS, будут по своим папкам (то есть районам), те же в своих(то есть по областям). Одинаковое название не может быть у населенного пункта только в одном и том же районе, в другом пожалуйста, тоже с районами в областях. Обработка добавляет только новые, если уже есть добавления не происходит. Если уже закачали один раз из файла, второй раз изменений не последует. Тестировал на андроиде Lenovo s650, версия платформы 8.3.11.3034. Загрузило в течении 13 минут(там порядка 30000 строк в НасПунктыСОкончанием.mxl файле, нужно ждать пока вылезет сообщение "загрузка завершена") пароль на файл стандартный. Спасибо, может кому пригодится.
Здравствуйте. На удаленном VPS Ubuntu 16.04 развернут 1с сервер 8.3.11.3034 + Postgres 9.6, apache 2.4. Подключение к СУБД настроено только локально. С базой работают с мобильного приложения через веб-сервис. Задумка такая, чтобы подключаться к серверу 1с можно было только через SSH(для администрирования), а все интерфейсы взаимодействия с 1с сервером и внешним миром было только посредством веб-сервера. На клиенте тоже Ubuntu. Оборачивал ли кто сессию клиента в SSH, подскажите, а то нужно в конфигурации ещё наклацать много всего, а так с голым подключением не комельфо. SSL не предлагать, RDP тоже (как один писал на GUI на сервере GUI?) )). Да и когда сделаю, обязуюсь отписаться, может кому пригодиться. Защищать сервер буду только силами самого же сервера без всяких DMZ и прочего. спасибо
Vofka @ 22.03.16, 11:30
, Недавно столкнулся с gmail SMTP сервером , вот функция у меня работала платформа 8.3.11, не забудьте включить в настройках почты своего ящика разрешение на взаимодействие с сторонними программами
Функция ОтправкаЭлектроннойПочты(ПолучателиЭлПочты, ТемаЭлПочты, ТекстЭлПочты, СписокВложенийЭлПочты, Ответ) Экспорт Профиль = Новый ИнтернетПочтовыйПрофиль; Профиль.ИспользоватьSSLSMTP = Истина; Профиль.ИспользоватьSSLPOP3 = Истина;// это здесь не обязательно Профиль.ТолькоЗащищеннаяАутентификацияPOP3 = Ложь;// это здесь не обязательно Профиль.ТолькоЗащищеннаяАутентификацияSMTP = Ложь; Профиль.АдресСервераSMTP = "smtp.gmail.com"; Профиль.ПарольSMTP = "Здесь пароль пользователя"; Профиль.ПользовательSMTP = "здесь почтовый адрес полностью"; Профиль.ПортSMTP = 465; Профиль.АутентификацияSMTP = СпособSMTPАутентификации.Login; Почта = Новый ИнтернетПочта; Письмо = Новый ИнтернетПочтовоеСообщение; Текст = Письмо.Тексты.Добавить("Здесь текст писма"); Текст.ТипТекста = ТипТекстаПочтовогоСообщения.ПростойТекст; Письмо.Тема = "Тема письма"; Письмо.Отправитель = "отправитель письма"; Письмо.ИмяОтправителя = "Имя отправителя"; Для Каждого Стр Из ПолучателиЭлПочты Цикл //Если получателей несколько Письмо.Получатели.Добавить(Стр); КонецЦикла; Попытка Почта.Подключиться(Профиль); Почта.Послать(Письмо); Исключение ЗаписатьОшибку(Ответ, "Ошибка отправки почты. (Код 3-1)", 1,ОписаниеОшибки()); //Здесь функция обработки //исключения, моя функция, здесь пишите свою КонецПопытки; Почта.Отключиться(); КонецФункции
ЗначениеОтбора = Новый Структура("Владелец", ТекущаяСтрока.Свойство); ПараметрыВыбораФормы = Новый Структура("Отбор", ЗначениеОтбора); //Здесь немного изменим //ОткрытьФорму("Справочник.ЗначенияСвойствОбъектов.ФормаВыбора", ПараметрыВыбораФормы, Элемент); ОписаниеОповещения = Новый ОписаниеОповещения("ЦепляемаяЭкспортируемаяПроцедура", МодульГдеРасположПроцедура,Элемент); ОткрытьФорму("ОткрываемаяФорма",ПараметрыВыбораФормы,Элемент,,,, ОписаниеОповещения); //Дальше идет выполнение без остановки КонецПроцедуры
&НаКлиенте Процедура ЦепляемаяЭкспортируемаяПроцедура(Результат, Параметры) Экспорт// в Результат залетит выбор, в Параметры //мы засунули элемент поля выбора Если не Результат = Неопределено Тогда Параметры = Результат; КонецЕсли; КонецПроцедуры // ЦепляемаяЭкспортируемаяПроцедура()
Это на тот случай когда можно использовать любую форму для выбора значения
Цитата(uanr81 @ 29.11.17, 20:14)
МодульГдеРасположПроцедура
В данном случае в параметре нужно передать ЭтаФорма
Цитата(uanr81 @ 29.11.17, 20:47)
Параметры
А здесь нужно указать реквизит табличной части например
Параметры.Родитель.ТекущиеДанные.Источник = Результат;// Здесь Источник это имя поля табличной части, нужно заменить на ваш
Подбор реквизита происходит из иерархического справочника, иерархия элементов. Как после выбора определить если ссылки на выбранный элемент у потомков, точнее сказать является ли выбранный элемент родителем? Как то так спасибо
ВЫБРАТЬ ТоварыНаСкладах1ОстаткиИОбороты.Номенклатура КАК Номенклатура, ТоварыНаСкладах1ОстаткиИОбороты.Склад, ТоварыНаСкладах1ОстаткиИОбороты.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток, ТоварыНаСкладах1ОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток, ТоварыНаСкладах1ОстаткиИОбороты.КоличествоОборот КАК КоличествоОборот, ТоварыНаСкладах1ОстаткиИОбороты.КоличествоПриход КАК КоличествоПриход, ТоварыНаСкладах1ОстаткиИОбороты.КоличествоРасход КАК КоличествоРасход ИЗ РегистрНакопления.ТоварыНаСкладах1.ОстаткиИОбороты(&НачПер, &КонПер, , ДВИЖЕНИЯ, ) КАК ТоварыНаСкладах1ОстаткиИОбороты ИТОГИ СУММА(КоличествоНачальныйОстаток), СУММА(КоличествоКонечныйОстаток), СУММА(КоличествоОборот), СУММА(КоличествоПриход), СУММА(КоличествоРасход) ПО Номенклатура АВТОУПОРЯДОЧИВАНИЕ
Запрос выполняю в консоле запросов. &НачПер=01052010,&КонПер=01062010. В результат попадают записи из регистра ТоварыНаСкладах1 с периодом записи 10.04.2010
Здравствуйте. Хочу пройти комплексный курс по конфигурированию 8.2 в донецке. Прокоментируйте стоит ли тратить время и деньги, очень уж хочеться по глубже узнать о 1с. Спасибо большое
процедура добавить() открытьподбор("Справочник.ВидыРасходПриход","ДляРасхода",,0); конецпроцедуры процедура обработкаподбора(эл,конт) если эл.вид()="ВидыРасходПриход" тогда открытьподбор("Справочник.ПлатежиПоступления","ДляРастрат",,0,эл);//В этой форме - процедура приоткрытии() метод использоватьвладельца(форма.параметр,0) иначеесли эл.вид()="ПлатежиПоступления" тогда подск="Из казны в: "+строка(эл.наименование); су=0; если ВвестиЧисло(су,подск,8,2,)=1 тогда новаястрока(); Расход=эл; сумма=су; конецесли; конецесли; конецпроцедуры
По суте для подбора можно пройти сколько угодно уровней подчинения. Ещё раз спасибо Cthulhu и всем кто потратил на меня время
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!