Имя: Пароль:
1C
1С v8
как обратиться из модуля объекта документа к процедуре формы этого же дока
,
0 npkerz
 
20.04.18
07:25
предыстория
на форме дока есть кнопка которая показывает колонку
в доку делаю движения по регистру сведений и мне нужно написать условие мол если эта кнопка активна то движения записываются в этот регистр
или если эта колонка заполнена
факт в том что я когда пробую обратиться из формы объекта - он не видит процедуру
делала ее на сервера - все равно
1 VladZ
 
20.04.18
07:27
(0) "как обратиться из модуля объекта документа к процедуре формы этого же дока" - не нужно этого делать.
2 youalex
 
20.04.18
07:27
сделай реквизит
3 фросия
 
20.04.18
07:28
сделай что бы кнопка на форме меняла ревизиты документа, и условия в проведении дока проверяй по реквизитам. потому как движения можно вызвать не открывая форуму дока.
4 Мимохожий Однако
 
20.04.18
07:28
(0) Расшифруй "если эта кнопка активна"
5 VladZ
 
20.04.18
07:30
Странная какая-то задача: если не активна кнопка - не писать в регистр.

Ну, ладно... Допустим.

Добавь реквизит "ЗаписыватьДвижения". И по значению этого реквизита определяй необходимость записи в регистр
6 npkerz
 
20.04.18
07:32
у меня есть реквизит -который в процедуре
получается при нажатии кнопки - он показывает колонку(колонка тип реквизит показатьсериимедикаментов)
и вот в поступлении тмз мне нужно как то поставить условие
мол если либо заполнена колонка либо активна кнопка - точно не знаю как это реализовать
просто у медикаменты движение по одному регистру сведений
а картошке на фиг он не сдался
поэтому так пытаюсь сделать
7 npkerz
 
20.04.18
07:33
просто он не дает теперь записать обычное списание - пишет что не указан сертификат
8 Мимохожий Однако
 
20.04.18
07:34
(6) В документе добавь реквизит...см (5)
(7) кто он? ))
здесь телепаты не все
9 фросия
 
20.04.18
07:34
пиши: если тип значения= медикамент и значение заполнено(серия медикамента) тогда сделать движение по РС
10 фросия
 
20.04.18
07:35
>> делала ее на сервера
пол в карточке- мужской

думаю в этом дело
11 npkerz
 
20.04.18
07:36
он - регистр учета медикаментов))
12 фросия
 
20.04.18
07:42
давайте код натыкаю носом
13 npkerz
 
20.04.18
07:54
тэкс
ну вот код команды кнопки в модуле формы

&НаСервере
Процедура показатьсерии(Команда)
    Элементы.ТоварыПоказатьСерииМедикаментов.Пометка = НЕ Элементы.ТоварыПоказатьСерииМедикаментов.Пометка;    
    Если Элементы.ТоварыПоказатьСерииМедикаментов.Пометка Тогда    
         Элементы.ТоварыСерияМедикамента.Видимость = Истина;
         ПоказатьСерии = Истина;
    Иначе    
         Элементы.ТоварыСерияМедикамента.Видимость = Ложь;
         ПоказатьСерии = Ложь;
    КонецЕсли;
    
КонецПроцедуры

ПоказатьСерии - это реквизит

вот процедура проведения движений в модуле объекта
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
    
    Если  Объект.Товары.СерияМедикамента    
        
         // регистр УчетМедикаментов Приход
    Движения.УчетМедикаментов.Записывать = Истина;
    Для Каждого ТекСтрокаТовары Из Товары Цикл
        Движение = Движения.УчетМедикаментов.Добавить();
        Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
        Движение.Период = Дата;
        Движение.Организация = Организация;
        Движение.ИсточникФинансирования = ИсточникФинансирования;
        Движение.Медикамент = ТекСтрокаТовары.Номенклатура;
        Движение.СерияМедикаментов = ТекСтрокаТовары.СерияМедикамента;
        Движение.Количество = ТекСтрокаТовары.Количество;
        Движение.Сумма = ТекСтрокаТовары.Сумма;
    КонецЦикла;
    Иначе Движения.УчетМедикаментов.Записывать = Ложь;

КонецЕсли;

и где начинается - Если  Объект.Товары.СерияМедикамента
тут нужно что то придумать со связкой показатьсерии или типа того
14 фросия
 
20.04.18
08:00
воткните в обработку проведения перед Движение = Движения.УчетМедикаментов.Добавить(); проверку на заполненность серии в текстроке
15 фросия
 
20.04.18
08:01
ЕСли значениезаполнено(ТекстрокаТОвары.СерияМедикамента) ТОгда
Движение = Движения.УчетМедикаментов.Добавить();
        Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
...
...
конецесли;
конеццикла;
16 npkerz
 
20.04.18
08:12
Спасибо
только ругается типа концовок нет - процедуры и если
ну это найду добавлю
17 npkerz
 
20.04.18
09:56
не а
не пашет
пишет не найдена переменная (ТекстрокаТОвары.СерияМедикамента)
18 фросия
 
20.04.18
10:07
(17)а в реквизитах дока есть?
19 npkerz
 
20.04.18
10:26
(18) да есть - СерияМедикаменты реквизит
в табл части Товаров
20 npkerz
 
20.04.18
10:26
вот я хоть к какому элементу формы через модуль объекта обращаюсь - он не видит тупо их
21 hhhh
 
20.04.18
10:49
(20) а ты к реквизитам документа обращайся
22 npkerz
 
20.04.18
12:13
сделала через
    Для Каждого ТекСтрокаТовары Из Товары Цикл
        Если не ПустаяСтрока(ТекСтрокаТовары.СерияМедикамента) тогда
            Движение = Движения.УчетМедикаментов.Добавить();


спасибо
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.