Имя: Пароль:
1C
1С v8
Запутался с обходом метаданных
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) придется тебе таки осилить написание запросов
Ошибка? Это не ошибка, это системная функция.