0
- 01.12.2016 - 15:03
|
Помогите кодом Есть две стрелки на документе нужно чтоб по нажатию одной открывался документ предедущего дня, вперед уже сам догадаюсь как сделать по аналогии. По условию просто дата предедщуего дня. т.е. сейчас открыт документ 01.12 я в форме документа вверху сделал стрелку нужно по ее нажатию чтоб открывалась форма документа от 30.11. (учет идет 1 документ один день) чтоб не подумали что я лентяй то вот на что мозгов хватило. Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Документ.Ссылка |ИЗ | Документ.Привет КАК Привет |ГДЕ | Привет.Дата = &Дата"; Запрос.УстановитьПараметр("Дата", ТекущаяДата); РезультатЗапроса = Запрос.Выполнить.Выбрать(); ТекущаяДата = ТекущаяДата -1; | | |
1
- 01.12.2016 - 15:39
| и в чем проблема? | | |
2
- 01.12.2016 - 16:00
| не фурычит | | |
3
- 01.12.2016 - 16:07
|
ТекущаяДата = ТекущаяДата -1; Какой ужас.... не знать элементарных вещей.... время в 1с измеряется не в днях, а в секундах.... короче, "Учиться, учиться, унд [*****] айн маль учитья" как говаривал старик Крупский... | | |
4
- 01.12.2016 - 16:09
|
Не верный алгоритм: 1. А если предыдущий документ позавчерашний (сеанс на следующем дне после праздника)? 2. Результат ТекущаяДата -1 уменьшит ТекущаяДата на одну секунду ;) И вообще, достаточно выбрать документ, а дату получить по ссылке сразу в отборе. | | |
5
- 01.12.2016 - 16:15
|
зачем?) зы семерошник?)) | | |
6
- 01.12.2016 - 16:19
| тем более учиться... с 7-ки на 8-ку довольно легко переходить. а вот потом обратно, практически нереально... | | |
7
- 01.12.2016 - 16:19
|
5-user1C > "ВЫБРАТЬ | Документ.Ссылка |ИЗ | Документ.Привет КАК Привет |ГДЕ | Привет.Дата = &Дата"; | | |
8
- 01.12.2016 - 16:27
| (7) и это тоже... конструктор запросов обычно помогает искать такие примитивные ляпы типа как здесь "ВЫБРАТЬ Документ.Ссылка... | | |
9
- 01.12.2016 - 16:32
|
7-VZ > ТекущаяДата = ТекущаяДата -1; | | |
10
- 01.12.2016 - 17:03
| Не правда ваша. 77 намного проще в программировании простых вещей. | | |
11
- 01.12.2016 - 17:12
| 9-user1C > См.(4). П.2. | | |
12
- 01.12.2016 - 18:03
|
11-VZ >См.(5).П.зы )) | | |
13
- 01.12.2016 - 18:19
| Потому что слишком привыкаешь ко многим хорошим вещам... типа явного разделения обращения к ссылке и объекту, обходов коллекций (и к ним самим), разделению кода на серверный и клиентский и т.п. | | |
14
- 01.12.2016 - 19:44
| Смешная тема ) Один в документ в день ) А журнала нет что ли ? в в запросе надо просто применить MIN() И MAX на на разницу дат документов. А можно следующий выписывать на основании предыдущего ) Пипец проблема )) | | |
15
- 02.12.2016 - 09:57
| Да вот чет не получается ((( хотел попросить пример кода для кнопки (управляемые формы) чтоб при нажатии на нее открывалась форма предедущего документа (думал по дате сделать но чет думаю теперь лучше по номеру документа т.к. выходные\ праздники и будет ошибка) | | |
16
- 02.12.2016 - 10:30
| Цитата:
ошибка в номере (исправление руками), помеченный на удаление документ - будем иметь вздрюченного аднаЭсника | | |
17
- 03.12.2016 - 07:43
|
0-max815 > - В 7.7 всё просто - я бы так оформил: Процедура ПоСтрелкеВверх() Если Выбран()=0 Тогда //Если текущий документ не записан, нужно записать Предупреждение("Текущий Документ должен быть записан - Запишите!!",5); Возврат; КонецЕсли; Док=СоздатьОбъект("Документ."+ТекущийДокумент().Ви д()); Док.ОбратныйПорядок(1); Док.ВыбратьДокументы(,ТекущийДокумент()); Док.ПолучитьДокумент();//нашли текущий документ Док.ПолучитьДокумент();//нашли предыдущий документ Конт=""; РежимПросмотра=1;//только просмотр ОткрытьФорму(Док.ТекущийДокумент(),Конт,РежимПросм отра); КонецПроцедуры //ПоСтрелкеВверх() //Примечание: <РежимПросмотра> - необязательный параметр. Числовое выражение: 1 - открыть форму в режиме только просмотра; 0 - открыть форму в режиме редактирования; -1 (минус единица) - в этом случае используется вариант, предусмотренный текущим значением параметра ''Режим открытия объектов'', установленным пользователем интерактивно. Если использовать текст процедуры отсюда, необходимо удалить пробелы, проставленный в некоторых местах местным редактором форума. | | |
18
- 03.12.2016 - 07:48
|
17-perpetum > Да, пропустил ещё: //После серии //Док.ПолучитьДокумент(); //Док.ПолучитьДокумент(); //Проверка на выбран(): Если Док.Выбран()=0 Тогда Предупреждение("Для выбора Нет предыдущего документа!",5); Возврат; КонецЕсли; | | |
19
- 04.12.2016 - 09:56
| хорош графоманить | | |
20
- 04.12.2016 - 10:42
| Спасибо большое, но чет ничего не понятно к примеру ПолучитьДокумент - такого нет в 8.2 и я может неправильно написал но создавать ничего не надо стрелки должно просто открывать предедущей документ по коду | | |
21
- 04.12.2016 - 12:57
| 20-max815 > При открытии формируй список документов на разумную глубину. | |
| Интернет-форум Краснодарского края и Краснодара |