Имя: Пароль:
1C
1C 7.7
v7: как определить текущего пользователя
,
0 r_i_n_i_k
 
12.01.12
20:16
Подскажите аналог
ПараметрыСеанса.ТекущийПользователь

в 7.7?
1 Aleksey
 
12.01.12
20:17
ИмяПользователя()
Синтаксис:
ИмяПользователя()
Назначение:
Возвращает имя пользователя.
2 Aleksey
 
12.01.12
20:17
ПолноеИмяПользователя()
Синтаксис:
ПолноеИмяПользователя()
Назначение:
Возвращает полное имя пользователя.
3 Rie
 
12.01.12
20:22
+(1)
В типовых конфигурациях в глобальном модуле имеется переменная глПользователь типа Справочник.Пользователи. Её значение устанавливается в предопределённой процедуре ПриНачалеРаботыСистемы.
4 r_i_n_i_k
 
12.01.12
20:30
спасибо
5 r_i_n_i_k
 
12.01.12
20:37
ещё вопросик: в ТиС, в документе реализация есть печатные формы, как их можно увидеть?
6 r_i_n_i_k
 
12.01.12
20:37
+(5) в конфигураторе в смысле
7 Aleksey
 
12.01.12
20:41
Не понятен вопрос?
8 r_i_n_i_k
 
12.01.12
20:42
Хочу отредактировать ТОРГ-12. Не могу найти его :(
9 r_i_n_i_k
 
12.01.12
20:42
саму таблицу в конфигураторе
10 Godofsin
 
12.01.12
20:43
prtforms\torg12.ert
11 medved_kot
 
12.01.12
20:44
Печатные формы могут быть внешние. (10) как раз она.
12 Godofsin
 
12.01.12
20:44
это внешняя печ форма
13 r_i_n_i_k
 
12.01.12
20:44
спасибо, нашёл
14 Aleksey
 
12.01.12
20:47
а может быть и общие таблицы
15 r_i_n_i_k
 
12.01.12
20:52
а ещё:)
восьмёрошный оператор

ЭлементыФормы.ФлагПечати.Доступность = Ложь;


как будет выглядеть в 7.7

пишу так:

ФлагПечати.Доступность(0)


ошибка:
ФлагПечати.Доступность(0)
{Документ.Реализация.Форма.Модуль(1717)}: Значение не представляет агрегатный объект (Доступность)
16 AcaGost
 
12.01.12
20:55
Форма.ФлагПечати.Доступность(0)
17 r_i_n_i_k
 
12.01.12
20:56
ага, спасибо:)
18 r_i_n_i_k
 
12.01.12
21:05
А событие ПриВыводеСтроки()?
19 AcaGost
 
12.01.12
21:06
Куда?
20 Aleksey
 
12.01.12
21:07
Процедура ПриВводеСтроки()
КонецПроцедуры
Синтаксис:
ПриВводеСтроки()
Назначение:
Предопределенная процедура при интерактивном вводе строки документа.
Замечание:
Данная процедура может располагаться только в модуле формы документа.
Подробнее см. в документации, глава 'Системные предопределенные процедуры'
21 SnarkHunter
 
12.01.12
21:07
Забавно видеть как обучают семерке...
22 medved_kot
 
12.01.12
21:07
(18) молодец, в одной ветке на все вопросы ответы найдет
23 r_i_n_i_k
 
12.01.12
21:07
В ТЧ
24 Aleksey
 
12.01.12
21:08
(23) Документа? см (20)
25 SnarkHunter
 
12.01.12
21:08
(24)Он про другое вообще-то спрашивает...
26 Aleksey
 
12.01.12
21:09
(25) Про что?
27 SnarkHunter
 
12.01.12
21:09
(26)Про другое
28 medved_kot
 
12.01.12
21:10
(27) правильно по ТЧ
29 Aleksey
 
12.01.12
21:11
(27) Что есть другое?
30 SnarkHunter
 
12.01.12
21:11
Еще один...
31 Aleksey
 
12.01.12
21:12
А событие ПриВыводеСтроки()?
В ТЧ

Про что другое, как не о ТЧ документа?
32 Aleksey
 
12.01.12
21:12
Или в 7-ке у справочника появилась ТЧ? Там только список
33 SnarkHunter
 
12.01.12
21:13
(31)Для тебя ПриВЫВОДЕСтроки и ПриВВОДЕСтроки одно и то же? Ну тогда да, ответ в (20) правильный
34 r_i_n_i_k
 
12.01.12
21:13
ПриВводеВызываеттся когда я начинаю вводить строку, а мне бы что бы вызывалась когда строка уже есть, при её выводе
35 Aleksey
 
12.01.12
21:14
(34) чего?
36 Aleksey
 
12.01.12
21:14
Куда вывод?
37 medved_kot
 
12.01.12
21:14
При показе ее на экране?
38 Aleksey
 
12.01.12
21:14
Нет тут событий при выводе, есть только события при редактирования
39 r_i_n_i_k
 
12.01.12
21:15
(37) ага
40 SnarkHunter
 
12.01.12
21:15
Ну наконец-то, дошло...
41 Aleksey
 
12.01.12
21:15
(39) Переходи на 8-ку там это реализовано
42 medved_kot
 
12.01.12
21:15
Семерка такое событие не обрабатывает
43 r_i_n_i_k
 
12.01.12
21:16
а вот допустим ПриИзмененииНоменклатуры хочу чего то написать :)
а не вызывается..как правильно?:)
44 SnarkHunter
 
12.01.12
21:16
(38)Событие при выводе есть, только реализуется несколько иначе...
45 SnarkHunter
 
12.01.12
21:17
(41)
(42)
Да вы двоечники...
46 medved_kot
 
12.01.12
21:17
(45) садись 5
47 AcaGost
 
12.01.12
21:19
ПриНачалеРедактированияСтроки()
48 Aleksey
 
12.01.12
21:21
(44) И какое? Или ты про событие при обновлении экрана, когда вешается формула и дергается при каждом обновлении экрана?
49 AcaGost
 
12.01.12
21:21
Вешай процедуру на Номенклатуру
50 Aleksey
 
12.01.12
21:22
(43) Прописывай формулу в колонки номенклатура. И тогда при изменении она будет вызываться
51 SnarkHunter
 
12.01.12
21:22
(48)Нет, просто в колонках ТЧ есть поле Формула...
52 Aleksey
 
12.01.12
21:23
(51) Она разве вызывается при пролистывания экрана?
53 Aleksey
 
12.01.12
21:23
ВыполнятьФормулуТолькоПриИзменении(<?>);
Синтаксис:
ВыполнятьФормулуТолькоПриИзменении(<Режим>)
Назначение:
Установка режима выполнения формулы выбранного поля табличной части документа.
Параметры:
<Режим> - число: 1 - формула вызывается только при изменении значения поля, 0 - вызывается и при переходе между полями.
Замечание:
Доступ к методу возможен только в контексте Модуля формы через атрибут Форма.
54 AcaGost
 
12.01.12
21:23
(50) Формулу или процедуру?   :-)
55 medved_kot
 
12.01.12
21:24
(51) и эта "формула" обрабатывается при выводе строки на экране(
56 Rie
 
12.01.12
21:24
(54) Формулу.
57 Aleksey
 
12.01.12
21:26
(54) Во вкладки дополнительно свойства колонки ТЧ она называется формула
58 AcaGost
 
12.01.12
21:28
(56) (57) Чем текстовик в ТЧ отличается от реквизита ТЧ?
59 SnarkHunter
 
12.01.12
21:29
(52)Что такое "пролистывание экрана"? Речь идет о событии ПриВыводеСтроки
60 Rie
 
12.01.12
21:29
(58) Тем, что он - не реквизит.
А формулой там может быть не только вызов функции.
61 r_i_n_i_k
 
12.01.12
21:31
Выборка=Справочники.Склады.Выбрать();

ошибка:
{Документ.ЗаявкаПокупателя.Форма.Модуль(1126)}: Переменная не определена (Справочники)


как тут писать, скажите пжл?
62 medved_kot
 
12.01.12
21:32
(58) правильно. в текстовом поле Формулой вызывается функция, т.е. событие вывода на экран.
63 medved_kot
 
12.01.12
21:33
Склады = СоздатьОбъект("Справоник.Склады");
Склады.ВыбратьЭлементы();
Пока Склады.пПолучитьЭлемент() = 1 Цикл
КонецЦикла;
64 Aleksey
 
12.01.12
21:34
(59) А когда это события возникает? Если я открываю документ у меня разве строки не выводятся? Только вот формула не работает
65 Aleksey
 
12.01.12
21:34
(61)
Выбрать(<?>,)
Синтаксис:
Выбрать(<Подсказка>,<ФормаСписка>)
Назначение:
Вызов диалога для выбора элемента справочника.
Возвращает: 1 - если элемент выбран; 0 - если не выбран.
Параметры:
<Подсказка> - текст заголовка окна диалога ввода;
<ФормаСписка> - строка, содержащая идентификатор формы списка справочника, используемой для выбора.
66 Rie
 
12.01.12
21:35
(64) А что у тебя за формула?
67 medved_kot
 
12.01.12
21:36
(64) в текстовом поле работает, при выводе каждой строки.
68 r_i_n_i_k
 
12.01.12
21:36
(63)Склады = СоздатьОбъект("Справоник.Склады");
{Документ.ЗаявкаПокупателя.Форма.Модуль(1125)}: Неудачная попытка создания объекта (Справоник.Склады)
69 r_i_n_i_k
 
12.01.12
21:36
(68)там ошибка :)
70 Aleksey
 
12.01.12
21:36
(66) Да какая разница, Пусть будет Сообщить("Пук")
71 medved_kot
 
12.01.12
21:37
Справоник.Склады => Справочник.Склады
72 Rie
 
12.01.12
21:37
(68) Очепятку исправь.
73 AcaGost
 
12.01.12
21:38
(68) А у тебя есть такой справочник?
74 Aleksey
 
12.01.12
21:39
(67) В текстовом согласен
75 Rie
 
12.01.12
21:39
(70) Это у тебя текстовая колонка?
76 Aleksey
 
12.01.12
21:39
(75) Нет реквизит
77 Rie
 
12.01.12
21:42
(76) Ну и чего ж ты хочешь?
78 Aleksey
 
12.01.12
21:43
(77) Изначально речь не шла о текстовых колонках
79 SnarkHunter
 
12.01.12
21:44
(78)Изначально речь шла о событии ПриВыводеСтроки, реализуется оно именно через формулу в текстовой колонке ТЧ... Проблема решена, не?
80 r_i_n_i_k
 
12.01.12
21:47
Я бы хотел при вводеНового документа что бы проставлялся склад..
пишу так

Склады = СоздатьОбъект("Справочник.Склады");
Склад=Склады.НайтиПоКоду("00001");
Склад=Склады.ТекущийЭлемент();


в отладчике показывает, что в Склад попадает правильно значение, но при создании документа поле Склад пустое..
81 Rie
 
12.01.12
21:48
(80) Переменная Склад, случаем, не описана в модуле или в процедуре?

Склады = СоздатьОбъект("Справочник.Склады");
// Склад= - это лишнее
Склады.НайтиПоКоду("00001");
Склад=Склады.ТекущийЭлемент();
82 r_i_n_i_k
 
12.01.12
21:50
(81) это реквизит формы
83 Aleksey
 
12.01.12
21:51
(80) Это не 8-ка здесь такие Функции возвращают 0 или 1, а не ссылки

НайтиПоКоду(<?>,);
Синтаксис:
НайтиПоКоду(<Код>,<ФлагПоиска>)
Назначение:
Найти элемент справочника по коду.
Возвращает: 1 - если действие выполнено;
0 - если действие не выполнено (элемент не найден).
Параметры:
<Код> - выражение со значением искомого кода,
<ФлагПоиска> - флаг поиска (необязателен):
 0 - поиск во всем справочнике вне зависимости от родителя;
 1 - поиск внутри установленного подчинения (родителя);
 2 - поиск по полному коду через разделитель.
Значение по умолчанию:
 0 - если код уникален во всем справочнике;
 2 - если код уникален только в группе.
Замечание:
Метод  можно использовать только для объектов, созданных функцией СоздатьОбъект.
84 SnarkHunter
 
12.01.12
21:51
(+81)И результат поиска неплохо бы проверять
85 Aleksey
 
12.01.12
21:51
Т.е. в склад у тебя не ссылка , а число

Возвращает: 1 - если действие выполнено;
0 - если действие не выполнено (элемент не найден).
86 SnarkHunter
 
12.01.12
21:52
(83)Может проще научить его пользовать синтакс-помощником, а не копировать сюда куски?
87 Rie
 
12.01.12
21:53
(85) ???
У него дальше присваивается ТекущийЭлемент()
88 r_i_n_i_k
 
12.01.12
21:54
но отладчик то правильно показывает значение реквизита Склад
89 Rie
 
12.01.12
21:54
(82) Это радует, что реквизит. А переменная одноименная, случаем, не описана?
90 Rie
 
12.01.12
21:54
(88) Или _переменной_ Склад.
Посмотри на всякий случай, развей сомнения.
91 r_i_n_i_k
 
12.01.12
21:55
(89) посмотрел, не описана
92 Aleksey
 
12.01.12
21:56
(87)  Это не повод городит огород

P.S. у меня нормально отработала конструкция автора, значит проблема в том что код указан не верно
93 Aleksey
 
12.01.12
21:57
(88) Это не мешает ему далее по коду присвоить другое значение
94 SnarkHunter
 
12.01.12
21:57
Автор еще не упомянул куда именно он поместил данный код...
95 r_i_n_i_k
 
12.01.12
21:58
(94) Процедура ВводНового(Скопирован)

проверил в отладчике, в процедуру заходит, значение присваивается верное
96 Rie
 
12.01.12
21:59
(95) Давай тогда уж полный текст процедуры в студию.
Ну и насчёт того, что в модуле переменная Склад не описана - верится в трудом.
97 Aleksey
 
12.01.12
21:59
(95) смотри ПриОткрытии может там меняется
98 r_i_n_i_k
 
12.01.12
22:00
(93) точно:)


/Если Склад.Выбран()=1 Тогда
//    Склад = "";
//КонецЕсли;

в другой процедуре, исполняемой далее
99 r_i_n_i_k
 
12.01.12
22:03
всем ОГРОМНОЕ спасибо!
100 zak555
 
12.01.12
22:04
глПользователь ?
101 AcaGost
 
12.01.12
22:07
(80) За код
Склады.НайтиПоКоду("00001");

я своих стюдентов болььььшой линейкой вначале по рукам, а далее куда попадет
102 Aleksey
 
12.01.12
22:11
(101) Предлагаешь завести новую константу? Основной склад?
103 Lexxxxx
 
12.01.12
22:11
(101) А как по Вашему правильно?
104 Aleksey
 
12.01.12
22:11
А если нельзя по религиозным соображением вносить изменения? Хранить в текстовом файле настройки?
105 Aleksey
 
12.01.12
22:12
(103) Да это он пальцы гнет. Странно, что он за Выбран()=1 ничего не сказал
106 AcaGost
 
12.01.12
22:19
(103) А завтра пьяный менегер код у склада поменяет на "А0001". Куда твой код засунуть?
На клюшках нет предопределенных элементов справочника.
107 Aleksey
 
12.01.12
22:22
(106) Пусто попробую, правда не уверен, что это у них получится

P.S. и мы так не услышали ответ на вопрос как правильно
108 AcaGost
 
12.01.12
22:23
(107) Как часто он будет использоваться?
109 Rie
 
12.01.12
22:23
(107) Если ТиС- взять из настроек пользователя.
110 IvanovIV
 
12.01.12
22:24
(106) А коды вообще делаются недоступными юзерам
В глобальнике назначаются необходимые переменные справочники
И там же в глобальнике в "ПриУдаленииЭлемента()"
запрещается удалять то что предопределено
111 Aleksey
 
12.01.12
22:25
(108) В каждом документе при создании нового
112 Aleksey
 
12.01.12
22:25
(109) проще просто код прописать, и голова не болит, что там у пользователя в настройках
113 AcaGost
 
12.01.12
22:28
(111) Если у всех пользователей и всех видах документов, в которых есть реквизит "Склад", то Константа
114 Aleksey
 
12.01.12
22:29
(113) Ага и еще закэшировать ее ...
115 Rie
 
12.01.12
22:29
(112) Не проще.
116 Aleksey
 
12.01.12
22:30
(115) Почему?
117 Rie
 
12.01.12
22:31
(116) Есть типовые механизмы конфигурации. А изобретение велосипедов - неблагодарное занятие.
118 AcaGost
 
12.01.12
22:31
(115) Не дошло до него! Диагноз!
119 Aleksey
 
12.01.12
22:33
(117) Ну да потом выясниться что кто-то поменял в настройках склад, потому что ему так удобно. А у тебя из-за этого неправильно доку формируются. Нафиг-нафиг эту универсализацию
120 Rie
 
12.01.12
22:33
(119) А для этого есть механизм прав.
121 AcaGost
 
12.01.12
22:34
(119) Доступ ВСЕМ на чтение, кроме себя дорогого
122 Aleksey
 
12.01.12
22:35
(120) Причем тут механизм прав? У пользователя стоит Розничный склад, а нам нужно чтобы поступления всегда делались на оптовый склад. И чем мне "типовой механизм" поможет
123 medved_kot
 
12.01.12
22:35
Т.е. боооольшая линейка для манагеров
124 AcaGost
 
12.01.12
22:36
(120) Был у меня один такой стюдент, борзый - до сих пор в падаванах
125 Rie
 
12.01.12
22:36
(122) Уж что-то одно - или крестик, или трусм.
См. (104).
126 Aleksey
 
12.01.12
22:36
другая ситуация. Пишу обработку для загрузки документов. Я с базой не работаю, у меня нет доступа к настройкам пользователя и я понятия не имею проставлено ли у них что-то или нет, но мне надо чтобы при загрузки попадала на определенный склад
127 Aleksey
 
12.01.12
22:37
(125) Ну так не надо кричать тогда, что за такой код линейкой по рукам. Ибо случае разные бывают
128 Rie
 
12.01.12
22:39
(127) Во-первых, надо читать внимательно. И не путать, кто что писал.
Во-вторых, если предполагается более чем однократное использование - то, разумеется, не линейкой по рукам. А, к примеру, штрафовать за выход на работу.

(126) Если предполагается более чем одноразовое использование - то придумать механизм хранения настроек.
129 Aleksey
 
12.01.12
22:41
(128) А чем этот механизм хранения настроек во внешнем хранилище будет отличаться от кода?
130 Rie
 
12.01.12
22:43
(129) Пользователь должен иметь возможность настраивать обработку, не правя её код. Тем более если разработчик "не работает с базой".
Какой механизм (внешнее хранилище, справочник или ещё что) будет выбран - это другой вопрос. Но сама возможность настройки у пользователя быть должна.
131 AcaGost
 
12.01.12
22:45
(126) Учу! Записывай.
На форме реквизит СКЛАД  Сам настроишь для всех доступ(0) и ЗначениеВФайл(<?>,,);
132 Aleksey
 
12.01.12
22:53
(130) Вот только у меня руководств считает, что все должно быть прозрачно для пользователя, он не должен думать ниокаких настройках

(131) Тот же код, вид сбоку
133 Aleksey
 
12.01.12
22:57
К тому же привязка к коду можно рассматривать как дополнительная защита от бесплатного тиражирования обработки. (мы же не на продажу пишем, нам универсальность некчему. Чем больше индивидуальности, тем больше шанс что тупо не смогут скопировать обработку)
134 AcaGost
 
12.01.12
22:57
(132) Под одним пользователем доступ(1) - у кого права на настройку
135 Rie
 
12.01.12
22:57
(132) А зачем пользователю думать о настройках? Настройки задаст тот, кому это положено (руководитель отдела или кто там у вас). Но настройки должны задаваться без модификации кода - об этом должен позаботиться разработчик.
136 Rie
 
12.01.12
22:57
(133) А вот это уже попросту маразм. Полнейший маразм.
137 AcaGost
 
12.01.12
22:58
(133) Я поменял код у склада - твои действия?
138 AcaGost
 
12.01.12
23:00
(136) Вроде и не 17 лет ему, и опыт есть?...
139 medved_kot
 
12.01.12
23:00
Все-таки на тему поста ответил правильно (100)
140 SnarkHunter
 
12.01.12
23:01
Алёшка забавный... Код после него наверняка доставляет...
141 SnarkHunter
 
12.01.12
23:02
(139)В частном случае да...
142 Rie
 
12.01.12
23:02
(139) См. (3) :-)))
143 Aleksey
 
12.01.12
23:03
(135) Настройки задаю я. И для меня нет разницы что это будетнайти по коду или восстановить из файла?
144 Rie
 
12.01.12
23:04
(143) Предприятиям, с которыми ты работаешь - мои соболезнования.
145 AcaGost
 
12.01.12
23:04
(143) А на (137)?
146 Aleksey
 
12.01.12
23:04
(137) Любое внешнее хранилище настроек не спасет от изменения. Так что нет разницы как хранить.
147 SnarkHunter
 
12.01.12
23:04
(143)На тебе свет клином не сошелся...
148 AcaGost
 
12.01.12
23:05
(144) +1000
149 medved_kot
 
12.01.12
23:05
(142) ну, да. просто после 99 ответов прочитать (100) было как-то неожиданно
150 Rie
 
12.01.12
23:05
(146) Правда?
151 Aleksey
 
12.01.12
23:05
(147) А больше я никому не доверяю.
152 SnarkHunter
 
12.01.12
23:05
(146)О как...
153 Aleksey
 
12.01.12
23:05
(150) Правда
154 SnarkHunter
 
12.01.12
23:06
(151)Что-то ЧСВ зашкаливает, не?
155 Aleksey
 
12.01.12
23:07
(152) Да, потому что нет контроля ссылочной целостности. Т.е. ницего не мешает удалить склад и завести новый, и тогда у него будет и новый код и новый ID, т.е. восстановление из хранилища даст. "Объект не найден"
156 SnarkHunter
 
12.01.12
23:07
(153)Поздравляю, гражданин, соврамши...
157 SnarkHunter
 
12.01.12
23:07
(155)Речь про изменение кода была, при чем удаление?
158 Aleksey
 
12.01.12
23:08
(154) Нет потому что съезды пользователей "Программа дала" и "Это не я, это программа сама" приводит к тому что лучше пользователю ничего не давать, тем более настройки
159 Aleksey
 
12.01.12
23:08
(157) При том же, что и изменение кода
160 Rie
 
12.01.12
23:09
(158) "Это Вы их просто готовить не умеете" (c) старый анекдот
161 IvanovIV
 
12.01.12
23:10
(157) при том, что если мона менять код .. мона и удалить?
162 Aleksey
 
12.01.12
23:10
(156) И по чем ты будешь хранить? Заюзаешь внутренний ID? И что даст твоя обработка в другой базе? А моя по коду будет работать, даже если удалить и завести с тем же кодам
163 Rie
 
12.01.12
23:10
О! Я понял в чём дело - это пятничная ветка!
164 SnarkHunter
 
12.01.12
23:12
Что-то я попал не туда... Тут говнокодом хвастаются, я вас покидаю...
165 Aleksey
 
12.01.12
23:12
(160) Ну да, когда приходит чудо и говорит, а вы можете посмотреть что я поменяла в документе, когда и ЗАЧЕМ я это сделала. Наверное не умею готовить, к сожалению отдел кадров мне не подчиняется
166 Rie
 
12.01.12
23:12
(161) Ну, во-первых, удалить _гораздо_ труднее (элемент использовался кучу раз - пока не будут убраны ссылки, не удалится).
167 Aleksey
 
12.01.12
23:13
(166) Если могут править все подряд, то удалять, и ссылки не помешают
168 Rie
 
12.01.12
23:13
(165) Отдел кадров тут ни при чём. Это ты расписался в своём неумении.
Всё, что ты делаешь говнокодом - можно оформить по-человечески. И права расставить так, чтобы чудо не могло сильно напортить.
169 medved_kot
 
12.01.12
23:14
(165) Вы не думали, что можно для этого чуда просто не показывать те настройки, которые она менять не должна?
170 Rie
 
12.01.12
23:14
(167) Ну а на фига ж ты даёшь править всем всё подряд?
171 IvanovIV
 
12.01.12
23:16
(166)  Зачем вообще права юзерам на редактирование кодов?
Редактирование кодов отключается
Приначале работы назначаются глобальные переменные
Удаление их запрещается
Что еще надо?
172 IvanovIV
 
12.01.12
23:17
(171) + дальше ищи по коду скока хочешь
173 Aleksey
 
12.01.12
23:17
(168) Я фикси, для чего мне попу рвать и писать простыни кода? Для того чтобы человек с мисты сказал, да так правильно?

Мы же сейчас не тиражный продукт обсуждаем, а конкретный код, который выполняется в конкретной конфе и для конкретной задачи.

Лично мне напрягает иметь 1000 констант на все случаи жизни. Мне проще прописать конкретный код, при условии что коды у меня закрыты от редактирования
174 AcaGost
 
12.01.12
23:18
(163) Пока еще четверг
175 Aleksey
 
12.01.12
23:19
Если кому то религия мешает использовать коды, ради бога заводи константу, документ, справочник ... (нужное подчеркнуть). Только не надо другим насаживать свою религию, и бегать с линейкой
176 Rie
 
12.01.12
23:21
(174) У кого как :-)
177 Rie
 
12.01.12
23:21
(173) Вот и выяснилось - ты просто лентяй. Которому влом писать нормальный код, тяп-ляп и так сойдёт, после нас - хоть потоп.
178 Rie
 
12.01.12
23:22
(175) Это не религия. Это элементарный профессионализм. Или ты себя совсем не уважаешь?
179 medved_kot
 
12.01.12
23:23
(175) Уважайте свой труд, за это Ваш труд будут уважать другие
180 AcaGost
 
12.01.12
23:27
(173) Исправлял я один раз за таким. Ну и цирк был в его базе, краше чем у Никулина.
181 Aleksey
 
12.01.12
23:29
(178) 1000 констант - это профессионализм?
182 Aleksey
 
12.01.12
23:33
в 7-ный типовых (ТиС, комплексная) есть такой код

Если ПустоеЗначение(ИмяПользователя()) = 1 Тогда
 Код          = "НеАвторизован";
 Наименование = "Не авторизован";
...
КонецЕсли;
   
Объект = СоздатьОбъект("Справочник.Пользователи");
   
Если Объект.НайтиПоКоду(Код) = 0  Тогда
 Объект.Новый();

Видно они писатели 1С не знают, что это плохой код
183 Aleksey
 
12.01.12
23:34
При загрузки валюты там тоже активно юзается Найти по коду. Вод ведь дураки, а вдруг кто-то коду у валюты поменяет.
184 Aleksey
 
12.01.12
23:36
А что делают с планом счетов в типовых. Вообще страшно смотреть. одни найти по коду
185 zak555
 
12.01.12
23:37
(182) твой вариант, как переписать
186 zak555
 
12.01.12
23:38
+ (185)
я бы скрыл поле код в справочнике пользователи
187 Aleksey
 
12.01.12
23:38
(185) А я разве доказываю что найти по коду это плохо и за такой код линейкой по рукам бить?
188 zak555
 
12.01.12
23:42
> Лично мне напрягает иметь 1000 констант на все случаи жизни. Мне проще прописать конкретный код, при условии что коды у меня закрыты от редактирования


о да, вот недавно видел отличную реализацию печати торг-12
привязка тупо к коду контрагенту, контрагент может находиться в группе
т.е. будут перечисляться все "вложенные" контры

вот спрашивает : накуя так писать, если можно было добавить реквизит префикс в группу/элемент и по нему искать наименование торг12_префикс в обработке ?
189 AcaGost
 
12.01.12
23:43
(183) А что значит код в справочнике валюты?
(184) :-))))))))))))))))))))))))))))
190 zak555
 
12.01.12
23:45
(183) кстати, код у рубля не переименововался, а всего навсего добавился новый
РУР == РУБ
191 AcaGost
 
12.01.12
23:45
(187) И не только линейкой по рукам, но и кнутом по заднице, чтобы контору не "разводил"
192 zak555
 
12.01.12
23:45
(184) ну так в 8ке идёт обращение почти по "коду"
193 Aleksey
 
12.01.12
23:47
(189) До некоторых пор и код в ОКСМ ничего не значил, а сейчас в связи с новыми счет-фактурами, он стал иметь большое значение
194 AcaGost
 
12.01.12
23:49
(190) Код у рубля - 810 по классификатору
195 Aleksey
 
12.01.12
23:49
(190) Это разве код? А не сокращенное наименование?
Код 810/643 у рубля всегда был
196 Aleksey
 
12.01.12
23:51
А нет, все таки код

Согласно международному стандарту по обозначению валют (ISO 4217) для современного российского рубля:

1) Трёхбуквенный код: RUB
2) Трёхзначный числовой код: 643

До деноминации российского рубля в 1998 году в том же стандарте для российского рубля использовались коды:

1) Трёхбуквенный код: RUR
2) Трёхзначный числовой код: 810
197 Lexxxxx
 
12.01.12
23:51
(169) Вы не думали что это может Склад и быть? :)
198 IvanovIV
 
13.01.12
00:01
) наверное надо в любой типовой запустить "поиск во всех текстах" "НайтиПоКоду("

а потом дрючить разработчиков
199 viktor_vv
 
13.01.12
01:07
Раз уж ветка плавно перетекла в пятничную. А то пристали к Aleksey .

Обратились как-то, потому как разработчик уехал далеко . Это кусочек процедуры строк на 2000 (две тысячи) в таком же роде.
Я конечно и сам не без греха, но это уже за гранью добра и зла, а Aleksey просто младенец.

   КА=1;
   К=СоздатьОбъект("Документ.Калькуляция");
   Т=СоздатьОбъект("Справочник.Номенклатура");
   К.Новый();
   К.ДатаДок=ДатаДок;    
   глЗаполнитьШапку(К);
   Если Проведен()=1 Тогда
   К.ДокументОснование=ТекущийДокумент();    
   КонецЕсли;        
   К.Склад=Константа.ОсновнойСклад;
   К.Продукция=Товар;
   К.КвоПродукции=Количество;
   К.ЕдПродукции=Единица;
   /////////////////////////////////////////////////////////////////////////////////////   ЖВ 1
   Если К.Продукция.ЖВ1=1 Тогда
       
       К.НоваяСтрока();      
       Т.НайтиПоКоду("02467");
       К.Предпочтение=ПустоеЗначение("Справочник.Контрагенты");
       К.Товар=Т.ТекущийЭлемент();
       глПриИзмененииТовара(К);    
       К.Количество=КвоЛамелей;//*КвоПрод;
       
       К.НоваяСтрока();      
       Т.НайтиПоКоду("02490");
       К.Предпочтение=ПустоеЗначение("Справочник.Контрагенты");
       К.Товар=Т.ТекущийЭлемент();
       глПриИзмененииТовара(К);    
       К.Количество=1*КвоПрод;
       
       К.НоваяСтрока();      
       Т.НайтиПоКоду("02471");
       К.Предпочтение=ПустоеЗначение("Справочник.Контрагенты");
       К.Товар=Т.ТекущийЭлемент();
       глПриИзмененииТовара(К);    
       К.Количество=КвоЛамелей;//*КвоПрод;
       
       К.НоваяСтрока();      
       Т.НайтиПоКоду("02472");
       К.Предпочтение=ПустоеЗначение("Справочник.Контрагенты");
       К.Товар=Т.ТекущийЭлемент();
       глПриИзмененииТовара(К);    
       К.Количество=1*КвоПрод;
       
       К.НоваяСтрока();      
       Т.НайтиПоКоду("02474");
       К.Предпочтение=ПустоеЗначение("Справочник.Контрагенты");
       К.Товар=Т.ТекущийЭлемент();
       глПриИзмененииТовара(К);    
       К.Количество=КвоЛамелей;//*КвоПрод;
       
       К.НоваяСтрока();      
       Т.НайтиПоКоду("02479");
       К.Предпочтение=ПустоеЗначение("Справочник.Контрагенты");
       К.Товар=Т.ТекущийЭлемент();
       глПриИзмененииТовара(К);    
       К.Количество=1*КвоПрод;
       
       К.НоваяСтрока();      
       Т.НайтиПоКоду("02465");
       К.Предпочтение=ПустоеЗначение("Справочник.Контрагенты");
       К.Товар=Т.ТекущийЭлемент();
       глПриИзмененииТовара(К);    
       К.Количество=Ширина*0.001*КвоПрод;
       
       К.НоваяСтрока();      
       Т.НайтиПоКоду("02484");
       К.Предпочтение=ПустоеЗначение("Справочник.Контрагенты");
       К.Товар=Т.ТекущийЭлемент();
       глПриИзмененииТовара(К);    
       //Если Ширина<2 Тогда
       //К.Количество=Окр(Ширина*0.002)*КвоПрод;    //              
       //ИначеЕсли Ширина<2.3 Тогда
       //К.Количество=Окр(Ширина*0.003)*КвоПрод;   //
       //Иначе                        
       //К.Количество=Окр(Ширина*0.004)*КвоПрод;  //
       //КонецЕсли;
       //
                   
           Если Ширина<1900 Тогда
               К.Количество=2*КвоПрод;
           ИначеЕсли Ширина<2300 Тогда
               К.Количество=3*КвоПрод;
           ИначеЕсли Ширина<2700 Тогда
               К.Количество=4*КвоПрод;    
           ИначеЕсли Ширина<3300 Тогда
               К.Количество=5*КвоПрод;    
           ИначеЕсли Ширина<3500 Тогда
               К.Количество=6*КвоПрод;    
           Иначе                        
               //К.Количество=Окр(Ширина*0.008)*КвоПрод;
           КонецЕсли;
       К.НоваяСтрока();      
       Т.НайтиПоКоду("02480");
       К.Предпочтение=ПустоеЗначение("Справочник.Контрагенты");
       К.Товар=Т.ТекущийЭлемент();
       глПриИзмененииТовара(К);    
       К.Количество=1*КвоПрод;
       
       
       ккк=Цел(Ширина/2000);
       Если ккк>0 Тогда
           К.НоваяСтрока();      
           Т.НайтиПоКоду("02485");
           К.Предпочтение=ПустоеЗначение("Справочник.Контрагенты");
           К.Товар=Т.ТекущийЭлемент();
           глПриИзмененииТовара(К);    
           К.Количество=ккк*КвоПрод;
       КонецЕсли;
       
       К.НоваяСтрока();      
       Т.НайтиПоКоду("02473");
       К.Предпочтение=ПустоеЗначение("Справочник.Контрагенты");
       К.Товар=Т.ТекущийЭлемент();
       глПриИзмененииТовара(К);    
       К.Количество=1*КвоПрод;
       
       // добавили 5 новые позиции
       
       К.НоваяСтрока();      
       Т.НайтиПоКоду("02493");
       К.Предпочтение=ПустоеЗначение("Справочник.Контрагенты");
       К.Товар=Т.ТекущийЭлемент();
       глПриИзмененииТовара(К);    
       К.Количество=1*КвоПрод;

Это, я так понял, что-то типа норм расхода материалов.
200 viktor_vv
 
13.01.12
01:11
(199)+ Обратились, так как добавилась новая номенклатура, а разработчика нету. Вот это я понимаю защита :).
201 zak555
 
13.01.12
01:18
(196) ы =)
202 zak555
 
13.01.12
01:19
(199) что это ?
203 abfm
 
13.01.12
01:36
Если так рассуждать, то любая программа не требует обновления вообще, надо поменять настройки.
Мировые бренды с этим не согласны. Бабло надо стричь регулярно, как овец.
204 viktor_vv
 
13.01.12
01:53
(202) Это к вопросу насчет НайтиПокоду(). Кусок реально работавшей конфы, не знаю ее судьбы сейчас. Надеюсь поверите, что не мое :).
205 zak555
 
13.01.12
02:27
(204) переписал бы
206 viktor_vv
 
13.01.12
02:57
(205) Ну я им предложил, даже накидал макет форм, как будет выглядеть. Их цена не устроила, или им сильно сложно показалось нормы набивать самим, попросили тупо добавить как уних есть для новой номенклатурыы. А сидеть копипастить че то мне влом было, короче не срослось.
207 Rie
 
13.01.12
07:08
(173) 1000 констант - тоже глупость.
(182) А ты посмотри, _что_ является кодом у справочника Пользователи. И в классификаторах -
там код определён "свыше".
Дело же не в самих словах "Код" или "НайтиПоКоду", а в том, как этот код используется.
208 zak555
 
13.01.12
09:24
(206) значит много заломил =)
Программист всегда исправляет последнюю ошибку.