Вход | Регистрация


1С:Предприятие ::

Метки:

Документ: как заполнить реквизит из предыдущей строки

Я
   Denisыч
14.01.05 - 08:20
Документ: как заполнить реквизит из предыдущей строки.
Бухам нужен док в котором можно будет приходовать материал на разные склады по одной счет фактуре. На основе дока "Приход материалов" добавил реквизит в табличную часть "МестоПрихода" типа Справочник МестаХранения. Сообразить не могу каким манером в него передать склад из предыдущей строки. В форме наваял вроде:

Процедура ПриВводеСтроки()
ПослСтрока=ПолучитьСтрокуПоНомеру(КоличествоСтрок())
Если ПослСтрока>0 Тогда
НоваяСтрока();
МестоПрихода=?//ума не хватает

КонецЕсли;
КонецПроцедуры
 
  Рекламное место пустует
   Rovan
 
1 - 14.01.05 - 08:59
А просто скопировать строку пользователь не может ?
   Denisыч
2 - 14.01.05 - 09:02
Могет, но сумму и количество как пить дать забудет исправить... Я что то торможу совсем, сообразить никак не могу
   Де Лопа де Вега
 
3 - 14.01.05 - 09:20
(2) >>Могет, но сумму и количество как пить дать забудет исправить...
Вы в психиатрической лечебнице работаете?
   Denisыч
4 - 14.01.05 - 09:25
Я из России и работаю в России... (3) К делу не относится. Удобнее документ хочу сделать - такой ответ вас устроит?
   Де Лопа де Вега
 
5 - 14.01.05 - 09:31
(4) Да, вполне. Трудностей не вижу
   Denisыч
6 - 14.01.05 - 09:34
(5) Разговор ни о чём?
   axaken
 
7 - 14.01.05 - 09:51
Процедура ПриВводеСтроки() 
ПослСтрока=ПолучитьСтрокуПоНомеру(КоличествоСтрок()) 
МестоПрихода_=МестоПрихода;
Если ПослСтрока>0 Тогда 
НоваяСтрока(); 
МестоПрихода=МестоПрихода_//ума не хватает 

КонецЕсли; 
КонецПроцедуры
   Denisыч
8 - 14.01.05 - 10:01
сенкс
   simplyUser
9 - 14.01.05 - 10:53
А вот и не правильно. Процедура ПриВводеСтроки() исп. до создания новой строки и нужна ,в основном, для отмены ввода строки по каким то причинам. Так что если вводите первую строку то ПослСтрока=ПолучитьСтрокуПоНомеру(КоличествоСтрок()) - дасть ошибку т.к. КоличествоСтрок()=0. Лучше всего исп. проц. ПриОкончанииРедактированияСтроки,  в которой какой-нить переменной присваивать значение реквизита последней введенной строки (последней не обязательно по порядку). А в процедуре ПриРедактированииНовойСтроки присваивать актуальное значение.
   axaken
 
10 - 14.01.05 - 10:59
ошибку не дает))
 
  Рекламное место пустует
   Denisыч
11 - 14.01.05 - 11:00
Не пашет, создает новую строку со складом, и ещё одну пустую, т.е. две строки.
   Denisыч
12 - 14.01.05 - 11:02
НоваяСтрока();  - убираю вообще ничего не происходит.
   SKrin
 
13 - 14.01.05 - 11:05
Процедура ПриВводеСтроки() 
ПослСтрока=ПолучитьСтрокуПоНомеру(КоличествоСтрок()) 
МестоПрихода_=МестоПрихода; 
Если ПослСтрока>0 Тогда 
НоваяСтрока(); 
МестоПрихода=МестоПрихода_//ума не хватает 

КонецЕсли; 

СтатусВозврата(0);
Возврат;

КонецПроцедуры
   symplyUser
14 - 14.01.05 - 11:05
я ж вам показал как правильно.
   axaken
 
15 - 14.01.05 - 11:08
ну тода сдела как сказал simplyUser

в начале модуля.

перем МестоПрихода_;
Процедура ПриОкончанииРедактированияСтроки() 
МестоПрихода_=МестоПрихода; 
КонецПроцедуры 

Процедура ПриРедактированииНовойСтроки() 
МестоПрихода=МестоПрихода_; 
КонецПроцедуры
   simplyUser
16 - 14.01.05 - 11:09
только хотел про статус возврата (кстати сам Возврат; уже не нужен), но опередили. Но енто не оч.хор. стиль
   SKrin
 
17 - 14.01.05 - 11:11
вот. попробовал на рабочем документе. все раюотает корректно

   ПослСтрока=ПолучитьСтрокуПоНомеру(КоличествоСтрок());
    МестоПрихода_=МестоПрихода;  
    НоваяСтрока();
    МестоПрихода=МестоПрихода_;
    АктивизироватьСтроку(КоличествоСтрок());
    Активизировать("МестоПрихода");
    СтатусВозврата(0);
   Denisыч
18 - 14.01.05 - 11:12
(13)Создает строку, но курсор не встает в строку т.е. выбираешь новую строку.
(15)Кажется это правильней, счас попробую...
   Denisыч
19 - 14.01.05 - 11:23
Всё кроме (17) работает неправильно. В переменную модуль смотреть не хочет если дописываем строки в старый документ.
   simplyUser
20 - 14.01.05 - 11:28
А в старом документе в ПриОткрытии() трудно значение посл.строки засунуть в переменную. А процедуры, которые предназначены ля проверки, в основном, доступа к вводу строки, ничего кроме этого делать не рекомендуется. К тому же намного медленнее.
   Denisыч
21 - 14.01.05 - 11:35
В (17) дописывать меньше... Огромное всем спасибо. Насчет скорости ваша правда но я думаю в доке все равно больше 100 позиций не будет. Все равно спасибо.



Список тем форума
 
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит Тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует