![]() |
![]() |
![]() |
|
Получение документа каждого вида. | ☑ | ||
---|---|---|---|---|
0
falselight
29.01.17
✎
12:06
|
Задача в переборе метаданных и получении последнего документа каждого вида. Как это примерно можно сделать, можно пример кода? Заранее спасибо.
|
|||
1
zak555
29.01.17
✎
12:07
|
что есть последний документ ?
|
|||
2
falselight
29.01.17
✎
12:15
|
(1) последний введенный, последний в журнале
|
|||
3
b_ru
29.01.17
✎
12:17
|
Примерно так:
Для Каждого Эл Из Метаданные.Документы Цикл ТекстЗапроса = "ВЫБРАТЬ т.Ссылка КАК Ссылка ИЗ Документы." + Эл.Имя + " КАК Т УПОРЯДОЧИТЬ ПО Ссылка УБЫВ"; |
|||
4
falselight
29.01.17
✎
12:18
|
(3) Спасибо за пример.
Кажется есть функция выбрать у документа, где можно задавать обратный порядок выборки. |
|||
5
zak555
29.01.17
✎
12:23
|
(3) твой код не отработает следующую ситуацию:
ввожу документ1 в базу со временем 12:00 ввожу документ2 в базу со временем 11:00 скорей всего твой код выдаст документ2 |
|||
6
zak555
29.01.17
✎
12:23
|
=> нужен момент времени
|
|||
7
falselight
29.01.17
✎
12:25
|
(6) момент времени для упорядочивания?
|
|||
8
Мимохожий Однако
29.01.17
✎
12:52
|
(0) А что потом с этим делать?
|
|||
9
falselight
29.01.17
✎
13:30
|
(8) Передать в функцию ЗарегистрироватьИзменения().
Что бы сделать все документы доступными для обмена. Для его проверки. Какие есть ещё варианты получения последнего документа каждого вида? Для каждого Док Из Метаданные.Документы Цикл // ... КонецЦикла; Сам не смотрел пока ещё собираю информацию. |
|||
10
Lexey_
29.01.17
✎
13:42
|
(9) Ливингстар изобретает очередной лисапед?Если для проверки обмена, то в типовой обработке "Регистрация изменений для обмена" есть возможность зарегистрировать изменения по одному объекту для каждого типа.
|
|||
11
falselight
29.01.17
✎
13:56
|
(10) Это как, и что?
Мне нужно, зарегистрировать изменения по последнему документу каждого вида. Для того что бы проверить, что обмен не выдает ошибок, не ломается и это видно по последним документам. Ну и справочники тоже нужно. |
|||
12
falselight
29.01.17
✎
13:59
|
почему не выводится сообщить?
// Процедура КнопкаВыполнитьНажатие(Кнопка) Для каждого Док Из Метаданные.Документы Цикл Сообщить(Док.Имя); КонецЦикла; КонецПроцедуры // |
|||
13
falselight
29.01.17
✎
14:00
|
(12+) А вот вывелись. Сейчас как получить все же последний документ правильно?
В (5) Какое то замечание критичное, не совсем понятное. |
|||
14
falselight
29.01.17
✎
14:20
|
подскажите пожалуйста как поправит что бы работало?
Для каждого Док Из Метаданные.Документы Цикл ВыборкаДок = Документы.Док.Имя.Выбрать(, , , "Дата Убыв"); Сообщить(Док.Имя); КонецЦикла; |
|||
15
falselight
29.01.17
✎
14:23
|
видимо так
// Процедура КнопкаВыполнитьНажатие(Кнопка) Для каждого Док Из Метаданные.Документы Цикл ВыборкаДок = Документы[Док.Имя]Выбрать(, , , "Дата Убыв"); Сообщить(Док.Имя); КонецЦикла; КонецПроцедуры // |
|||
16
Web00001
29.01.17
✎
14:25
|
(13)Он говорит надо как то так наверно
ТекстЗапроса = "ВЫБРАТЬ ПЕРВЫЕ 1 т.Ссылка КАК Ссылка ИЗ Документы." + Эл.Имя + " КАК Т УПОРЯДОЧИТЬ ПО Ссылка.ДАТА УБЫВ"; |
|||
17
falselight
29.01.17
✎
14:31
|
Моё решение:
// Процедура КнопкаВыполнитьНажатие(Кнопка) Для каждого Док Из Метаданные.Документы Цикл ВыборкаДок = Документы[Док.Имя].Выбрать(, , , "Дата Убыв"); ВыборкаДок.Следующий(); Сообщить(Док.Имя); Сообщить(ВыборкаДок.Ссылка); КонецЦикла; КонецПроцедуры // Нормальное ли? |
|||
18
falselight
29.01.17
✎
14:39
|
P.S.
// Процедура КнопкаВыполнитьНажатие(Кнопка) Узел = ПланыОбмена.бит_Полный.НайтиПоКоду("006"); Для каждого Док Из Метаданные.Документы Цикл ВыборкаДок = Документы[Док.Имя].Выбрать(, , , "Дата Убыв"); ВыборкаДок.Следующий(); ПланыОбмена.ЗарегистрироватьИзменения(Узел, ВыборкаДок.Ссылка); Сообщить(Док.Имя); Сообщить(ВыборкаДок.Ссылка); КонецЦикла; КонецПроцедуры // |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |