Имя: Пароль:
1C
1C 7.7
v7: Добавить колонку Поставщик в форму списка номенклатуры ТиС
,
0 belovotrans
 
25.01.13
07:42
Здравствуйте!
Кто может мне помочь. Мне нужно сделать новую колонку с Поставщиком, от которого последний раз приходил товар.
По форуму поковырялся, вроде не обсуждалась такая тема.
Я просто в программировании 1С вообще не понимаю. Почитал книжки, но так ничего и не понял... Может кто возьмется научить меня программированию 1С? А с программированием вообще связан, программирую на php.
1 Godofsin
 
25.01.13
07:43
5000т.р.
2 belovotrans
 
25.01.13
07:45
Godofsin, 5000руб - это за что?
3 Godofsin
 
25.01.13
07:51
(2) За то, что я сделаю тебе эту колонку.
Видишь ли, учить тебя вряд ли кто-то будет, а вот помогать по конкретным вопросам - пожалуйста!
4 Balabass
 
25.01.13
07:53
Тис это 1с 7?
А поставщик всегда 1 и тот же?
Ведь товар одинаковый может быть от 2 сразу? не?
5 Мимохожий Однако
 
25.01.13
07:54
(2)Не волнуйся. Платить будет заказчик, а не ты.
6 Mitay_D
 
25.01.13
07:54
это надо полагать за работу. Вставляйте в форму списка элемент диалога "текст", и вешай функцию, которая будет перебирать документы по поступлению сырья и выводить поставщика, это мое мнение. Если сам не понимаешь как делать, а надо сделать быстро. то закажи, тебе быстро это сделают, уже вот за 5000 предлагают.
7 Godofsin
 
25.01.13
08:00
(4) так по последнему же )
8 1Сергей
 
25.01.13
08:04
разбей задачу на подзадачи и ищи ответы:
1. Как разместить колонку в Список справочника?
2. Как получить последнего поставщика номенклатуры?
3. ....
4. PROFIT!
9 dk
 
25.01.13
08:20
(8) +1
можно из партий на остатках поставщика дернуть, а можно перебором регистра / документов
но "на пальцах" тут никто все шаги объяснять не будет а готовое решение только за деньги
10 Mikeware
 
25.01.13
08:23
Это нынче отмазка такая - "программист php" ^-)
11 belovotrans
 
25.01.13
08:24
Видишь ли, я не хочу тупо покупать. Я хочу научиться!
Хорошо, создал колонку текстового типа, в формулу пишу: ПолучитьПоставщика(ТекущийЭлемент()). В модуле пишу:
Функция ПолучитьПоставщика ()
   Поставщик = Регистр.ПартииНаличие.Партия.Поставщик;
   Возврат Поставщик;
КонецФункции
Выдает ошибку: Функция ПолучитьПоставщика (ТекущийЭлемент<<?>>())
{Справочник.Номенклатура.ФормаСписка.ФормаСписка.Модуль(28)}: Ожидается символ ')'
12 Мимохожий Однако
 
25.01.13
08:27
(11)Встань на слово Регистр - Ctrl-F1. Прочитай справку.
13 1Сергей
 
25.01.13
08:28
(11) программист пхп, говоришь? А о том что если передаешь параметр в функцию, то его там нужно описать не знал?
14 belovotrans
 
25.01.13
08:34
(13) ошибся при написании
Функция ПолучитьПоставщика (ТекущийЭлемент())
   Поставщик = Регистр.ПартииНаличие.Партия.Поставщик;
   Возврат Поставщик;
КонецФункции
15 dk
 
25.01.13
08:37
(14) хреновый программист php если в описании параметров ф-ции пишешь еще одну ф-цию вместо имени параметра
16 AntiBuh
 
25.01.13
08:40
(14) у переменной функции скобки не нужны
17 belovotrans
 
25.01.13
08:43
убрал скобки, теперь ошибка: Поставщик = Регистр.ПартииНаличие.Партия.Поставщик;
{Справочник.Номенклатура.ФормаСписка.ФормаСписка.Модуль(29)}: Значение не представляет агрегатный объект (Поставщик)
18 Тихий омут
 
25.01.13
08:44
ну и бред... автор, обратись к (1), не порть ни свою репутацию, ни чужую базу
19 belovotrans
 
25.01.13
08:46
(12) нужно использовать метод ПолучитьАтрибут(Регистр.ПартииНаличие.Партия.Поставщик.ТекущийЭлемент)???
20 AntiBuh
 
25.01.13
08:46
(19) фигней не страдай
21 belovotrans
 
25.01.13
08:49
(20) Что именно ты имеешь ввиду?
22 DGorgoN
 
25.01.13
08:51
На мисте есть учебник. очень вменяемый. За пару недель более менее научишься.
23 AntiBuh
 
25.01.13
08:51
(20) хочешь научится - начни с чтения литературы, а не с попыток использовать наборы случайных операторов
24 belovotrans
 
25.01.13
08:53
(22) скажи пожалуйста название или сcылку дай
25 AntiBuh
 
25.01.13
08:55
26 vinogradъ
 
25.01.13
08:55
27 belovotrans
 
25.01.13
08:58
А есть ли глобальная функция, которая содержит поставщика?
28 DGorgoN
 
25.01.13
09:00
(27) Как она может быть глобальной, если поставщик изначально локальный?
29 belovotrans
 
25.01.13
09:00
Как например глПолучитьЦену
30 DGorgoN
 
25.01.13
09:01
Хотя нет, перечитал тему - можно написать процедуру, глобальную, которая будет возвращать последнего поставщика. Но  это придется писать ручками. Готовой емнип нету.
31 AntiBuh
 
25.01.13
09:04
(27) такой нет, т.к. применение довольно специфическое, но можно написать самому если надо
но пока тебе рано
32 belovotrans
 
25.01.13
09:09
Из какого объекта конфигурации можно достать последнего поставщика?
33 Ёпрст
 
25.01.13
09:11
(32)  с партии обычно берут
34 belovotrans
 
25.01.13
09:21
(33) из справочника Спарвочники.Партии или из Регистр.ПартииНаличие.Партия.Поставщик?
35 Ёпрст
 
25.01.13
09:23
(34) зависит от задачи, куды втыкать своего поставщика хочешь.
36 Ёпрст
 
25.01.13
09:24
Если чо, на складе может валятся х-ва туча ОДИНАКОВОЙ номенклатуры от РАЗНЫХ поставщиков.
37 belovotrans
 
25.01.13
09:24
(35) в форму списка номенклатуры
38 Ёпрст
 
25.01.13
09:24
какого тебе поставщика при этом надо и где - хз.
39 belovotrans
 
25.01.13
09:25
(38) не, только последнего поставщика
40 Ёпрст
 
25.01.13
09:25
(37) отлично, тебе какого поставщика ? Любого ?..
41 AntiBuh
 
25.01.13
09:29
(34) я работал, например, с одной конфой, там поставщик писался в периодический реквизит товара при проведении доков поступления
42 Ёпрст
 
25.01.13
09:30
Ну, если штатненько, то так, примерно:

В форму списка справочника кидаешь текстовую колонку,
обзываешь её Поставщик, в формулу - ВернутьПоставщика

В ПриОткрытии выгружаешь Итоги регистра ПартииНаличие
в ТЗ, сортируешь по номенклатура-датапартии,
в
ВернутьПоставщика тупо поиск в этой ТЗ Номенклатуры, и возврат Партия.Поставщик.
43 belovotrans
 
25.01.13
09:31
(40) да почему любого то... :) мне нужно достать последнего поставщика товара и вывести его с форму списка номенклатуры для каждого товара. Конфа ТиС
44 Ёпрст
 
25.01.13
09:31
+ можешь еще и кнопку обновить прилепить, которая перезаполняет ТЗ актуальными останками.
45 Ёпрст
 
25.01.13
09:32
Если нужно у всей номенклатуры поставщик, а не только у той, что есть на останках, то штатно, разве что запросом и это будет не быстро
46 Mikeware
 
25.01.13
09:34
А вообще, постановка задачи попахивает неадекватностью....
47 Mitay_D
 
25.01.13
09:38
нам же не известно, сколько у него элементов в справочнике, может их 100, дак долго ждать не надо будет, а вот если уже 1000, то придется посидеть глядя в монитор. Может просто отчет по остаткам с выводом последнего поставщика?
48 FoxFox
 
25.01.13
09:39
>>А с программированием вообще связан
Ага, где-то слышал о нем...
50 Ёпрст
 
25.01.13
09:47
(49) чмо - Человек Московской Области
с подмосковья шо ле ?
51 1Сергей
 
25.01.13
09:47
(49) в первый раз всегда тяжело на мисте, првыкай
52 Ёпрст
 
25.01.13
09:48
(51) я второй, но мне ужо хорошо
53 Ёпрст
 
25.01.13
09:48
день
54 Godofsin
 
25.01.13
09:48
(47) +1. На большом кол-ве номенклатуры тормоза обеспечены
55 Godofsin
 
25.01.13
09:50
(49) Ну ты даешь... пятница, не иначе
56 belovotrans
 
25.01.13
09:51
(54) там не много позиций, ну 1000 - это самый максимум
57 Ёпрст
 
25.01.13
09:52
(56) надо у всех, или только на ту, что на останках 7
58 Ёпрст
 
25.01.13
09:53
?
59 belovotrans
 
25.01.13
09:54
(58) надо у всех
60 Mitay_D
 
25.01.13
09:56
(56) это сейчас их столько, а завтра? или после нас хоть потоп?
61 Ёпрст
 
25.01.13
09:58
(59) тогда прямой параметерезированный запрос, который вернет top 1 , из запроса по регистру с фильтром на номенклатуру.
Или, переписать на табличное поле и поставщиком-прямой запрос с автообновлением.
62 Абыр
 
25.01.13
10:00
(41) Довольно здравая идея, поскольку в случае функции с получением последнего поставщика из регистра тупить всё будет нещадно.
63 Ёпрст
 
25.01.13
10:00
Можно конечно и штатно, через ОбратныйПорядок, УстановитьЗначениеФильтра и перебор движений до первой "нужной" партии
64 dk
 
25.01.13
10:03
в принципе можно регистр не трогать - тока перебрать партии по этому товару - думаю быстрее регистра будет
хотя установить фильтр по номенклатуре и обратный порядок для регистра тоже тормозить не должно
65 belovotrans
 
25.01.13
13:53
(41) (62) тогда нужно поправить процедуру смены атрибута Поставщик ПриЗаписи документа ПоступлениеТМЦ.
Добавить новый периодический реквизит Поставщик в справочник Номенклатура
Добавить колонку в форму списка Справочники.Номенклатура.
И установить между ними взаимодействие. Верно мыслю?
66 FN
 
25.01.13
17:14
(65) ПриЗаписи не трогай
Читай про ОбработкаПроведения() и УстановитьРеквизитСправочника()

ЗЫ вывод периодических реквизитов в форме справочника тоже конечно тормозит, но не так сильно, как обращение к регистру или справочнику партий через функцию.
67 Ёпрст
 
25.01.13
17:23
(66) ну конечно, ага..
в скуле еще как тормозить будет периодика, причем, он туда записей натолкает = количеству элементов в Номенклатуре
68 Ёпрст
 
25.01.13
17:23
в общем, бредовая задача. бредовые цели, зачем это и кому надо - не ясно
69 Ёпрст
 
25.01.13
17:24
Брали тапочки всегда у васи..заполонили весь склад тапками от Васи, а тут вдруг взяли один раз у Пети.. и всё, п..ц
В справочнике все видят, что тапки от Петьки, а их там и нет ничерта, они все от Васьки.
70 Ёпрст
 
25.01.13
17:25
Чего показывает эта колонка ?
Сферического коня в вакууме.
71 Злопчинский
 
25.01.13
21:12
Вообщем - конечно херня.
в частности - покатит:
.
Открой меню-сервис-настройки учета
посмотри - какая настройка задана для ОСНОВНОГО СВОЙСТВА номенклатуры.
.
Если пусто - продолжаем!
.
исходим (пока) что эта инфа нужна СПРАВОЧНО - то есть смотреть только визуально на форме. БОЛЕЕ НИГДЕ ИСПОЛЬЗОВАТЬСЯ НЕ БУДЕТ.
.
Меню - Справочники - Прочие - Виды свойств
Заводишь вид свойства "Поставщик", ставишь галку "не более одного значения"
.
Этот вид свойства назначаешь как "основное свойство номенклатуры"
.
К документу поступления делаешь внешнюю печатную форму (за образец можно взять sale.ert) - в процедуре ПЕЧАТЬ()
из документа получаешь НАИМЕНОВАНИЕ ПОСТАВЩИКА, смотришь - есть ли такое наименование среди всех значений свойства - если нет - добавляешь в перечень значений свойста. Для каждой номенклатуры из документа поступления добавляешь/модифицируешь основное своство в спр.СвойстваНоменклатуры.
.
все.
по каждому новому поступлению пользователь жмакает РУЧКАМи выбор печформы (назовем ее "Запомнить поставщика") и все.
.
кода - минимум. простоты - макисмум. недостатков - тоже много (но это частное решение и может тебя и устроит).
.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший