Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Перезаписать все элементы справочника.

v7: Перезаписать все элементы справочника.
Я
   progaoff
 
14.11.18 - 15:57
Процедура Сформировать()
Спр = СоздатьОбъект("Справочник.БП_ДоговорыСервисногоОбслуживания");
Спр.ВыбратьЭлементы();
    Пока Спр.ПолучитьЭлемент() = 1 Цикл
        Если Спр.ЭтоГруппа()=0 Тогда
            Состояние("Обработка "+ Спр.НомерДоговора);
            Спр.Записать();
        КонецЕсли;
    КонецЦикла;    
КонецПроцедуры
В процедуре ПриЗаписи добавил необходимую обработку.
Теперь хочу перезаписать все элементы, но в выборку попадает совсем не то количество элементов. И еще вопрос, сработает ли ПриЗаписи?
 
 
   progaoff
 
1 - 14.11.18 - 15:58
(0) В чем может быть косяк с выборкой элементов?
   Базис
 
2 - 14.11.18 - 15:59
При записи у тебя сбивается выборка. Сперва в ТЗ кинь и оттуда выбирай, или по порядку кодов/наименований, но тут проверять надо.
   azernot
 
3 - 14.11.18 - 16:00
(0) ПриЗаписи() в форме? Конечно не сработает.
   1Сергей
 
4 - 14.11.18 - 16:02
смотри параметры ВыбратьЭлементы и ПолучитьЭлемент
   Ёпрст
 
5 - 14.11.18 - 16:03
(0)
>>>но в выборку попадает совсем не то количество элементов
поди справочник подчиненный
   Эльниньо
 
6 - 14.11.18 - 16:03
Обр-ка меняет Наименование. Я угадал?
   Ёпрст
 
7 - 14.11.18 - 16:03
(2) при записи выборка не сбивается
   progaoff
 
8 - 14.11.18 - 16:05
(6) нет, реквизит заполняет из части реквизита другого реквизита.
   Эльниньо
 
9 - 14.11.18 - 16:10
(8) Что значит "совсем не то количество элементов"? Как узнал, что совсем не то?
   progaoff
 
10 - 14.11.18 - 16:11
(9) Да их там больше 3К а выбирает за 5 секунд.
 
 Рекламное место пустует
   progaoff
 
11 - 14.11.18 - 16:11
(5) Не похоже на подчинённый справочник
   Ёпрст
 
12 - 14.11.18 - 16:12
см 5, затем 4
   ptiz
 
13 - 14.11.18 - 16:17
Иерархический наверняка.
   ptiz
 
14 - 14.11.18 - 16:17
Собственно, видно по коду
   progaoff
 
15 - 14.11.18 - 16:17
(12) Без учета иерархии и с учетом иерархии - тоже самое.
   Масянька
 
16 - 14.11.18 - 16:18
(15) ПорядокКодов не пробовал?
   Масянька
 
17 - 14.11.18 - 16:20
(15) И это - ты по сообщить считаешь, что выборка меньше?
   Ёпрст
 
18 - 14.11.18 - 16:20
Видать, не тот справочник обрабатывает, инфа 100%
   progaoff
 
19 - 14.11.18 - 16:21
(18) ага) я уже это понимаю, только не пойму с какого ф...а.
   ptiz
 
20 - 14.11.18 - 16:21
ВыбратьЭлементы(<?>)
Синтаксис:
ВыбратьЭлементы(<Режим>)
Назначение:
Открыть выборку элементов справочника.
Возвращает: 1 - если действие выполнено и в выборке есть хотя бы один элемент;
0 - если действие не выполнено или в выборке нет ни одного элемента.
Параметры:
<Режим> - как выбирать:
1 - выбирать элементы с учетом иерархии,
0 - выбирать элементы без учета иерархии (необязателен, по умолчанию - 1).
   progaoff
 
21 - 14.11.18 - 16:26
(20) это понятно
   progaoff
 
22 - 14.11.18 - 16:35
(18) Состояние("Обработка "+ Спр.НомерДоговора);
Даже не те номера показывает.
   Ёпрст
 
23 - 14.11.18 - 16:37
(22) обрабатываешь не тот ВИД справочника, открой ужо пофигуратор
   Карст
 
24 - 14.11.18 - 16:38
запросом - запрос выгрузить в ТЗ - обход ТЗ и меняй чо хошь
   DmitriyDI
 
25 - 14.11.18 - 16:38
(22) не понятно, где находятся "те номера"? возможно просто надо обрабатывать другой справочник, а не "БП_ДоговорыСервисногоОбслуживания", код в (0) рабочий.
   progaoff
 
26 - 14.11.18 - 16:44
(25) Выловил.
   Масянька
 
27 - 14.11.18 - 16:44
(26) Колись... Общественность ждет.
   progaoff
 
28 - 14.11.18 - 16:51
Состояние("Обработка "+ Спр.НомерДоговора); Состояние - вообще не то что нужно.
+ форма списка с элементами этого справочника, имеет порядка 7 фильтров) вот я и не видел договоров всех
   Масянька
 
29 - 14.11.18 - 17:12
(28) А где в (0) фильтры?
   progaoff
 
30 - 14.11.18 - 17:29
(29) я искал по номеру договора, в форме списка, которая отфильтрована была, а так все норм, теперь бы придумать как инн перезаписать, так как ПриЗаписи не срабатывает.
   Builder
 
31 - 14.11.18 - 17:38
(30) Че тут думать то...
Спр.ИНН = НовыйИНН;
Спр.Записать();
   progaoff
 
32 - 14.11.18 - 17:47
(31)все было бы здорово, но нужно отделить ип от ООО, так как инн разный по количеству цифр, а рукожопые менеджеры делали запись в поле инн - инн/кпп, вот мне и нужно то что до слеша отделить.
   azernot
 
33 - 14.11.18 - 18:03
(32) Стандартная для 1С Бух 77 ситуация, когда ИНН/КПП в одном поле.
 
 
   progaoff
 
34 - 14.11.18 - 18:11
(33) У меня в полном наименовании контрагента идут первыми символами ИП и ООО, вот пытаюсь сравнить.
   azernot
 
35 - 14.11.18 - 18:12
(34) Зачем? Ищешь слэш в ИНН, если до слэша 12 символов - это ИП, если 10 - это не ИП.
   progaoff
 
36 - 14.11.18 - 18:17
(35) может быть / а может и \
   azernot
 
37 - 14.11.18 - 18:19
(36) А ну всё, проблема нерешаема :)
   azernot
 
38 - 14.11.18 - 18:19
Если ПустоеЗначение(ИНН) = 1 Тогда
        
    ИначеЕсли Найти(ИНН,"\")> 0 Тогда 
        КПП = Прав(ИНН,СтрДлина(ИНН)-Найти(ИНН,"\"));
        ИНН = Лев(ИНН,Найти(ИНН,"\")-1);
    ИначеЕсли Найти(ИНН,"/")> 0 Тогда 
        КПП = Прав(ИНН,СтрДлина(ИНН)-Найти(ИНН,"/"));
        ИНН = Лев(ИНН,Найти(ИНН,"/")-1);
    КонецЕсли;
   progaoff
 
39 - 14.11.18 - 18:24
СтрокаИП = "ИП";
СтрокаООО = "ООО";
    Пока Спр.ПолучитьЭлемент(0) = 1 Цикл 
        СтрокаДляСравнения = Лев(Спр.Контрагент.ПолнНаименование,3);    
        Если Спр.ЭтоГруппа()=0 Тогда
        
        
        Если СтрокаДляСравнения = СтрокаИП  Тогда
            Спр.ИНН =  Лев(Спр.Контрагент.ИНН,12)
        
        ИначеЕсли  СтрокаДляСравнения = СтрокаООО Тогда
            Спр.ИНН =  Лев(Спр.Контрагент.ИНН,10)
        КонецЕсли;    
            Сообщить("Обработка "+ Спр.ИНН);
            Спр.Записать();
            
        КонецЕсли;
    КонецЦикла;    
КонецПроцедуры
   progaoff
 
40 - 14.11.18 - 18:26
(39) Хрень?
   azernot
 
41 - 14.11.18 - 18:27
(39) дай угадаю, в базе не окажется ни одного ИП-ника? ;)

Лев(Спр.Контрагент.ПолнНаименование,3) всегда будет не равно "ИП"

А что ты будешь делать, например с ОАО "Газпром"? Или ЗАО "Василёк"?
   progaoff
 
42 - 14.11.18 - 18:28
(41) да:)
   progaoff
 
43 - 14.11.18 - 18:28
(41) Нет таких, проверял
   progaoff
 
44 - 14.11.18 - 18:29
(41) все, решено)


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует