Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> авто-запись данных на сервер для реквизита ссылка 2 страниц V   1 2 >          
Gigi Подменю пользователя
сообщение 31.05.17, 15:02
Сообщение #1

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

Всем привет!
У меня следующий вопрос относительно записи данных на сервер.
Для этой цели худо бедно написал вот такую вот процедуру в общем модуле:
Процедура ЗаписатьНаСервер(Конфигурат,КонфигуратЭлемент, КодНомерПойска, СтолбецВставки, ТекстВставки) Экспорт
//==========================================================================
//Сообщить(КодНомерПойска = "");
Если КодНомерПойска = "" Тогда    
Перейти ~ПроцедураВыход;
КонецЕсли;    
Если Конфигурат = "Справочники" Тогда
    Попытка
    РезультПойска = Справочники[КонфигуратЭлемент].НайтиПоКоду(КодНомерПойска);
    Исключение
    Сообщить("Указанный адрес: «"+Конфигурат+"."+КонфигуратЭлемент+"» не существует!");
    КонецПопытки
ИначеЕсли  Конфигурат = "Документы" Тогда
    Попытка
    РезультПойска = Документы[КонфигуратЭлемент].НайтиПоНомеру(КодНомерПойска);    
    Исключение
    Сообщить("Указанный адрес: «"+Конфигурат+"."+КонфигуратЭлемент+"» не существует!");
    КонецПопытки
Иначе
    Сообщить("Не корректное указание объекта конфирурации!");
КонецЕсли;
//==========================================================================
Если РезультПойска = "" Тогда
    Сообщить("В Списке: «"+Конфигурат+"."+КонфигуратЭлемент+"» КодНомерПойска: """ + КодНомерПойска + """ не найден!");
Иначе
    Попытка
    СтрокаОбъект = РезультПойска.ПолучитьОбъект();
    СтрокаОбъект[СтолбецВставки]=ТекстВставки;
    СтрокаОбъект.Записать();
    //Сообщить("Значение обекта по адрессу: «"+Конфигурат+"."+КонфигуратЭлемент+"."+СтолбецВставки+""» в строке: «"+СтрокаОбъект+"» записано!");
    Исключение
    Сообщить("Указанный адрес: «"+Конфигурат+"."+КонфигуратЭлемент+"."+СтолбецВставки+"» не существует!");
    КонецПопытки    
    КонецЕсли;
//==========================================
~ПроцедураВыход:;
КонецПроцедуры

Вроде работает без сбоев и часто просто выручает ... и вроде бы каждый раз не нужно писать кучу строк и повторятся .. ибо благодаря данной процедуре все обходиться всего одной строкой, только вот одно проблема.
Процедура работает, если тип реквизита для заполнения СТРОКА.. и вообще для любого реквизита, кроме типа ССЫЛКА.
Вот в чем деготь.
Ну понятное дело ... рождается вопрос .. для чего это нужно.. ведь не случайно не работает .... потому что ведь тип ССЫЛКА, а не другой тип.
Отвечаю...
Это нужно, для кое какого авто-заполнения при ВЫБОРЕ из списка. Без необходимости вручную указывать ссылку.
И я понимаю, что возникнет уже второй вопрос... ну типа .. для этого есть подчиненные справочники, но они меня не устраивают и для цели не очень подходят.
Так вот, уважаемые специалисты.
Не могли бы доработать данную процедуру?
И что бы она работала для авто-ввода и в случае, если тип реквизита ССЫЛКА!
Просто сам не могу это сделать... опыта и глубоких знаний не достаточно...
Вот в чем суть просьбы.
Буду признателен!

logist Подменю пользователя
сообщение 31.05.17, 15:50
Сообщение #2

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Подозреваю изобретаете велосипед, жаль, как всегда, не знаю исходной задачи smile.gif Вникать в "набор слов" нет желания, подожду развития событий))


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: Gigi,

Gigi Подменю пользователя
сообщение 31.05.17, 16:08
Сообщение #3

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

Цитата(logist @ 31.05.17, 16:50) *
Подозреваю изобретаете велосипед, жаль, как всегда, не знаю исходной задачи Вникать в "набор слов" нет желания, подожду развития событий))

Ладно... более укороченный вариант, для простоты..
&НаСервер
Процедура ЗаписатьНаСервер()
РезультПойска = Справочники.ТОЧКА.НайтиПоКоду("000000001");
СтрокаОбъект = РезультПойска.ПолучитьОбъект();
СтрокаОбъект.ОбъектПринадл="ТекстВставки";
СтрокаОбъект.Записать();
КонецПроцедуры


"ОбъектПринадл" это реквизит справочника "ТОЧКА". Его тип ССЫЛКА.
Вопрос в том, как в этот реквизит вставить просто текст (т.е. "ТекстВставки")... который существует в списке.
А на счет велосипеда... ну не знаю.. просто много че хочеться не так как система 1С предлогает, а так как нужно цели. О которой если начну то это очень долгий разговор получиться!
Поэтому, хотел просто узнать у Вас... каким путем можно осуществить авто-ввод в реквизит тип которой ссылка... в данном случае по адресу: Справочники.ТОЧКА.ОбъектПринадл
И возможно ли это?

logist Подменю пользователя
сообщение 31.05.17, 16:15
Сообщение #4

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Gigi @ 31.05.17, 17:08) *
"ОбъектПринадл" это реквизит справочника "ТОЧКА". Его тип ССЫЛКА.
Вопрос в том, как в этот реквизит вставить просто текст

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

Цитата(Gigi @ 31.05.17, 17:08) *
много че хочеться не так как система 1С предлогает, а так как нужно цели.

1С много чего умеет, нужно просто ставить правильно цели.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: Gigi,

Flexy Подменю пользователя
сообщение 31.05.17, 16:16
Сообщение #5

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

Цитата(Gigi @ 31.05.17, 16:08) *
"ОбъектПринадл" это реквизит справочника "ТОЧКА". Его тип ССЫЛКА.
Вопрос в том, как в этот реквизит вставить просто текст...

Сделайте тип этого реквизита строкой и...вставляйте...

Спасибо сказали: Gigi,

Gigi Подменю пользователя
сообщение 31.05.17, 16:53
Сообщение #6

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

Цитата(Flexy @ 31.05.17, 17:16) *
Сделайте тип этого реквизита строкой и...вставляйте...

В таком решении плюс в том, что авто-ввод без ограничений, но есть минусы... тогда получиться без ручного выбора объекта.
А нужно и то и другое. smile.gifsmile.gif и это с иронией, но без шуток

Цитата(logist @ 31.05.17, 17:15) *
Опять же - не известна задача в целом, например, реквизит можно сделать составного типа.


Не хотел говорить подноготную и разводить длинные речи, но вижу придется..
Так вот, в чем цель.
Предположите, что есть справочник с именем "ОБЪЕКТ". И справочник: "ТОЧКА"
У последнего есть реквизит:"ОбъектПринадл", который ссылается на справочник: "ОБЪЕКТ" . на основной реквизит: "Наименование".
Теперь представьте, что список справочника ТОЧКА отображается в ФормеОбъекта(Элемента) "ОБЪЕКТ". и там отбор установлен по принадлежности к Справочнику: "ОБЪЕКТ"
Где есть самим созданные всего две кнопки: "Выбрать" и "Отменить". БОЛЬШЕГО И НЕ НАДО... найти, изменить и т.д. Всего ДВЕ КНОПКИ!
Кнопка "Отменить" в списке ничего не удаляет. Она просто стирает поле: "ОбъектПринадл" для выделенного элемента.
И соответственно он из списка в ФормеОбъекта: "ОБЪЕКТ" просто исчезает.
Теперь допустим его нужно обратно ВЫБРАТЬ.
И вот тут проблема:
Что бы он опять появился в списке Формы "ОБЪЕКТ", реквизиту: "ОбъектПринадл" опять нужно автоматически присвоить нужное значение.
Гууу.. не хотел все это говорить. И это прежде всего потому, что опять не хотел загружать..
А цель простая
Нужно, что бы элемент в форме справочника: "ОБЪЕКТ" можно было свободно отменить и выбрать. А все остально что бы делалось АВТОМАТИЧЕСКИЙ!
Всего лишь! Вот в чем мой "ВЕЛОСИПЕД" и необходимость оторвать и вставить ноги руки и т.д.
Блиин! и как все это сделать, тут все решено.. осталось только то о чем выше говорил

Gigi @ Сегодня, 17:43 * ,
Или может есть соображения?
Просто вроде все работает, но на том, как ссылке опять автоматический присвоить выбранное значение... на этом завис.
поэтому прошу помощи..

logist Подменю пользователя
сообщение 31.05.17, 17:02
Сообщение #7

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Gigi @ 31.05.17, 17:43) *
Предположите, что есть справочник с именем "ОБЪЕКТ". И справочник: "ТОЧКА"

Задача - это то, что хочет видеть её заказчик в результате выполнения, а не то, что вы как программист придумали. Перечитал и ничего не понял, может вам надо Подчиненный справочник...


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: Gigi,

Gigi Подменю пользователя
сообщение 31.05.17, 17:12
Сообщение #8

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

Gigi @ Сегодня, 17:53 * ,
У меня еще другой вопрос ... нельзя ли сделать так, что бы реквизит имел два типа одновременно. И был годен и как ссылка и как строка.
Дело в том, что в Экселе я помню можно указать область списка и поставить нужную галочку.
И в ячейку выбора можно вбивать все что угодно. Даже тот текст, которого нет в области списка.
Нет ли что нибудь подобного в 1С?


Цитата(Gigi @ 31.05.17, 18:09) *
Задача - это то, что хочет видеть её заказчик в результате выполнения, а не то, что вы как программист придумали. Перечитал и ничего не понял, может вам надо Подчиненный справочник...

Я знаю о подчиненным справочнике ... мне он по форме не понравился. Какая то не нужная боковая панель навигации. Я не так хотел сделать.
Ладно ... я так и знал, что будет не понятно... поэтому и не хотел объяснять.
Но по второму вопросу тогда... если такая фишка в 1С?
Что бы тип и как ссылка и как строка.
Я ничего не придумал. Более того, исхожу сугубо из того, как потребитель требует.
И что бы максимально было удобно.. Но к сожалению... ладно.. видимо придется искать другие пути.

logist Подменю пользователя
сообщение 31.05.17, 17:25
Сообщение #9

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Gigi @ 31.05.17, 18:12) *
нельзя ли сделать так, что бы реквизит имел два типа одновременно.

Можно, но это будет два разных значения, мне кажется в вашем случае это не то что надо.

Цитата(Gigi @ 31.05.17, 18:12) *
И что бы максимально было удобно..

Из того что вы пишите, мне трудно понять что же заказа заказчик, но исходя из того как вы это реализуете - он заказал тележку "костылей"


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Спасибо сказали: Gigi,

sava1 Подменю пользователя
сообщение 31.05.17, 17:49
Сообщение #10

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

ИМХО - "бедный" заказчик.

Спасибо сказали: Gigi,

Gigi Подменю пользователя
сообщение 31.05.17, 19:38
Сообщение #11

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

sava1 @ Сегодня, 17:49 * ,
Цитата(logist @ 31.05.17, 17:25) *
Из того что вы пишите, мне трудно понять что же заказа заказчик, но исходя из того как вы это реализуете - он заказал тележку "костылей"

Цитата(sava1 @ 31.05.17, 17:49) *
ИМХО - "бедный" заказчик.

Люди .. да что тут такого ... вообще я отношусь к тем, которые очень не любят разные стереотипы.
Типа, нужно всегда обязательно делать так как предложено платформой в стандартном формате и никак иначе.
а может я хочу по другому. почему я должен обязательно сделать так то ... а не иначе.
и как только я реализую это ... тут уж конечно... сразу же начинается.. а это так не делается... это извращение .. и так нельзя, сяк нельзя.
Я часто слышу такое. Якобы сам че то выдумываю.
При чем тут тележка "косылей".
Я просто по другому отношусь ...
важно не то в какой среде работаешь, 1С, Эксель, да хоть пусть в программе из Мадагаскара.... важно другое!
Есть цель и есть способ для цели. И главное тут не второе, а только ПЕРВОЕ второе не важно. 1С, эксель и т.д. это только СПОСОБ и не более.
Так что, критерий качества среды как раз в том, насколько она позволяет реализовать ЦЕЛЬ.
Если цель реализовать нельзя или это просто ЦЕЛОЕ ДЕЛО то, это говорит о не доработках самой среды. И это какая бы хваленная она не была!
Так что, как по стандарту это одно. Но не надо забывать, что взрослые не увидели, что король голый. Только ребенок это увидел. и оказался умнее взрослых дебилов. Об этом тоже не надо забывать.
Это по поводу "тележки с костылей"
Для цели я знаю, что есть подчиненные справочники, но они не устраивают. И в моем случае пользователей тоже.
Как только устанавливаешь один справочник в подчинении другого, появляется боковая панель навигации. В моем случае ОНА НЕ НУЖНА.
НУЖНО ОДНО ЕДИНСТВЕННОЕ.
Что бы с одной формы в другую данные автоматический переходили при выборе элемента списка. И исчезали при исчезали из списка.
Если стандартный метод удовлетворял бы цель, я им воспользовался бы. А то мне самому нужны все эти танцы с бубном.
Ладно! Допустим я поступил по стандарту и подчинил один справочник другому.
МОЖНО ЛИ УБРАТЬ ВОТ ЭТУ НАВИГАЦИОННУЮ ПАНЕЛЬ с боку. ОНА МНЕ НА ХРЕН Не СДАЛАСЬ.

sava1 Подменю пользователя
сообщение 31.05.17, 20:46
Сообщение #12

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

Цитата(Gigi @ 31.05.17, 20:38) *
вообще я отношусь к тем, которые очень не любят разные стереотипы

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

Спасибо сказали: Gigi,

Gigi Подменю пользователя
сообщение 31.05.17, 22:58
Сообщение #13

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

Цитата(sava1 @ 31.05.17, 20:46) *
Если не нравится среда 1С - возьмите другую и работайте - не надо хаять инструмент.

Да нет.... если говорить в целом 1С в меня очень устраивает.. .. просто многое хотелось бы сделать не так как платформа предлагает, а по своему.
Имею ввиду прежде всего интерфейс отображения. Т.е. какие данные в каких окнах должны отображаться.
Речь в том, что я хотел что бы динамический список отображался форме. Где нибудь во вкладке группы.
Имею ввиду что то на подобие формы с табличной частью.
Только вместо табличной части когда вставлен просто динамический список другого справочника. В данном случае: "ТОЧКА"
Отображение элементов которого зависит от текущего наименования или кода открытой формы элемента справочника. В данном случае: "ОБЪЕКТ".
И справочник; "ТОЧКА" при этом должен быть связан с справочником: "ОБЪЕКТ". Я хотел именно такой вариант интерфейса.
А не то, что владелец- подчиненный с этой боковой панелью.
поэтому я решил задачу...
В самом модуле форме элемента то, что было нужно заняло всего две строки.
знСсылкаОбъектИмя=SubFx_СерверПойскЗапись.НайтиПолучитьПоНаименованию(Конфиг,"ОБЪЕКТ", ОбъектИмя);
SubFx_СерверПойскЗапись.ЗаписатьНаСервер(Конфиг,КонфигИмя, Точка_Код, "ОбъектПринадл", знСсылкаОбъектИмя);

Первая строка эта малая функция, которая ищет значение реквизита по наименованию и его же и возвращает.
В вторая строка это процедура которая полученное значение записывает.
Вот собственно что было нужно.
Что бы взять и просто ВПЕНДРЮЧИТЬ нужный текст в этот самый реквизит с типом ссылка.
Корректно это делать или нет, но именно так и было нужно. Единственная опасность, если наименование совпадут ... хотя что ни будь придумаю. как и это решить.
Ладно! Это я так... в знак благодарности за реакцию..
Вопрос был поднят и если он решен то, опубликован!
Но любом случае всем опять спасибо!

Batchir Подменю пользователя
сообщение 01.06.17, 9:56
Сообщение #14

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

сплошной 47046430.gif
ничего, со временем придёт понимание платформы, её возможностей и стиля разработки.
Если есть возможность, то ознакомьтесь [необходимо зарегистрироваться для просмотра ссылки], думаю лишним не будет

Gigi Подменю пользователя
сообщение 02.06.17, 12:07
Сообщение #15

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

Batchir @ Вчера, 9:56 * ,
Ду уж «Сплошной ужастик». … ну тогда кто-нибудь предложил бы решение в виде на пример: «сплошное великолепие»! smile.gifsmile.gif
Почему то, никто не предложил готовое решение и не показал свое сплошное великолепие! smile.gifsmile.gif Вместо этого, слышал про какой то велосипед, телегу с костылями и т.д. Т.е. что угодно но только не готовое решение, без лишней дискуссии.
Я то в 1С-е начал всего два месяца назад … ну и ладно, если не сплошное великолепие.
Ладно! На этот раз не знаю, «ужастик» или «великолепие» …. оно и не важно.. главное это то, что и было нужно изначально.
А не вся эта дискуссия по поводу, ужастиков и велосипедов.
Решил все-таки скинуть решение вопроса. Потому, что сам часто шастаю по форумам, и охота просто найти где ни будь готовое решение. Без необходимости самому выходить на форум и задавать вопросы и разводить дискуссию. Так что, это для тех, которые так же иногда шастают по форумам. И так же хотят всего лишь решение, без вопросов о том, для чего это нужно и того, что это так делается или нет!
//Функция для общего модуля на сервере для получения объекта по коду
Функция ПолучитьЭлементОбъектаПоКодуНомеру(Конфигурат,КонфигуратЭлемент, КодНомерПойска) Экспорт
//==========================================================================
Если Конфигурат = "Справочники" Тогда
    Попытка
        Результат = Справочники[КонфигуратЭлемент].НайтиПоКоду(КодНомерПойска);
    Исключение
        Возврат "Указанный адрес: «"+Конфигурат+"."+КонфигуратЭлемент+"» не существует!";
    КонецПопытки
ИначеЕсли  Конфигурат = "Документы" Тогда
    Попытка
        Результат = Документы[КонфигуратЭлемент].НайтиПоНомеру(КодНомерПойска);    
    Исключение
        Возврат "Указанный адрес: «"+Конфигурат+"."+КонфигуратЭлемент+"» не существует!";
    КонецПопытки
Иначе
    Возврат "Не корректное указание объекта конфирурации!";
КонецЕсли;
//==========================================================================
Если Результат.Пустая() Тогда
    Возврат "Указанный элемент объекта: «"+Конфигурат+"."+КонфигуратЭлемент+" с кодом; "+КодНомерПойска+"» не существует!";
Иначе
    Возврат Результат;
КонецЕсли;
//==========================================================================
КонецФункции

//Процедура из общего модуля для записи на сервер
Процедура ЗаписатьНаСервер(Конфигурат,КонфигуратЭлемент, КодНомерПойска, СтолбецВставки, ТекстВставки) Экспорт
//==========================================================================
//Сообщить(КодНомерПойска = "");
Если КодНомерПойска = "" Тогда    
Перейти ~ПроцедураВыход;
КонецЕсли;    
Если Конфигурат = "Справочники" Тогда
    Попытка
    РезультПойска = Справочники[КонфигуратЭлемент].НайтиПоКоду(КодНомерПойска);
    Исключение
    Сообщить("Указанный адрес: «"+Конфигурат+"."+КонфигуратЭлемент+"» не существует!");
    КонецПопытки
ИначеЕсли  Конфигурат = "Документы" Тогда
    Попытка
    РезультПойска = Документы[КонфигуратЭлемент].НайтиПоНомеру(КодНомерПойска);    
    Исключение
    Сообщить("Указанный адрес: «"+Конфигурат+"."+КонфигуратЭлемент+"» не существует!");
    КонецПопытки
Иначе
    Сообщить("Не корректное указание объекта конфирурации!");
КонецЕсли;
//==========================================================================
Если РезультПойска = "" Тогда
    Сообщить("В Списке: «"+Конфигурат+"."+КонфигуратЭлемент+"» КодНомерПойска: """ + КодНомерПойска + """ не найден!");
Иначе
    Попытка
    СтрокаОбъект = РезультПойска.ПолучитьОбъект();
    СтрокаОбъект[СтолбецВставки]=ТекстВставки;
    СтрокаОбъект.Записать();
    //Сообщить("Значение обекта по адрессу: «"+Конфигурат+"."+КонфигуратЭлемент+"."+СтолбецВставки+""» в строке: «"+СтрокаОбъект+"» успешно записан!");
    Исключение
    Сообщить("Указанный адрес: «"+Конфигурат+"."+КонфигуратЭлемент+"."+СтолбецВставки+"» не существует!");
    КонецПопытки    
    КонецЕсли;
//==========================================
~ПроцедураВыход:;
КонецПроцедуры

//И наконец тест ТОГО ЧТО БЫЛО НУЖНО в ФормеЭлемента на пример справочника с именем: "ПрисвоитьЗаписатьСсылку"
&НаКлиенте
Процедура Кнопка_ЗаписатьНаСервер_Тест(Команда)
//===========================================
Конфиг="Справочники";
КонфигЭлементФорма="ПрисвоитьЗаписатьСсылку";
КонфигЭлементСвязь="ОБЪЕКТ";
//-------------------------------------------
знКода="000000002"; //  Это условно говоря … нужно  указать код  любого нужного объекта и все дела
//===========================================
ПолученныйОбъект=ПолучитьЭлементОбъектаПоКодуНомеру(Конфиг,КонфигЭлементСвязь,знКода);
SubFx_СерверПойскЗапись.ЗаписатьНаСервер(Конфиг,КонфигЭлементФорма, Объект.Код, "ОбъектПринадл", ПолученныйОбъект); //И наконец то, что было нужно
//-------------------------------------------
Сообщить(ПолученныйОбъект);
//===========================================
КонецПроцедуры

В форме элемента все это заняло ВСЕГОЛИШЬ ДВЕ ЛИНИИ!
И вот теперь вопрос НАКОНЕЦ РЕШЕН! И без лишней дискуссии … А то, «Велосипед» не велосипед, «тележка костылей и т.д.
Так что, не знаю, как это с точки зрения велосипеда или мотоцикла или вообще «ужастика», но это то, что было нужно.
А нужно было, установить авто-связь между двумя справочниками, но при этом, что бы в каких то случаях связь имела место, а каких то нет.
Т.е. что бы из любой формы, можно было установить связь с авто-запылением по своему усмирению и на сервере и на клиенте. И сделать это под любую вставленную в форму кнопку.
Выше написанный код позволяет делать все это. И не завесить, а иногда и вовсе избавится от, того что предлагает платформа:… родитель-владелец и т.д. с этой в моем случае, для малого количества реквизитов не совсем не нужной боковой панелью навигации.
ВОТ ЧТО МНЕ БЫЛО НУЖНО!
Еще раз повторяю .. присвоить значение реквизиту ССЫЛКА на сервере. Указав просто код значения реквизита. И сделать это ПР-О-О-О-Г-Р-А-А-М-Н-О-О!
БОЛЬШЕ НИЧЕГО! Что тут было не понятного и «ужасного»?
Вот и готовое решение … а то «ужастик» не «ужастик». … достали уже с этими упреками. Вместо того, что бы просто изначально предложить такое решение, как выше составлено. Сто раз уже здесь повторил одно и то же…
Ладно! В любом случае, еще раз спасибо всем за реакцию!

Batchir Подменю пользователя
сообщение 02.06.17, 13:02
Сообщение #16

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Gigi, Вы ж поймите, можно написать кучу говнокода и получить результат который будет Вас удовлетворять, но правильно ли это?
А выражение типа "ну и что что говнокод за то работает" скорее говорит о человеке как о "несостоявшемся программисте",
который нахватался каких то примитивных приемчиков из других систем и теперь пытается их применить везде.

Да, в Вашей манере написания алгоритмов в 1С это именно и называется "ужастики" или "велосипеды".
Конечно это всё связано с тем что
Цитата(Gigi @ 02.06.17, 13:07) *
Я то в 1С-е начал всего два месяца назад

Если не забросите 1С и через несколько лет нарветесь на свои посты, то поймете о чем я писал.

logist Подменю пользователя
сообщение 02.06.17, 13:02
Сообщение #17

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Gigi @ 02.06.17, 13:07) *
А нужно было, установить авто-связь между двумя справочниками

Непонятно тогда зачем нужен текстовый реквизит, если связь по идее ссылочная.

Цитата(Gigi @ 02.06.17, 13:07) *
А то, «Велосипед» не велосипед, «тележка костылей и т.д.

Использование меток и попыток это большая тележка костылей.

Цитата(Gigi @ 02.06.17, 13:07) *
Вместо того, что бы просто изначально предложить такое решение, как выше составлено.

Еще раз - если не умеете ставить задачу, изъясняться - вам никто не поможет, или поможет только в меру того, насколько вы дали информацию.

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


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Gigi Подменю пользователя
сообщение 02.06.17, 14:03
Сообщение #18

Оратор
*****
Группа: Пользователи
Сообщений: 498
Спасибо сказали: 5 раз
Рейтинг: 0

Цитата(Batchir @ 02.06.17, 13:02) *
Да, в Вашей манере написания алгоритмов в 1С это именно и называется "ужастики" или "велосипеды".

Ой ой ой ой ой smile.gifsmile.gif какие мы грамотные smile.gifsmile.gifsmile.gifsmile.gif
Ладно это Шутка! Хотя и не без доли правды.
Это вы зря ... откуда вы знаете уважаемые для чего мне все нужно? И настолько это возможно сделать стандартным путем просто и по быстрому? Вы сильно уверены в самой платформе? И в том, что она типа ВСЕ УМЕЕТ? Да уж... в мире тоже так думали, пока не получили действительно WannaCry!
Знаю я очень хваленных дипломированных программистов. И знаю не по наслышке.
Буквально сотрудник. Который уже с большим стажем....20 лет уже программист. в отличие от меня!
Он тоже так же как и Вы любит следовать стандарту и совсем не "говнокодить". И посмотрев код его "великолепия" будьте уверены Вы точно не сказали, что это
Цитата
и называется "ужастики" или "велосипеды".

Так что, он все делает, как раз по правилам и не шагу в сторону. Но то, что в итоги получилось у него МАМААА. Да это же просто ЧУШЬ СОБАЧЬЯ! Ну дебилизм ПОЛНЕЙШИЙ!
Идет столбец с данными, а там сто двойного учета данных.
Вот и весь результат этого вашего "НЕ ВЕЛОСИПЕДА!"
И он тоже как и Вы хваленный грамотный прогрммист аж с 20-ти летним стажем. От которого я тоже слышу такие же слова! ОДИН В ОДИН! При чем тоже, сильно умным выражением, грамотного программиста. smile.gifsmile.gif
Не знаю, что будет через несколько лет, за то знаю то, так нужно для цели!
Я уже говорил! ГЛАВНОЕ ЦЕЛЬ! Цель отображения данных и функциональная сторона. А остальное это как позволяет среда.
А в чем цель и в каком режиме нужно Вы это не знаете! А если бы знали посмотрел бы я на то, как вы сами "смогли" бы это сделать стандартным путем и не путем "велосипеда"!
Просто удивляюсь, как много пафоса, понтов, очковтирательства, стремления пыль пустить в глаза. "говнокодить". Сотрудник тоже "не говнокодил" но получилась ЧУШЬ!
И знаете, что я Вам скажу, думающие что 1С типа может ВСЕ!
Может я не сильно глубоко знаком с 1С, но первое впечатление от платформы не скажу что плохое, Но и при этом не супер.
Мне кажется, что 1С рассчитана основном на учет товаров. Приход -расход остаток.. на такие простенькие и примитивные подсчеты.
А что касается более гибкого учета чем просто сумма и разница в стандартном формате всего этого ....
Простой пример для сравнения. Если кто знаком с Эксель. Там есть простая функция "СУММАЕСЛИ"
Она очень удобная, потому, что может суммировать ГИБКО! А не как в 1С приход-расход и не более.
в 1С такой функции НЕТ!!!! Да! Да! я не оговорился.... И вообще в 1С много чего нет в стандарте.
Теперь понятно, почему приходиться писать "велосипед"!
В экселе валом всяких встроенных функций, а в 1С в плане ГИБКОСТИ расчета данных нет ничего такого.
Именно поэтому, у сотрудника, получилось в тоги ЧУШЬ ПОЛНЕЙШАЯ!


Цитата(logist @ 02.06.17, 13:02) *
Использование меток и попыток это большая тележка костылей.

Ну а зачем тогда ее вообще изобрели и внедрили разработчики самого языка smile.gifsmile.gif
Цитата(logist @ 02.06.17, 13:02) *
Ну ладно... отчасти согласен. Но отчасти нет. потому, что это ведь для чего то и было придумано кем то. И не "говноПрограммистом" же. Поэтому как мне кажется метки-попытки иногда стоит применять, но при этом в чем согласен, не зло употреблять.
Вот, сейчас относительно понял в чем задача, но остается один большой вопрос - почему задача реализована так, что до входа в изменение объекта неизвестна его ссылка, а известен его код и тип... это скорее говорит о том, что реализация не продумана.

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

logist Подменю пользователя
сообщение 02.06.17, 14:16
Сообщение #19

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Gigi @ 02.06.17, 15:03) *
и для того, что бы объяснить это нужно объяснить весь принцип и всю специфику расчета данных.

На самом деле вы боитесь, что вам объяснят как всё надо сделать, и вы поймете что ваша тележка костылей (думаю, то что за пределами форума еще больше в масштабах) окажется ненужной, и вообще вы всё сделали не правильно.
А так то, людям которые занимаются проектированием учетных систем не надо долго объяснять, и нюансы тоже, тем более в вашем вопросе нет ничего такого специфичного - поверьте.

Цитата(Gigi @ 02.06.17, 15:03) *
аж до дыр.

До дыр в тележке костылей? Верю smile.gif

Цитата(Gigi @ 02.06.17, 15:03) *
Ну а зачем тогда ее вообще изобрели и внедрили разработчики самого языка

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


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Flexy Подменю пользователя
сообщение 02.06.17, 14:18
Сообщение #20

Танцор с Бубном
Иконка группы
Группа: Местный
Сообщений: 1121
Из: Днепра
Спасибо сказали: 230 раз
Рейтинг: 0

Цитата(Gigi @ 02.06.17, 14:03) *
Может я не сильно глубоко знаком с 1С...

Да. crazy.gif
Цитата(Gigi @ 02.06.17, 14:03) *
но первое впечатление от платформы не скажу что плохое, Но и при этом не супер.
Мне кажется, что 1С рассчитана основном на учет товаров. Приход -расход остаток.. на такие простенькие и примитивные подсчеты.
А что касается более гибкого учета чем просто сумма и разница в стандартном формате всего этого ....

Имхо, 1С решает любую учетную задачу. И заточена она именно для решения учетных задач.
Цитата(Gigi @ 02.06.17, 14:03) *
Простой пример для сравнения. Если кто знаком с Эксель. Там есть простая функция "СУММАЕСЛИ"
Она очень удобная, потому, что может суммировать ГИБКО! А не как в 1С приход-расход и не более.
в 1С такой функции НЕТ!!!! Да! Да! я не оговорился.... И вообще в 1С много чего нет в стандарте.

Глупости...
Цитата(Gigi @ 02.06.17, 14:03) *
Теперь понятно, почему приходиться писать "велосипед"!

Имхо потому, что Вы не можете придумать нормального (правильного, оптимального, красивого) решения для задачи. Возможно, это по не опытности.
Цитата(Gigi @ 02.06.17, 14:03) *
В экселе валом всяких встроенных функций, а в 1С в плане ГИБКОСТИ расчета данных нет ничего такого.

Пишите в Экселе. Зачем себя так мучать и доводить 1С-кой?

З.Ы. Предложение к администрации: Может открыть отдельный раздел психологической поддержки и реабилитации для начинающих программистов и пользователей? laugh.gif

Сообщение отредактировал Flexy - 02.06.17, 14:21

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


2 страниц V   1 2 >
Тема закрыта Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 29.03.24, 1:55
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!