|
обработка перезаполнение сумм | ☑ | ||
---|---|---|---|---|
0
denis_solyanko
21.12.14
✎
12:13
|
Добрый день вопрос такой создал обработку для перезаполнения сумм в справочнике,
сдедал 2 кнопки для сохранения значений в табличную часть обработки вторую для восстановления старых значений в справочнике. данные сохранить сохранил теперь как сделать чтобы их ввостановить запросом получил суммы из справочника, получил объект как заполнить теперь из табличной части обработки Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РасходыБудущихПериодов.Сумма КАК Сумма, | РасходыБудущихПериодов.Ссылка, | РасходыБудущихПериодов.Наименование, | РасходыБудущихПериодов.Контрагент, | РасходыБудущихПериодов.ДатаНачалаСписания |ИЗ | Справочник.РасходыБудущихПериодов КАК РасходыБудущихПериодов |ГДЕ | РасходыБудущихПериодов.ДатаНачалаСписания МЕЖДУ &НачалоПериода И &КонецПериода"; Запрос.УстановитьПараметр("НачалоПериода",НачПериода); Запрос.УстановитьПараметр("КонецПериода",КонПериода); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Объект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект(); Объект.Сумма = ???? Объект.Наименование = ????????? Конеццикла; ТАБЛИЧНУЮ ЧАСТЬ назвал старые данные как к ней обратиться теперь |
|||
1
Mankubus
21.12.14
✎
12:37
|
обратись по имени
|
|||
2
denis_solyanko
21.12.14
✎
12:44
|
(1) что ты имеешь ввиду?
|
|||
3
denis_solyanko
21.12.14
✎
12:47
|
(1) СтарыеДанные.СуммаСтарая?
|
|||
4
ОбычныйЧеловек
21.12.14
✎
12:47
|
(2)
НоваяСтрока=Объект.ИмяТвойТабличнойЧасти.Добавит(); НоваяСтрока.Сумма= ..... |
|||
5
ОбычныйЧеловек
21.12.14
✎
12:48
|
Добавит --> Добавить
|
|||
6
denis_solyanko
21.12.14
✎
12:49
|
(5) это я уже сделал когда сохранял значения мне теперь их надо получить
|
|||
7
Mankubus
21.12.14
✎
12:50
|
(3) сначала надо найти в таблице СтарыеДанные строку с суммой, соответствующей объекту. потом из этой строки подставить сумму
|
|||
8
Mankubus
21.12.14
✎
12:51
|
а лучше в том же запросе сделать соединение к старой таблице
|
|||
9
Cyberhawk
21.12.14
✎
12:53
|
(0) покажи скриншот твоей обработки
|
|||
10
denis_solyanko
21.12.14
✎
12:59
|
||||
11
denis_solyanko
21.12.14
✎
13:01
|
(8) у меня таб частьв обработке для временного хранения данные в случае если не правильно что то обработается вернуть обратно суммы которые были изменены
|
|||
12
Cyberhawk
21.12.14
✎
13:06
|
(10) а теперь покажи дерево метаданных этой обработки
|
|||
13
denis_solyanko
21.12.14
✎
13:10
|
||||
14
Cyberhawk
21.12.14
✎
13:12
|
(13) теперь выложи модуль объекта (правой кнопкой по обработке в дереве - открыть модуль объекта)
|
|||
15
denis_solyanko
21.12.14
✎
13:13
|
(14) хахах издеваешься) что ли что именно тебе скинуть какие процедуры?
|
|||
16
Mankubus
21.12.14
✎
13:13
|
и модуль формы сразу
|
|||
17
Cyberhawk
21.12.14
✎
13:14
|
(15) все из модуля объекта
|
|||
18
Cyberhawk
21.12.14
✎
13:14
|
(16) тссс, будем последовательны :)
|
|||
19
denis_solyanko
21.12.14
✎
13:15
|
(18) Процедура СохранитьЗначенияНажатие(Элемент)
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РасходыБудущихПериодов.Сумма КАК Сумма, | РасходыБудущихПериодов.Ссылка, | РасходыБудущихПериодов.Наименование, | РасходыБудущихПериодов.Контрагент, | РасходыБудущихПериодов.ДатаНачалаСписания |ИЗ | Справочник.РасходыБудущихПериодов КАК РасходыБудущихПериодов |ГДЕ | РасходыБудущихПериодов.ДатаНачалаСписания МЕЖДУ &НачалоПериода И &КонецПериода"; Запрос.УстановитьПараметр("НачалоПериода",НачПериода); Запрос.УстановитьПараметр("КонецПериода",КонПериода); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл НовСтр = СтарыеДанные.Добавить(); НовСтр.Наименование = ВыборкаДетальныеЗаписи.Наименование; НовСтр.СуммаСтарая = ВыборкаДетальныеЗаписи.Сумма; Конеццикла; КонецПроцедуры |
|||
20
Cyberhawk
21.12.14
✎
13:16
|
Теперь выложи код, вызываемый при нажатии на кнопку "Выполнить"
|
|||
21
denis_solyanko
21.12.14
✎
13:18
|
тебе выполнить не зачем
|
|||
22
denis_solyanko
21.12.14
✎
13:18
|
там все нормльно
|
|||
23
Cyberhawk
21.12.14
✎
13:20
|
(22) мне "Выполнить" нужен не для проверки, нормально ли "там", а для проверки, нормально ли в голове у автора :)
|
|||
24
denis_solyanko
21.12.14
✎
13:28
|
(23) представь что нету выполнить подскажи мне ответ на мой вопрос
|
|||
25
denis_solyanko
21.12.14
✎
13:29
|
выполнить тебе не зачем
|
|||
26
Cyberhawk
21.12.14
✎
13:29
|
(24) Ок, давай тогда обработчик события нажатия на кнопку "Сохранить..."
|
|||
27
denis_solyanko
21.12.14
✎
13:29
|
(19)
|
|||
28
Cyberhawk
21.12.14
✎
13:30
|
Тогда жду (14)
|
|||
29
denis_solyanko
21.12.14
✎
13:32
|
(28) там нет ничего
|
|||
30
Cyberhawk
21.12.14
✎
13:35
|
(29) Ок. Тогда вопрос: что будет изменено (по плану в "Выполнить") в элементах справочника "РБП" после того, как нажали "Сохранить..."?
|
|||
31
denis_solyanko
21.12.14
✎
13:38
|
(30) при нажатии кнопки сохранить сохраняются суммы из справочника, после выполняется процедура выполнить, здесь происходит пересчет сумм, и если вдруг суммы не правилные тогда нажимают на кнопку восстановить и тут должны суммы сохраненные заполнится
|
|||
32
Cyberhawk
21.12.14
✎
13:39
|
"если вдруг суммы не правилные" кто, когда и как это будет определять?
|
|||
33
denis_solyanko
21.12.14
✎
13:44
|
(32) да неважно это, человек передумал надо вернуть обратно суммы , к чему лишние вопросы
|
|||
34
Cyberhawk
21.12.14
✎
13:47
|
"человек передумал надо вернуть обратно" спустя сколько (максимум) секунд ему разрешается передумать и захотеть вернуть обратно?
|
|||
35
denis_solyanko
21.12.14
✎
13:54
|
(34)ну в ближайшее время можно сказать сразу допустим, а какие варианты есть?
|
|||
36
Cyberhawk
21.12.14
✎
13:55
|
(35) Я задам вопрос по-другому: что важнее в обработке - функциональность по восстановлению старых значений или их обработка в кнопке "Выполнить"?
|
|||
37
denis_solyanko
21.12.14
✎
13:57
|
ну и то и другое
ну допустим важнее выполнить |
|||
38
Cyberhawk
21.12.14
✎
13:57
|
(37) ок, еще проще для примера: после нажатия на кнопку "Выполнить" выключился свет (на ПК, где хранится инфобаза). Пользователя это устроит? Имею в виду отсутствие возможности восстановиться
|
|||
39
denis_solyanko
21.12.14
✎
13:59
|
да
|
|||
40
denis_solyanko
21.12.14
✎
13:59
|
к чему ты клонишь
|
|||
41
Cyberhawk
21.12.14
✎
14:01
|
К тому, что убери кнопку "Вернуть..." из обработки и задача будет выполнена
|
|||
42
Cyberhawk
21.12.14
✎
14:02
|
+(41) просто считай, что каждый раз после нажатия "Выполнить" пользователь будет терять возможность работать в инфобазе. Тогда и кнопка "Вернуть" не нужна
|
|||
43
denis_solyanko
21.12.14
✎
14:05
|
(42) ты издеваешься явно да? я задал вопрос, дай ответ не знаешь не задавай вопросов лишних не по теме, и не пытайся меня отговорить
|
|||
44
denis_solyanko
21.12.14
✎
14:05
|
поставлена задача такая
|
|||
45
shuhard
21.12.14
✎
14:11
|
(43) или в дворники,
с таким подходом в 1С делать нечего |
|||
46
denis_solyanko
21.12.14
✎
14:16
|
(45) с каким подходом? ты что говоришь вообще? я задал вопрос как сделать можно он мне говорит вообще не делай так
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |