|
вывести автоматически значения справочника | ☑ | ||
---|---|---|---|---|
0
yavasya
31.08.13
✎
07:53
|
В 7.7 есть конфигурация по металлолому.
Переношу в 8.2 В поступлениях товаров и услуг есть несколько добавленных колонок Категория Товар Процент засора Выбираешь категорию и Товар+Процент засора заполняются автоматически Как такое действие прописать ? |
|||
1
Rie
31.08.13
✎
08:02
|
(0) Куда хоть переносишь-то?
(От того, обычное приложение или УФ - кой-чего зависит). |
|||
2
yavasya
31.08.13
✎
08:17
|
обычное приложение
|
|||
3
Rie
31.08.13
✎
08:18
|
(2) В табличную часть добавлены дополнительные реквизиты для категории и процента - или же только реквизит для категории, а товар+процент - надо только показать пользователю?
|
|||
4
yavasya
31.08.13
✎
08:20
|
Процедура ОбработкаПодбора(ВыбрТовар)
//06.03.05-----------------\ Если ВыбрТовар.Вид()="КатегорииМеталлов" Тогда //Только по металлу запрашиваем категорию. Катег = ВыбрТовар; Засор = ВыбрТовар.Засоренность; ВыбрТовар = ВыбрТовар.ТМЦ; КонецПроцедуры КатегорииМеталлов-справочник |
|||
5
Rie
31.08.13
✎
08:22
|
(4) Это 7-ка. Какие реквизиты документа, справочники и реквизиты справочника добавлены в 8-ке?
|
|||
6
yavasya
31.08.13
✎
08:22
|
(2) В табличную часть добавлены дополнительные реквизиты для категории и процента - или же только реквизит для категории, а товар+процент - надо только показать пользователю?
Rie не знаю вообще как это сделать. в 7-ке не работал до этого и 8-ке новичок |
|||
7
yavasya
31.08.13
✎
08:23
|
в 8 -ку мне надо переписать всё из 7-ки
|
|||
8
Rie
31.08.13
✎
08:23
|
(6) Конфигурация 8.2 - какая?
|
|||
9
Rie
31.08.13
✎
08:23
|
(7) Не для новичка это задача...
|
|||
10
yavasya
31.08.13
✎
08:24
|
Бухгалтрия предприятия 8.2
|
|||
11
yavasya
31.08.13
✎
08:24
|
Rie - Не для новичка это задача..
может на ней я выросту |
|||
12
Rie
31.08.13
✎
08:32
|
Предположим, что конфигурацию БП 2.0 добавлен справочник КатегорииМеталлов, у которого, помимо прочих, есть реквизиты ТМЦ типа СправочникСсылка.Номенклатура и Засоренность (хрен знает какого типа), а в документ ПоступлениеТоваровУслуг в табличную часть Товары добавлены реквизиты Катег типа СправочникСсылка.КатегорииМеталлов и Засор (хрен знает какого типа).
В форме документа ПоступлениеТоваровУслуг уже имеется процедура ОбработкаПодбора с параметрами ТабличнаяЧасть и ЗначениеВыбора. И ещё имеется кнопка Подбор. Однако они сейчас "нацелены" на подбор только из справочника Номенклатура. Кроме того, как я понял, требуется не только подбор, но те же действия нужно выполнять и при выборе категории в поле ввода табличной части Товары. |
|||
13
Rie
31.08.13
✎
08:35
|
(12) Начнём с последнего. Чтобы обработать выбор в поле ввода табличного поля, надо создать обработчик события ПриИзменении для этого поля.
Ну а дальше - просто: Процедура ТоварыКатегПриИзменении(Элемент) СтрокаТЧ = ЭлементыФормы.Товары.ТекущиеДанные; Если ЗначениеЗаполнено(СтрокаТЧ.Катег) Тогда Номенклатура = СтрокаТЧ.Катег.ТМЦ; Засор = СтрокаТЧ.Катег.Засоренность; Иначе // тут уж сам решай, что делать, если пользователь // удалил категорию КонецПроцедуры |
|||
14
Rie
31.08.13
✎
08:38
|
+(11) Теперь о подборе.
Сейчас конфигурация предусматривает подбор номенклатуры. Нужен ли будет в изменённой конфигурации подбор номенклатуры - или же будет только подбор категорий (и если подбор номенклатуры будет - то как быть в таком случае с категориями)? |
|||
15
yavasya
31.08.13
✎
08:43
|
Rie огромное спасибо!
|
|||
16
yavasya
31.08.13
✎
08:43
|
сейчас проверю
|
|||
17
Rie
31.08.13
✎
08:56
|
+(14) Для подбора категорий - независимо от того, нужен ли подбор номенклатуры или нет - лучше создай свою кнопку на командной панели, связанной с табличным полем Товары. И, естественно, обработчик к ней.
В 8.2 при получении значения из подбора вызывается обработчик события формы ОбработкаВыбора. Он в модуле формы документа уже есть. Для красоты типовая форма подбора передаёт значение типа Структура, где всё уже разложено по полочкам. Но красоту потом наведёшь. Пока что не заморачивайся и возвращай из формы подбора категории значение типа СправочникСсылка.КатегорииМеталлов. Соответственно, в ОбработкаВыбора() проверь: ИначеЕсли ТипЗнч(ЗначениеВыбора)=Тип("СправочникСсылка.КатегорииМеталлов) Тогда // и вот тут обрабатываешь получение категории // сначала смотришь - не вводилась ли эта категория ранее // (кстати, в 7.7 почему-то нет этой проверки) СтруктураОтбора = Новый Структура("Катег",ЗначениеВыбора); СтрокаТЧ = ОбработкаТабличныхЧастей.НайтиСтрокуТабЧасти(Товары, СтруктураОтбора); Если СтрокаТЧ=Неопределено Тогда // ранее не вводилась СтрокаТЧ = Товары.Добавить(); СтрокаТЧ.Катег = ЗначениеВыбора; СтрокаТЧ.Номенклатура = ЗначениеВыбора.ТМЦ; СтрокаТЧ.Засор = ЗначениеВыбора.Засоренность; // кстати, тут хорошо бы помедитировать насчёт количества, цен и т.п. Иначе // наверное, надо количество увеличить СтрокаТЧ.Количество = СтрокаТЧ.Количество+1; ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТЧ,ЭтотОбъект); ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТЧ,ЭтотОбъект); // а может, и ещё чего-то сделать КонецЕсли; |
|||
18
yavasya
01.09.13
✎
06:56
|
ничего не вышло
|
|||
19
Rie
01.09.13
✎
06:58
|
(18) Просто пришёл пожаловаться?
Или хочешь, чтобы "вышло"? |
|||
20
yavasya
01.09.13
✎
07:12
|
извините , сгоряча.
если не выйдет, то уволят |
|||
21
Rie
01.09.13
✎
07:17
|
(20) Ты плакаться пришёл? Или может, тебе чего нужно?
Если что-то нужно - то расскажи, что сделал, чего не сделал, что получилось, что не получилось - и что значит "не получилось" (наверное, какие-то ошибки были? или что-то не выполнилось так, как ожидалось? или ещё что?). Можешь даже код проблемных мест показать. |
|||
22
yavasya
01.09.13
✎
07:22
|
Создал справочник ВидыЛома
реквизиты справочника: Категория: ПеречеслениеСсылка.Категория Товар:Строка(бесконечная) Засоренность: число Не могу убрать стандартный реквизит номенклатура В документе:Поступление товаров и услуг создал реквизиты 1. Категория: ПеречеслениеСсылка.Категория 2.Товар:СправочникСсылка.ВидыЛома В форме создал 2 колонки : Категория и Товар Категория-данные категория Товар-данные товар Процедура ТоварыКатегорияПриИзменении(Элемент) // Вставить содержимое обработчика. СтрокаТЧ = ЭлементыФормы.Товары.ТекущиеДанные; Товар = СтрокаТЧ.Товар.Товар; КонецПроцедуры |
|||
23
Rie
01.09.13
✎
07:25
|
(22) ТоварКатегорияПриИзменении - указал обработчиком поля ввода табличного поля?
|
|||
24
yavasya
01.09.13
✎
07:26
|
Когда в документе поступление товаров и услуг щелкаешь по полю ввода колонки товар , можно выбрать только реквизит справочника выды лома "номенклатура"
|
|||
25
yavasya
01.09.13
✎
07:27
|
ТоварКатегорияПриИзменении - указал обработчиком поля ввода табличного поля
щелкнул в поле ввода и указал событие при изменении |
|||
26
Rie
01.09.13
✎
07:27
|
(24) Ну так он у тебя и есть типа СправочникСсылка.ВидыЛома.
А что нужно? |
|||
27
yavasya
01.09.13
✎
07:28
|
Хочу чтобы выбирал реквизит не номенклатура справочника виды лома , а значение реквизита "товар"
|
|||
28
Rie
01.09.13
✎
07:31
|
(27) Что-то я не пойму, в чём состоит твоё желание.
_Куда_ выбирал? Реквизит Товар имеет тип "СправочникСсылка.ВидыЛома". И может принимать значения только этого типа. Товар.Товар у тебя имеет тип Строка. И это значение можно присвоить только реквизиту типа Строка. Насколько я понял, Товар.Товар - чисто для справки. В документе (для работы) он и даром не нужен. Так? Тогда не надо никуда его записывать. |
|||
29
yavasya
01.09.13
✎
07:33
|
все верно. Товар и даром не нужен
|
|||
30
Rie
01.09.13
✎
07:35
|
+(38)
Добавляешь колонку ТекстТовар. Данных ей не надо. Процедура ТоварыПриВыводеСтроки(Элемент,ОформлениеСтроки,Ячейки) Если ЗначениеЗаполнено(ДанныеСтроки.Товар) Тогда ОформлениеСтроки.Ячейки.ТекстТовар.УстановитьТекст(ДанныеСтроки.Товар.Товар); Иначе ОформлениеСтроки.Ячейки.ТекстТовар.УстановитьТекст(""); КонецЕсли; КонецПроцедуры Вешаешь это как обработчик события ПриВыводеСтроки табличного поля Товары. |
|||
31
yavasya
01.09.13
✎
07:36
|
хочу чтобы в колонке товар табличной части документа "поступление товаров и услуг" выбирался реквизит товар справочника виды лома , а не номенклатура справочника видылома
|
|||
32
Rie
01.09.13
✎
07:40
|
(31) Тогда измени тип реквизита Номенклатура на СправочникСсылка.ВидыЛома - и будет счастье.
Но, честно говоря, я не понимаю, зачем тебе вообще справочник ВидыЛома? Почему это отдельный справочник, а не группа в справочнике Номенклатура? Если же нужен отдельный справочник - то я бы завёл отдельную табличную часть под виды лома, а не использовал табличную часть Товары. И отдельную закладку на форме документа. (Ну и имей в виду: документ - это такая зараза, которая должна _проводиться_. А значит, придётся переписывать обработку проведения). |
|||
33
yavasya
01.09.13
✎
07:44
|
ДанныеСтроки неопределена переменная
|
|||
34
Rie
01.09.13
✎
07:47
|
(33) Третий параметр - не Ячейки, а ДанныеСтроки.
|
|||
35
yavasya
01.09.13
✎
07:48
|
все советы приняты. уберу справочник виды лома. но главный вопрос как при изменении одной колонки достичь изменения в двух остальных?
|
|||
36
yavasya
01.09.13
✎
07:49
|
сколько у вас стоит час занятий ? по скайпу и тимвьюеру ? деньги на телефон положу
|
|||
37
yavasya
01.09.13
✎
07:50
|
я сам занимаюсь репетиторством по инженерной стезе
|
|||
38
Rie
01.09.13
✎
07:56
|
(35) Смотря что за колонки.
Есть колонки, соответствующие реквизитам табличной части - тогда используй обработчик ПриИзменении, в нём, используя ТекущиеДанные табличного поля, устанавливаешь значения этих реквизитов. Но бывают колонки "демонстрационные" - им не соответствуют (и не хранятся) никакие данные, они только отображаются на форме на основании данных из реквизитов. Чтобы показать в них что-нибудь - используются обработчики ПриВыводеСтроки/ПриПолученииДанных (второй - несколько побыстрее работает, но суть - одна), в которых есть параметр ОформлениеСтроки/ОформленияСтроки. Через этот параметр определяется, что выводить в колонках. |
|||
39
yavasya
01.09.13
✎
08:03
|
обработчик работает
|
|||
40
Rie
01.09.13
✎
08:06
|
(39) Тогда в чём проблема? (Полагаю, что в структуре и типах данных).
|
|||
41
yavasya
01.09.13
✎
08:08
|
возьмитесь пожалуйста за репетиторство по скайпу
|
|||
42
Rie
01.09.13
✎
08:12
|
(41) Посмотрите почту.
|
|||
43
yavasya
01.09.13
✎
08:17
|
посмотрите почту
|
|||
44
yavasya
02.09.13
✎
09:06
|
Процедура Без_НДСПриИзменении(Элемент)
// Вставить содержимое обработчика. ЭлементыФормы.Товары.Колонки.СтавкаНДС.Доступность = не Без_НДС; ЭлементыФормы.Товары.Колонки.СтавкаНДС.Видимость = не Без_НДС; ЭлементыФормы.Товары.Колонки.СуммаНДС.Видимость = не Без_НДС; ЭлементыФормы.Товары.Колонки.ОтражениеВУСН.Видимость = не Без_НДС; ЭлементыФормы.Товары.Колонки.СчетУчета.Видимость = не Без_НДС; ЭлементыФормы.Товары.Колонки.СчетУчетаНДС.Видимость = не Без_НДС; ЭлементыФормы.Товары.Колонки.СуммаНДС.Доступность = не Без_НДС; ЭлементыФормы.Товары.Колонки.ОтражениеВУСН.Доступность = не Без_НДС; ЭлементыФормы.Товары.Колонки.СчетУчета.Доступность = не Без_НДС; ЭлементыФормы.Товары.Колонки.СчетУчетаНДС.Доступность = не Без_НДС; КонецПроцедуры флажок добавил без НДС при открытии добавил событие Без_НДС=истина; флажок включен Без НДС, а событие ПриИзменении не работает |
|||
45
yavasya
02.09.13
✎
09:07
|
добавил реквизит в форму объекта "Без НДС" и присвоил его значение флажку Без НДС
|
|||
46
Rie
02.09.13
✎
09:11
|
(44) По идее - всё верно.
В чём состоит проблема? |
|||
47
yavasya
02.09.13
✎
09:16
|
не работает )) я и так и так всё перебрал , при запуске работает металлолом который вы делаете , а мой флажок неработает )) рука мастера)
|
|||
48
yavasya
02.09.13
✎
09:17
|
Всё колонки с НДС видны
|
|||
49
yavasya
02.09.13
✎
09:17
|
может код неверный ?
|
|||
50
yavasya
02.09.13
✎
09:33
|
реквизит где то незарегистрировал
|
|||
51
Rie
02.09.13
✎
09:36
|
(50) Вышли сf-ку и md.
Будем посмотреть. |
|||
52
yavasya
02.09.13
✎
09:37
|
подключитесь ?
|
|||
53
yavasya
02.09.13
✎
09:39
|
фишка в том что хоть галочка и стоит , но программа галочку не видит . когда руками снимаешь галочку а потом обратно ставишь всё работает
|
|||
54
Rie
02.09.13
✎
09:44
|
(52) Время назовите.
|
|||
55
yavasya
02.09.13
✎
09:50
|
сейчас
|
|||
56
yavasya
02.09.13
✎
10:19
|
после часа
|
|||
57
Rie
02.09.13
✎
10:23
|
(56) То есть, через полчаса? ОК.
|
|||
58
yavasya
02.09.13
✎
10:41
|
ок
я думаю что это стандартные колонки и их формирует код при запуске |
|||
59
yavasya
02.09.13
✎
11:02
|
ЭлементыФормы.КоманднаяПанельТовары.Кнопки.ДействиеПодбор.Доступность = Колонки.Номенклатура.Видимость;
// Колонки налога показываем только тогда.Видимость = когда его учитываем. //Колонки.СтавкаНДС.Видимость = УчитыватьНДС; КолонкиУслуг.СтавкаНДС.Видимость = УчитыватьНДС; КолонкиАгентскиеУслуги.СтавкаНДС.Видимость = УчитыватьНДС; КолонкиОС.СтавкаНДС.Видимость = УчитыватьНДС; КолонкиОбС.СтавкаНДС.Видимость = УчитыватьНДС; //Колонки.СуммаНДС.Видимость = УчитыватьНДС; КолонкиУслуг.СуммаНДС.Видимость = УчитыватьНДС; КолонкиАгентскиеУслуги.СуммаНДС.Видимость = УчитыватьНДС; КолонкиОС.СуммаНДС.Видимость = УчитыватьНДС; КолонкиОбС.СуммаНДС.Видимость = УчитыватьНДС; //Колонки.Всего.Видимость = УчитыватьНДС; КолонкиУслуг.Всего.Видимость = УчитыватьНДС; КолонкиАгентскиеУслуги.Всего.Видимость = УчитыватьНДС; КолонкиОС.Всего.Видимость = УчитыватьНДС; КолонкиОбС.Всего.Видимость = УчитыватьНДС; //Колонки.СчетУчетаНДС.Видимость = ПоказыватьВДокументахСчетаУчета И НЕ ЭтоПереработка И НЕ ЭтоКомиссияПоПродаже И УчитыватьНДС И НЕ РозницаВПродажныхЦенах; //Колонки.СчетУчета.Видимость = ПоказыватьВДокументахСчетаУчета И НЕ РозницаВПродажныхЦенах; |
|||
60
yavasya
02.09.13
✎
11:03
|
победа
|
|||
61
Rie
02.09.13
✎
11:22
|
(60) Многословно - но это устранима.
Но если работает - победа! |
|||
62
yavasya
02.09.13
✎
11:49
|
проверьте почту
|
|||
63
yavasya
02.09.13
✎
12:58
|
берем новую колонку. делаем реквизит справочник ссылка , как можно сделать так, чтобы колонка ссылалась на определенный выбранный реквизит при выборе значения из справочника, а не на код ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |