|
Перенос данных из одного документа в другой (программно) | ☑ | ||
---|---|---|---|---|
0
MashaZ95
19.06.19
✎
15:38
|
Привет всем, только начала изучать этот язык, прочитала пару книг и тут же вляпалась в проблему про которую не дописали в книгах.
Значение текстового поля (являющегося реквизитом табличной части), заполняемого на форме и сохраняющегося вместе с формой, надо перенести в другой документ создаваемый на его основании. Реквизит создан, на форме размещён, запросы знаю, но куда этот запрос поместить и как потом этому полю присвоить значение реквизита из совершенно другого документа? Просветите, а то уже начинаю ненавидеть эту цифру и букву (1с) :-) |
|||
1
mikecool
19.06.19
✎
15:39
|
продолжай ненавидеть , меньше вас - нам лучше )
ОбработкаЗаполнения |
|||
2
MashaZ95
19.06.19
✎
18:47
|
Злюки :-), про ОбработкаЗаполнения я знаю что конструктором создается, но я в готовой конфигурации пытаюсь работать. Там уже все создали только подправить надо, добавить реквизит в одном документе и в другом и сделать перенос. Где это делается я знаю, а вот как совсем никак.
|
|||
3
Жан Пердежон
19.06.19
✎
18:53
|
(2) ну так смотри как другие реквизиты переносятся и делай так же
|
|||
4
catena
20.06.19
✎
06:11
|
Не верю, что в книгах не написано про ввод на основании или про заполнение реквизитов объекта, вы какие-то странные книги прочитали.
|
|||
5
Loyt
20.06.19
✎
06:59
|
(2) Там же есть документ-основание (он передаётся как входной параметр).
Проваливайся в него, в нужную тебе табличную часть и строку, вынимай в строке значение нужного реквизита. Только на всякий пожарный сначала проверь его тип. |
|||
6
SleepyHead
гуру
20.06.19
✎
08:03
|
(4) Но она же девушка! ))
|
|||
7
SleepyHead
гуру
20.06.19
✎
08:04
|
(0) Фото не опубликовано!
|
|||
8
Dotoshin
20.06.19
✎
08:12
|
(6) Вообще-то catena тоже :)
|
|||
9
SleepyHead
гуру
20.06.19
✎
08:13
|
(8) знаю, и она знает, почему я так ее подкалываю )
|
|||
10
Nuobu
20.06.19
✎
08:14
|
Попробуй использовать отладчик.
|
|||
11
catena
20.06.19
✎
08:36
|
(9)Считается)))
|
|||
12
FIXXXL
20.06.19
✎
08:40
|
(0) табличные части схожи? можно в получателе однозначно идентифицировать строку таб.части на основе строки источника?
или тебе просто таб.часть получателя заполнить надо? |
|||
13
xXeNoNx
20.06.19
✎
08:50
|
(0) это не Ваше, выходите замуж.
Ps. Почему-то мне кажется что это не МашаЗ, а МишаЗ |
|||
14
MashaZ95
20.06.19
✎
09:05
|
[b]Жан Пердежон[/b], да они переносятся непонятно как, названий конкретных нет, какие то или массивы или структуры, этот клубок не расплести :-)
[b]catena[/b], там это есть, но показано как конструктором этим пользоваться, а в конфигурации с которой работаю все написал какой-то маньяк :-) всё вручную и очень запутано. [b]Loyt[/b], а пример есть какой-нибудь, как проваливаться, вынимать и т.п.? Тип такой же я его сама создавала один-в-один :-) [b]SleepyHead[/b], (7) это нужно? Стыдно признаться я даже фото опубликовать здесь не умею. [b]Nuobu[/b], (10) отладчик умею запускать, если он ещё что-то умеет, то для меня это сюрприз))) [b]FIXXL[/b], нет, поле заполняется в таб. части любым текстом его он и должен перенести в точно такое же поле в другом документе. [b]xXeNoNx[\b], (13) а что у вас тут девушки редкое явление, у нас в отделе например одни девушки и женщины, только програмиировать никто не умеет) |
|||
15
Fish
20.06.19
✎
09:09
|
(14) не нужно ставить [b] и [/b]. Эта магия здесь не работает.
|
|||
16
MashaZ95
20.06.19
✎
09:09
|
(13) за программиста? Хитрый ход но надеюсь обойтись своими силами:-)
P.S. Выделение не работает почему-то :-( |
|||
17
MashaZ95
20.06.19
✎
09:10
|
(15) уже поняла, странно, где-то было написано что это волшебный форум :-)
|
|||
18
Fish
20.06.19
✎
09:11
|
(17) Здесь особая магия.
|
|||
19
catena
20.06.19
✎
09:13
|
(17)Волшебный <> phpBB
(14)Процедура обработкаЗаполнения есть? Параметр Основание есть? Примеры использования его в этой процедуре есть? Я понимаю, что некоторые разработчики пишут под грибами и разобрать чужую писанину бывает сложно, но сейчас вы по сути просите объяснить основы, а это долго, нудно и дорого. Давайте хоть от чего-то отталкиваться: на чем конкретно вы застопорились? |
|||
20
Beduin
20.06.19
✎
09:14
|
(13) Сейчас время такое, что и Миша может замуж выйти.
|
|||
21
Dotoshin
20.06.19
✎
09:35
|
(14) >>а в конфигурации с которой работаю все написал какой-то маньяк :-) всё вручную и очень запутано.
А как конфигурация называется если не секрет? |
|||
22
MashaZ95
20.06.19
✎
09:43
|
(19) сейчас посмотрю что из этого есть. Спасибо.
(20) согласна, но и будь я Мишей всё равно замуж не хочу :-) (21) Бухгалтерия, но в неё то и дело вносились изменения. |
|||
23
MashaZ95
20.06.19
✎
09:49
|
(19) ОбработкаЗаполнения есть
Написано так Процедура ОбработкаЗаполнения (ДанныеЗаполнения, СтандартнаяОбработка) Параметр Основание - нет, там код небольшой могу написать. |
|||
24
MashaZ95
20.06.19
✎
09:51
|
Почему что то выделяется а что-то нет, какой тут 1с, как на форуме нормально писать бы разобраться)))
|
|||
25
catena
20.06.19
✎
10:00
|
(23)Вас должен интересовать параметр ДанныеЗаполнения
|
|||
26
catena
20.06.19
✎
10:02
|
||||
27
MashaZ95
20.06.19
✎
10:02
|
Процедура ОбработкаЗаполнения (ДанныеЗаполнения, СтандартнаяОбработка)
ТипДанныхЗаполнения = ТипЗнч (Данные Заполнения); Если ДанныеЗаполнения <> Неопределено И ТипДанныхЗаполнения <> Тип ("Структура") И Метаданные(). ВводитсяНаОсновании.Содержит (ДанныеЗаполнения.Метаданные()) Тогда ЗаполнитьПоДокументуОснованию (ДанныеЗаполнения); |
|||
28
MashaZ95
20.06.19
✎
10:03
|
Иначе СуммаВключаетНДС = Истина;
КонецЕсли; ЗаполнениеДокументов.Заполнить (ЭтотОбъект, ДанныеЗаполнения); КонецПроцедуры |
|||
29
MashaZ95
20.06.19
✎
10:04
|
Всё что там есть, больше совсем ничего, и непонятно что откуда и куда
|
|||
30
MashaZ95
20.06.19
✎
10:06
|
(26) спасибо прочитаю, но замер мне не нужен, я где то читала что можно с помощью чего то посмотреть какое значение у переменной в данный момент как эта штука называется?
|
|||
31
RomanYS
20.06.19
✎
10:13
|
(30) Shift+F9
(28) если встать курсором на Заполнить в строке "ЗаполнениеДокументов.Заполнить (ЭтотОбъект, ДанныеЗаполнения);" и нажать F12, то сможешь туда "провалиться" |
|||
32
MashaZ95
20.06.19
✎
12:00
|
(31) спасибо!
А как насчёт верхнего кода или я не то написала? |
|||
33
catena
20.06.19
✎
12:16
|
(32)Так написали же: жать ф12 и идти внутрь процедур.
|
|||
34
catena
20.06.19
✎
12:17
|
(32)Ну и, к слову, в приведенном коде ничего наркоманского не написано. Если вы не можете понять даже то, что написано в этой процедуре, то писать вам еще рано.
|
|||
35
RomanYS
20.06.19
✎
12:19
|
(33) (34) Есть подозрение, что ТС не понимает что такое "процедура" (
|
|||
36
Fish
20.06.19
✎
12:20
|
(35) Проце- что? :))
|
|||
37
MashaZ95
20.06.19
✎
12:28
|
(34) а я и не писала что он наркоманский, просто сложный (для меня), ну писать мне рано я согласна, а как подготовиться если не путём проб и ошибок?
|
|||
38
RomanYS
20.06.19
✎
12:32
|
(37) прогони весь код отладчиком построчно и попробуй понять, где заполняются соседние поля (и ТЧ вообще)
|
|||
39
MashaZ95
20.06.19
✎
12:33
|
(35) тот код что выше писала не я, я написала запрос в модуле формы который берёт данные из реквизита одного документа и помещает его в реквизит другого документа:
|
|||
40
MashaZ95
20.06.19
✎
12:39
|
аСервере
Процедура ЗаполнитьДобавленныеКолонкиТаблиц(); ПараметрыКонтекста = Новый Структура (); ПараметрыКонтекста.Вставить ("Организация", Объект.Организация); ПараметрыКонтекста.Вставить ("Дата", Объект.Дата); Запрос = Новый Запрос; Запрос.Текст = |
|||
41
MashaZ95
20.06.19
✎
12:40
|
ВЫБРАТЬ
| РеализацияТоваровУслуг.Ссылка КАК Ссылка |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг |ГДЕ | РеализацияТоваровУслуг.Ссылка = &Ссылка | |СГРУППИРОВАТЬ ПО | РеализацияТоваровУслуг.Ссылка"; |
|||
42
MashaZ95
20.06.19
✎
12:41
|
РезультатЗапроса = Запрос.Выполнить ();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать (); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Объект.ТоварыИУслуги.Содержание = ВыборкаДетальныеЗаписи.Содержание; КонецЦикла; |
|||
43
MashaZ95
20.06.19
✎
12:43
|
Напомню это в модуле формы, в модуле объекта писала выше, код исполняется значение не переносится
(39) ф12 и др. я попробую когда станет доступна база, пока у нас в отделе всё висит |
|||
44
catena
20.06.19
✎
12:51
|
Вы обманываете, этот код не может исполняться. Не установлен параметр запроса, в запросе нет поля "Содержание", нет позиционирования на строке при заполнении.
|
|||
45
MashaZ95
20.06.19
✎
15:32
|
(44) может недокопировала, как будет доступ гляну
|
|||
46
MashaZ95
20.06.19
✎
15:40
|
Запрос.УстановитьПараметр ("Ссылка", Ссылка);
|
|||
47
MashaZ95
20.06.19
✎
15:41
|
Блин т.е. Запрос.УстановитьПараметр ("Ссылка", Объект.Ссылка); вот недостающая строка?
|
|||
48
MashaZ95
20.06.19
✎
15:46
|
(44) а то что нет поля содержание, так в запросе получаю ссылку на табличную часть в документе, может здесь моя ошибка?
|
|||
49
MashaZ95
20.06.19
✎
15:47
|
Т.е. на сам документ, я имела ввиду может надо на табличную часть
|
|||
50
Fish
20.06.19
✎
15:48
|
(41) А можно поинтересоваться, в чём смысл сего запроса?
|
|||
51
MashaZ95
20.06.19
✎
15:50
|
(50) получить для реквизита содержание из другого документа
|
|||
52
MashaZ95
20.06.19
✎
15:51
|
Данные блин как тут редактировать кошмар
|
|||
53
Fish
20.06.19
✎
15:52
|
(51) Тогда это неправильный запрос. Он вернёт тебе лишь ту самую ссылку документа, которую ты передаёшь ему в параметры :))
|
|||
54
Fish
20.06.19
✎
15:52
|
+(53) Точнее, он тебе не нужен, т.к. возвращает ровно то, что ты передаёшь.
|
|||
55
MashaZ95
20.06.19
✎
15:59
|
(54) запрос совсем не нужен, или такой запрос не нужен?
|
|||
56
Мимохожий Однако
20.06.19
✎
15:59
|
(0) Отладчиком пользоваться умеешь? Как называется конфигурация?
|
|||
57
MashaZ95
20.06.19
✎
16:01
|
(56) умею ф5 нажимать, выше рассказали больше, так что умею, конфигурация бухгалтерия
|
|||
58
Fish
20.06.19
✎
16:03
|
(55) Такой запрос не имеет смысла - просто лишнее обращение к БД. А нужен ли он в принципе - тебе решать. Я пока так и не понял, что именно, откуда и куда ты хочешь перенести.
|
|||
59
Мимохожий Однако
20.06.19
✎
16:28
|
(57) Отлично. Научись нажимать соседние кнопочки и смотреть как меняются переменные, свойства и какие методы используются. На основе этой информации надо научиться разбирать код. На основе этого сможешь понять, где ошибаешься и что используешь не так. Есть полезное сочетание кнопок Ctrl-F1 для вызова Синтаксис-Помощника. Ты вначале пути. Набирайся терпения и сил.
|
|||
60
MashaZ95
21.06.19
✎
14:53
|
(31) проваливаюсь в модуль, буду копать больше мне увы ничего не остается.
Шифт+ф8 не работает, ничего не происходит :-( |
|||
61
MashaZ95
21.06.19
✎
14:57
|
(58) есть поле с текстом произвольным текст вводится на форме и сохраняется вместе с документом, что-то вроде комментария, так вот мне нужно чтобы при создании документа на основании этого, текст точно так же копировался как и остальные реквизиты. А вот как перенести текст из одного реквизита табл. части документа1 в другой реквизит табл. части документ2 я не знаю. Вот и вся проблемка :-/
|
|||
62
MashaZ95
24.06.19
✎
10:10
|
(61)
|
|||
63
hhhh
24.06.19
✎
10:22
|
(61) в таблчастях там не всё так просто, там ещё строки есть. Таблчасть состоит из строк. ТО есть нельзя сказать "реквизита табл. части", реквизит это колонка таблчасти, надо еще строку таблчасти указать. Вы целиком всю колонку хотите скопировать? или что?
|
|||
64
bolobol
24.06.19
✎
11:22
|
Там, где-то выше, было:
"Объект.ТоварыИУслуги.Содержание = ВыборкаДетальныеЗаписи.Содержание;" без [] почему-то. Или цикл должен был быть Для каждого ЭлСтр из Объект.ТоварыИУслуги Цикл и уже ЭлСтр.Содержание = ВыборкаДетальныеЗаписи.Содержание; Если для каждой строки Содержание надо установить одинаковое. Не помню, есть ли для ТЧ "ЗаполнитьЗначения(Колонка, Значение)", а то, может, ещё проще Объект.ТоварыИУслуги.ЗаполнитьЗначения("Содержание", ВыборкаДетальныеЗаписи.Содержание);" |
|||
65
MashaZ95
25.06.19
✎
12:58
|
(63) там в основном одна запись, но нужно чтобы каждой записи строки в документе1 соответствовала запись строки в документе2. Допустим в строке реквизита "содержание" написано: "Приветики" и при создании нового документа на основании в строке содержание тоже было написано: "Приветики".
|
|||
66
catena
25.06.19
✎
13:25
|
(65)Это не отменяет необходимость перебора строк. Даже если в ТЧ одна строка, нужно сперва спозиционироваться на эту строку, чтобы присвоить значение.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |