|
|
|
Запутался с обходом метаданных | ☑ | ||
|---|---|---|---|---|
|
0
altaykniga
13.11.15
✎
11:25
|
Доброго дня, уважаемые!
Есть база данных. Необходимо выяснить, есть ли в ней значения объектов с типом "Число", длиной более 12 знаков. Как это сделать? |
|||
|
1
altaykniga
13.11.15
✎
11:26
|
т.е. значения реквизитов объектов и их табличных частей
|
|||
|
2
Ненавижу 1С
гуру
13.11.15
✎
11:26
|
обойти все реквизиты/ресурся/измерения объектов и их ТЧ
|
|||
|
3
zak555
13.11.15
✎
11:27
|
(2)ты про константы и регистры забыл
|
|||
|
4
altaykniga
13.11.15
✎
11:28
|
(2) как это сделать в цикле?
|
|||
|
5
Ненавижу 1С
гуру
13.11.15
✎
11:29
|
(3) про геситры не забыл, а константы да
еще тип значений характеристик у ПВХ |
|||
|
6
Timon1405
13.11.15
✎
11:29
|
посадить стажера, просмотреть все глазами, если что пропустит - не дать сегодняшнюю тарелку
|
|||
|
7
Ненавижу 1С
гуру
13.11.15
✎
11:29
|
(4) надо себя заставить )))
|
|||
|
8
VikingKosmo
13.11.15
✎
11:32
|
(4) для начала напиши цикл
|
|||
|
9
altaykniga
13.11.15
✎
11:35
|
(8) допустим, буду писать разные циклы для разных объектов метаданных... Например:
Для Каждого Справочник из Метаданные.Справочники Цикл вложенный цикл для обхода всех элементов справочника вложенный цикл для обхода всех реквизитов элемента КонецЦикла; |
|||
|
10
Ненавижу 1С
гуру
13.11.15
✎
11:36
|
(9) какого элемента?
|
|||
|
11
cw014
13.11.15
✎
11:39
|
(9) Хорошее начало
|
|||
|
12
VikingKosmo
13.11.15
✎
11:40
|
(9) крайне душевный цикл. А теперь расскажи нам про метаданные элементов...
|
|||
|
13
altaykniga
13.11.15
✎
11:40
|
(10) ну а как написать?
первый справочник в метаданных будет, например, Валюты нужно пробежать по всем элементам этого справочника и проверить значения его реквизитов. Как это сделать? |
|||
|
14
Горогуля
13.11.15
✎
11:42
|
(13) нужно пробежать по всем реквизитам. если попадётся числовой, искать собственно ссылки, у которых текущий реквизит выделяется
|
|||
|
15
Ненавижу 1С
гуру
13.11.15
✎
11:43
|
(13) а по элементам то зачем?
|
|||
|
16
VikingKosmo
13.11.15
✎
11:43
|
(13) элементы то тебе зачем?!
|
|||
|
17
cw014
13.11.15
✎
11:44
|
(13) И зачем тут элементы?
|
|||
|
18
Горогуля
13.11.15
✎
11:44
|
//это что такого нужно делать, чтоб придумать такую задачу?
|
|||
|
19
altaykniga
13.11.15
✎
11:44
|
например:
есть Документ "АмортизацияИмущества". У него есть реквизит "Сумма". Нужно узнать, есть ли в базе данных документы вида "АмортизацияИмущества", у которых сумма длиной более 12 знаков |
|||
|
20
altaykniga
13.11.15
✎
11:45
|
(19) и так для всех объектов метаданных
|
|||
|
21
Timon1405
13.11.15
✎
11:45
|
(18) Деноминацию в Белорусии?
|
|||
|
22
altaykniga
13.11.15
✎
11:46
|
не буду же я писать цикл для каждого вида документов, справочников, регистров сведений и регистров накопления...
|
|||
|
23
Fish
гуру
13.11.15
✎
11:46
|
(19) Тогда тебе не метаданные нужны.
|
|||
|
24
VikingKosmo
13.11.15
✎
11:46
|
(22) напиши запрос, будь мужиком
|
|||
|
25
Ненавижу 1С
гуру
13.11.15
✎
11:47
|
(19) и что тебе даст это знание?
|
|||
|
26
Горогуля
13.11.15
✎
11:47
|
(22) правильно. ты будешь писать цикл для формирования текста одного мега-запроса
|
|||
|
27
altaykniga
13.11.15
✎
11:49
|
(26) давайте напишем вместе ))
|
|||
|
28
Горогуля
13.11.15
✎
11:49
|
(21) я лучше коньячку махну ;)
|
|||
|
29
VikingKosmo
13.11.15
✎
11:49
|
(27) 50000 р.
|
|||
|
30
Горогуля
13.11.15
✎
11:50
|
(27) э, не. тут (по крайне мере лично для меня) тот самый случай, когда проще одноразово зафигачить восемьсот запросов в цикле вместо того, чтобы делать правильно
|
|||
|
31
Горогуля
13.11.15
✎
11:51
|
(29) старых белорусских?
|
|||
|
32
VikingKosmo
13.11.15
✎
11:51
|
(30) а почему бы не написать просто стену текста в цикле, а потом ее в запрос сунуть?
|
|||
|
33
VikingKosmo
13.11.15
✎
11:51
|
(31) фу-фу-фу!
|
|||
|
34
Горогуля
13.11.15
✎
11:51
|
(32) ну это немного не так просто, как мне хотелось бы
|
|||
|
35
altaykniga
13.11.15
✎
11:51
|
(25) дело в том, что в типовую конфигурацию были внесены изменения (увеличена длина реквизитов с типом Число) с 12 до 15 символов. Хочу привести конфу к типовому виду, но сначала нужно проверить, нет ли в базе данных значений реквизитов с числами длиной более 12 знаков
|
|||
|
36
VikingKosmo
13.11.15
✎
11:52
|
(35) повторюсь, запрос тебе в помощь
|
|||
|
37
Горогуля
13.11.15
✎
11:53
|
12 знаков - это триллионв. конфигурация 1С:Управление Белоруссией?
|
|||
|
38
VikingKosmo
13.11.15
✎
11:53
|
(37) 1С: Управление Вселенной
|
|||
|
39
cw014
13.11.15
✎
11:53
|
(35) >увеличена длина реквизитов с типом Число) с 12 до 15 символов
Дык отбери реквизиты, которые были изменены и по ним и ищи, наф тебе метаданные то все? |
|||
|
40
Timon1405
13.11.15
✎
11:53
|
(37) 1С:Оборонсервис
|
|||
|
41
Ненавижу 1С
гуру
13.11.15
✎
11:54
|
(35) хз, в типовой УТ 10.3 везде и всюду длина 15
|
|||
|
42
Fish
гуру
13.11.15
✎
11:55
|
(35) В типовых у числовых реквизитов длина 15, точность 2.
|
|||
|
43
VikingKosmo
13.11.15
✎
11:56
|
(42) ну может в Беларуси не так
|
|||
|
44
Fish
гуру
13.11.15
✎
11:57
|
(43) Откуда инфа про Белорусь? Автор вроде не оттуда.
|
|||
|
45
altaykniga
13.11.15
✎
11:58
|
конфигурация 1с:Управляющий
|
|||
|
46
altaykniga
13.11.15
✎
11:59
|
(39) как отобрать реквизиты, которые были изменены?
|
|||
|
47
Ненавижу 1С
гуру
13.11.15
✎
11:59
|
(46) сравни с типовой
|
|||
|
48
cw014
13.11.15
✎
11:59
|
(46) Сравнение/объединение конфигураций не предлагать?
|
|||
|
49
Горогуля
13.11.15
✎
11:59
|
(46) сравни с поставщиком
|
|||
|
50
altaykniga
13.11.15
✎
12:00
|
в конфигурации были изменены все реквизиты, с типом "Число", у которых длина была 12, точность 2. Сделали 15 точность 2
|
|||
|
51
Ненавижу 1С
гуру
13.11.15
✎
12:00
|
в конце концов, а что это сильно напрягает?
|
|||
|
52
altaykniga
13.11.15
✎
12:00
|
(50) и теперь мне нужно выяснить, могу ли я вернуть назад длину 12 точность 2 без потери информации в базе данных (чтобы значения реквизитов этих сумм не обрезались)
|
|||
|
53
VikingKosmo
13.11.15
✎
12:03
|
(44) где то проскочила инфа про деноминацию в Беларуси
|
|||
|
54
Горогуля
13.11.15
✎
12:03
|
(52) и сразу придумал работу с метаданными. молодец
|
|||
|
55
altaykniga
13.11.15
✎
12:05
|
(54) а как еще проверить, нет ли в базе данных числовых значений, длина которых превышает 12 знаков?
|
|||
|
56
Fish
гуру
13.11.15
✎
12:07
|
(50) Привели к нормальному типу, как в типовых от 1С. Чем это мешает?
|
|||
|
57
altaykniga
13.11.15
✎
12:08
|
(56) это мешает обновлять конфу обычным способом
|
|||
|
58
altaykniga
13.11.15
✎
12:12
|
Для Каждого Спр из Метаданные.Справочники Цикл
//как открыть выборку элементов справочника "Спр"? |
|||
|
59
Горогуля
13.11.15
✎
12:13
|
(55) поштучно. по известным именам реквизитов объектов МД
|
|||
|
60
Fish
гуру
13.11.15
✎
12:14
|
(58) ОбъектМетаданных: Справочник (MetadataObject: Catalog)
Реквизиты (Attributes) Использование: Только чтение. Описание: Тип: КоллекцияОбъектовМетаданных. Коллекция объектов метаданных, описывающих реквизиты данного объекта метаданных. Доступность: Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер). |
|||
|
61
Ненавижу 1С
гуру
13.11.15
✎
12:15
|
(58) Выборка = Справочники[Спр.Имя].Выбрать();
|
|||
|
62
Fish
гуру
13.11.15
✎
12:16
|
(61) да, неправильно прочитал вопрос. (60) не в тему.
|
|||
|
63
altaykniga
13.11.15
✎
12:17
|
(61) какого типа должен быть "Спр.Имя"
|
|||
|
64
Fish
гуру
13.11.15
✎
12:17
|
(63) А сам как думаешь?
|
|||
|
65
Горогуля
13.11.15
✎
12:18
|
(63) ни в коемп случае не строка
|
|||
|
66
altaykniga
13.11.15
✎
12:18
|
(64) понял
|
|||
|
67
Горогуля
13.11.15
✎
12:19
|
время на всю обработку замерить не забудь, потом расскажешь
|
|||
|
68
Fish
гуру
13.11.15
✎
12:20
|
(67) Время на написание обработки или время её работы?
|
|||
|
69
VikingKosmo
13.11.15
✎
12:25
|
(68) both
|
|||
|
70
altaykniga
13.11.15
✎
12:30
|
а при обновлении конфигурации базы данных платформа 1с не анализирует то, что данные частично могут быть потеряны?
|
|||
|
71
altaykniga
13.11.15
✎
12:32
|
ну типа уменьшаю я длину реквизита с 15 до 12 знаков, и при обновлении конфигурации БД выходит предупреждение, что возможна потеря данных
|
|||
|
72
Горогуля
13.11.15
✎
12:44
|
думаю, конфигуратор при обновлении в данные не полезет
|
|||
|
73
altaykniga
13.11.15
✎
14:44
|
Процедура КнопкаСформироватьНажатие(Кнопка)
//проверяем справочники Для Каждого Спр из Метаданные.Справочники Цикл Выборка = Справочники[СокрЛП(Спр.Имя)].Выбрать(); Пока Выборка.Следующий() Цикл //проверяем реквизиты МД_Реквизиты = Выборка.получитьобъект().Метаданные().Реквизиты; Для Каждого МетаРеквизит Из МД_Реквизиты Цикл ПроверяемоеЧисло = Выборка[СокрЛП(МетаРеквизит.Имя)]; Если ТипЗнч(ПроверяемоеЧисло) = Тип("Число") И ПроверяемоеЧисло<>0 Тогда Если Число(Формат(ПроверяемоеЧисло, "ЧЦ=14; ЧДЦ=4")) <> ПроверяемоеЧисло Тогда Сообщить(""+Спр+"--"+МетаРеквизит.Имя); КонецЕсли; КонецЕсли; КонецЦикла; //проверяем реквизиты ТЧ ТабЧасти = Выборка.получитьобъект().Метаданные().ТабличныеЧасти; Для Каждого ТЧ Из ТабЧасти Цикл МД_РеквизитыТЧ = Выборка.получитьобъект().Метаданные().ТабличныеЧасти[СокрЛП(ТЧ.Имя)].Реквизиты; Для Каждого СтрокаТЧ Из Выборка.получитьобъект()[СокрЛП(ТЧ.Имя)] Цикл Для Каждого МетаРеквизитТЧ Из МД_РеквизитыТЧ Цикл ПроверяемоеЧисло = СтрокаТЧ[СокрЛП(МетаРеквизитТЧ.Имя)]; Если ТипЗнч(ПроверяемоеЧисло) = Тип("Число") И ПроверяемоеЧисло<>0 Тогда Если Число(Формат(ПроверяемоеЧисло, "ЧЦ=14; ЧДЦ=4")) <> ПроверяемоеЧисло Тогда Сообщить(""+Спр+"--"+МетаРеквизитТЧ.Имя); КонецЕсли; КонецЕсли; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; //проверяем документы Для Каждого Спр из Метаданные.Документы Цикл Выборка = Документы[СокрЛП(Спр.Имя)].Выбрать(); Пока Выборка.Следующий() Цикл //проверяем реквизиты МД_Реквизиты = Выборка.получитьобъект().Метаданные().Реквизиты; Для Каждого МетаРеквизит Из МД_Реквизиты Цикл ПроверяемоеЧисло = Выборка[СокрЛП(МетаРеквизит.Имя)]; Если ТипЗнч(ПроверяемоеЧисло) = Тип("Число") И ПроверяемоеЧисло<>0 Тогда Если Число(Формат(ПроверяемоеЧисло, "ЧЦ=14; ЧДЦ=4")) <> ПроверяемоеЧисло Тогда Сообщить(""+Спр+"--"+МетаРеквизит.Имя); КонецЕсли; КонецЕсли; КонецЦикла; //проверяем реквизиты ТЧ ТабЧасти = Выборка.получитьобъект().Метаданные().ТабличныеЧасти; Для Каждого ТЧ Из ТабЧасти Цикл МД_РеквизитыТЧ = Выборка.получитьобъект().Метаданные().ТабличныеЧасти[СокрЛП(ТЧ.Имя)].Реквизиты; Для Каждого СтрокаТЧ Из Выборка.получитьобъект()[СокрЛП(ТЧ.Имя)] Цикл Для Каждого МетаРеквизитТЧ Из МД_РеквизитыТЧ Цикл ПроверяемоеЧисло = СтрокаТЧ[СокрЛП(МетаРеквизитТЧ.Имя)]; Если ТипЗнч(ПроверяемоеЧисло) = Тип("Число") И ПроверяемоеЧисло<>0 Тогда Если Число(Формат(ПроверяемоеЧисло, "ЧЦ=14; ЧДЦ=4")) <> ПроверяемоеЧисло Тогда Сообщить(""+Спр+"--"+МетаРеквизитТЧ.Имя); КонецЕсли; КонецЕсли; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; //проверяем Регистры сведений Для Каждого Спр из Метаданные.РегистрыСведений Цикл НаборЗаписеЙ =РегистрыСведений[Спр.Имя].СоздатьНаборЗаписей(); НаборЗаписей.Прочитать(); Для каждого Запись Из НаборЗаписей Цикл //проверим измерения МД_Реквизиты = НаборЗаписей.Метаданные().Измерения; Для Каждого МетаРеквизит Из МД_Реквизиты Цикл ПроверяемоеЧисло = Запись[СокрЛП(МетаРеквизит.Имя)]; Если ТипЗнч(ПроверяемоеЧисло) = Тип("Число") И ПроверяемоеЧисло<>0 Тогда Если Число(Формат(ПроверяемоеЧисло, "ЧЦ=14; ЧДЦ=4")) <> ПроверяемоеЧисло Тогда Сообщить(""+Спр+"--"+МетаРеквизит.Имя); КонецЕсли; КонецЕсли; КонецЦикла; //проверим ресурсы МД_Реквизиты = НаборЗаписей.Метаданные().Ресурсы; Для Каждого МетаРеквизит Из МД_Реквизиты Цикл ПроверяемоеЧисло = Запись[СокрЛП(МетаРеквизит.Имя)]; Если ТипЗнч(ПроверяемоеЧисло) = Тип("Число") И ПроверяемоеЧисло<>0 Тогда Если Число(Формат(ПроверяемоеЧисло, "ЧЦ=14; ЧДЦ=4")) <> ПроверяемоеЧисло Тогда Сообщить(""+Спр+"--"+МетаРеквизит.Имя); КонецЕсли; КонецЕсли; КонецЦикла; //проверим реквизиты МД_Реквизиты = НаборЗаписей.Метаданные().Реквизиты; Для Каждого МетаРеквизит Из МД_Реквизиты Цикл ПроверяемоеЧисло = Запись[СокрЛП(МетаРеквизит.Имя)]; Если ТипЗнч(ПроверяемоеЧисло) = Тип("Число") И ПроверяемоеЧисло<>0 Тогда Если Число(Формат(ПроверяемоеЧисло, "ЧЦ=14; ЧДЦ=4")) <> ПроверяемоеЧисло Тогда Сообщить(""+Спр+"--"+МетаРеквизит.Имя); КонецЕсли; КонецЕсли; КонецЦикла; КонецЦикла; КонецЦикла; //проверяем Регистры накопления Для Каждого Спр из Метаданные.РегистрыНакопления Цикл Выборка = РегистрыНакопления[Спр.Имя].Выбрать(); Пока Выборка.Следующий() Цикл //проверим измерения МД_Реквизиты = Спр.Измерения; Для Каждого МетаРеквизит Из МД_Реквизиты Цикл ПроверяемоеЧисло = Выборка[СокрЛП(МетаРеквизит.Имя)]; Если ТипЗнч(ПроверяемоеЧисло) = Тип("Число") И ПроверяемоеЧисло<>0 Тогда Если Число(Формат(ПроверяемоеЧисло, "ЧЦ=14; ЧДЦ=4")) <> ПроверяемоеЧисло Тогда Сообщить(""+Спр+"--"+МетаРеквизит.Имя); КонецЕсли; КонецЕсли; КонецЦикла; //проверим ресурсы МД_Реквизиты = Спр.Ресурсы; Для Каждого МетаРеквизит Из МД_Реквизиты Цикл ПроверяемоеЧисло = Выборка[СокрЛП(МетаРеквизит.Имя)]; Если ТипЗнч(ПроверяемоеЧисло) = Тип("Число") И ПроверяемоеЧисло<>0 Тогда Если Число(Формат(ПроверяемоеЧисло, "ЧЦ=14; ЧДЦ=4")) <> ПроверяемоеЧисло Тогда Сообщить(""+Спр+"--"+МетаРеквизит.Имя); КонецЕсли; КонецЕсли; КонецЦикла; //проверим реквизиты МД_Реквизиты = Спр.Реквизиты; Для Каждого МетаРеквизит Из МД_Реквизиты Цикл ПроверяемоеЧисло = Выборка[СокрЛП(МетаРеквизит.Имя)]; Если ТипЗнч(ПроверяемоеЧисло) = Тип("Число") И ПроверяемоеЧисло<>0 Тогда Если Число(Формат(ПроверяемоеЧисло, "ЧЦ=14; ЧДЦ=4")) <> ПроверяемоеЧисло Тогда Сообщить(""+Спр+"--"+МетаРеквизит.Имя); КонецЕсли; КонецЕсли; КонецЦикла; КонецЦикла; КонецЦикла; //проверяем Регистры бухгалтерии Для Каждого Спр из Метаданные.РегистрыБухгалтерии Цикл Выборка = РегистрыБухгалтерии[Спр.Имя].Выбрать(); Пока Выборка.Следующий() Цикл //проверим измерения МД_Реквизиты = Спр.Измерения; Для Каждого МетаРеквизит Из МД_Реквизиты Цикл Попытка ПроверяемоеЧисло = Выборка[СокрЛП(МетаРеквизит.Имя)]; Если ТипЗнч(ПроверяемоеЧисло) = Тип("Число") И ПроверяемоеЧисло<>0 Тогда Если Число(Формат(ПроверяемоеЧисло, "ЧЦ=14; ЧДЦ=4")) <> ПроверяемоеЧисло Тогда Сообщить(""+Спр+"--"+МетаРеквизит.Имя); КонецЕсли; КонецЕсли; Исключение КонецПопытки; Попытка ПроверяемоеЧисло = Выборка[СокрЛП(МетаРеквизит.Имя)+"ДТ"]; Если ТипЗнч(ПроверяемоеЧисло) = Тип("Число") И ПроверяемоеЧисло<>0 Тогда Если Число(Формат(ПроверяемоеЧисло, "ЧЦ=14; ЧДЦ=4")) <> ПроверяемоеЧисло Тогда Сообщить(""+Спр+"--"+МетаРеквизит.Имя); КонецЕсли; КонецЕсли; Исключение КонецПопытки; Попытка ПроверяемоеЧисло = Выборка[СокрЛП(МетаРеквизит.Имя)+"КТ"]; Если ТипЗнч(ПроверяемоеЧисло) = Тип("Число") И ПроверяемоеЧисло<>0 Тогда Если Число(Формат(ПроверяемоеЧисло, "ЧЦ=14; ЧДЦ=4")) <> ПроверяемоеЧисло Тогда Сообщить(""+Спр+"--"+МетаРеквизит.Имя); КонецЕсли; КонецЕсли; Исключение КонецПопытки; КонецЦикла; //проверим ресурсы МД_Реквизиты = Спр.Ресурсы; Для Каждого МетаРеквизит Из МД_Реквизиты Цикл Попытка ПроверяемоеЧисло = Выборка[СокрЛП(МетаРеквизит.Имя)]; Если ТипЗнч(ПроверяемоеЧисло) = Тип("Число") И ПроверяемоеЧисло<>0 Тогда Если Число(Формат(ПроверяемоеЧисло, "ЧЦ=14; ЧДЦ=4")) <> ПроверяемоеЧисло Тогда Сообщить(""+Спр+"--"+МетаРеквизит.Имя); КонецЕсли; КонецЕсли; Исключение КонецПопытки; Попытка ПроверяемоеЧисло = Выборка[СокрЛП(МетаРеквизит.Имя)+"ДТ"]; Если ТипЗнч(ПроверяемоеЧисло) = Тип("Число") И ПроверяемоеЧисло<>0 Тогда Если Число(Формат(ПроверяемоеЧисло, "ЧЦ=14; ЧДЦ=4")) <> ПроверяемоеЧисло Тогда Сообщить(""+Спр+"--"+МетаРеквизит.Имя); КонецЕсли; КонецЕсли; Исключение КонецПопытки; Попытка ПроверяемоеЧисло = Выборка[СокрЛП(МетаРеквизит.Имя)+"КТ"]; Если ТипЗнч(ПроверяемоеЧисло) = Тип("Число") И ПроверяемоеЧисло<>0 Тогда Если Число(Формат(ПроверяемоеЧисло, "ЧЦ=14; ЧДЦ=4")) <> ПроверяемоеЧисло Тогда Сообщить(""+Спр+"--"+МетаРеквизит.Имя); КонецЕсли; КонецЕсли; Исключение КонецПопытки; КонецЦикла; //проверим реквизиты МД_Реквизиты = Спр.Реквизиты; Для Каждого МетаРеквизит Из МД_Реквизиты Цикл Попытка ПроверяемоеЧисло = Выборка[СокрЛП(МетаРеквизит.Имя)]; Если ТипЗнч(ПроверяемоеЧисло) = Тип("Число") И ПроверяемоеЧисло<>0 Тогда Если Число(Формат(ПроверяемоеЧисло, "ЧЦ=14; ЧДЦ=4")) <> ПроверяемоеЧисло Тогда Сообщить(""+Спр+"--"+МетаРеквизит.Имя); КонецЕсли; КонецЕсли; Исключение КонецПопытки; Попытка ПроверяемоеЧисло = Выборка[СокрЛП(МетаРеквизит.Имя)+"ДТ"]; Если ТипЗнч(ПроверяемоеЧисло) = Тип("Число") И ПроверяемоеЧисло<>0 Тогда Если Число(Формат(ПроверяемоеЧисло, "ЧЦ=14; ЧДЦ=4")) <> ПроверяемоеЧисло Тогда Сообщить(""+Спр+"--"+МетаРеквизит.Имя); КонецЕсли; КонецЕсли; Исключение КонецПопытки; Попытка ПроверяемоеЧисло = Выборка[СокрЛП(МетаРеквизит.Имя)+"КТ"]; Если ТипЗнч(ПроверяемоеЧисло) = Тип("Число") И ПроверяемоеЧисло<>0 Тогда Если Число(Формат(ПроверяемоеЧисло, "ЧЦ=14; ЧДЦ=4")) <> ПроверяемоеЧисло Тогда Сообщить(""+Спр+"--"+МетаРеквизит.Имя); КонецЕсли; КонецЕсли; Исключение КонецПопытки; КонецЦикла; КонецЦикла; КонецЦикла; КонецПроцедуры |
|||
|
74
VikingKosmo
13.11.15
✎
14:45
|
"Дайте два!" (с)
|
|||
|
75
Горогуля
13.11.15
✎
14:46
|
Число(Формат(ПроверяемоеЧисло, "ЧЦ=14; ЧДЦ=4")) <> ПроверяемоеЧисло
класс! |
|||
|
76
Горогуля
13.11.15
✎
14:47
|
+(75) серьёзно, мне нравится. элегантная такая индусскость
|
|||
|
77
altaykniga
13.11.15
✎
14:49
|
(75) - проверяем, что целая часть числа не более 10 знаков ))
|
|||
|
78
DailyLookingOnA Sunse
13.11.15
✎
14:49
|
Как всё сложно.
А можно просто обновить на копии базы и сравнить обороты по регистрам. Если не совпадут, значит искомые суммы были. |
|||
|
79
altaykniga
13.11.15
✎
14:50
|
(78) мы не ищем легких путей
|
|||
|
80
Горогуля
13.11.15
✎
14:50
|
(77) СтрДлина(Формат(ПроверяемоеЧисло, "ЧЦ=14; ЧДЦ=4"))<=10 и всё. и никаких сравнений с 9999999
|
|||
|
81
altaykniga
13.11.15
✎
14:51
|
ладно, люди умные, ну подскажите, пойдет такая проверка
|
|||
|
82
altaykniga
13.11.15
✎
14:52
|
(78) - а как проверить регистры сведений (там нет оборотов)
а как проверить справочники и документы (непроведенные) |
|||
|
83
VikingKosmo
13.11.15
✎
14:54
|
(82) придется тебе таки осилить написание запросов
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |