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


1С:Предприятие ::

Метки:

Удаление строк

Я
   aka lamo
30.11.04 - 11:10
пока ПолучитьСтроку()=1 цикл
    если КолСтавокНовое=0 тогда
         УдалитьСтроку();
     конецесли;    
конеццикла;
СпрРасп.Записать();
не хочет записывать.
 
 
   Guk
 
1 - 30.11.04 - 11:11
(0) Жаль...
   GrayT
 
2 - 30.11.04 - 11:12
Вот ведь какой гад.
А что пишет? Давай весь код (в разумных пределах конечно), а не огрызок
   aka lamo
3 - 30.11.04 - 11:12
В кусах что жаль.
Но как сделать чтобы записал то.
   big
 
4 - 30.11.04 - 11:13
Сначала надо пройти и узнать какие строки удалять (занести в СЗ номера строк). А уже затем - ПолучитьСтрокуПоНомер(НомерСтроки) + УдалитьСтроку()
   GrayT
 
5 - 30.11.04 - 11:13
(3)Написать правильно
   aka lamo
6 - 30.11.04 - 11:14
(2)Процедура ОбработкаПроведения()

   //Здесь следует написать алгоритм проведения документа

 Если КолСтавокНовое<>0 тогда
     СпрРасп=СоздатьОбъект("Справочник.Штатное_расписание");
     СпрРасп.ИспользоватьВладельца(Подразделение);
      ВыбратьСтроки();
     пока ПолучитьСтроку()=1 цикл
         Если СпрРасп.НайтиПоРеквизиту("Должность",Должность,)=1 тогда
              СпрРасп.КолСтавок=КолСтавокНовое; 
             СпрРасп.КолВакСтавок=КолСтавокНовое-СпрРасп.КолЗанСтавок;
         КонецЕсли;
     СпрРасп.Записать();
     КонецЦикла;
иначе
    СпрРасп=СоздатьОбъект("Справочник.Штатное_расписание");
     СпрРасп.ИспользоватьВладельца(Подразделение);
      ВыбратьСтроки();
     пока ПолучитьСтроку()=1 цикл
         если КолСтавокНовое=0 тогда
             УдалитьСтроку();
         конецесли;    
     конеццикла;
     СпрРасп.Записать();
конецесли;

КонецПроцедуры
   Rovan
 
7 - 30.11.04 - 11:16
(0) Просто выборка сбивается надо так -
пока ПолучитьСтроку()=1 цикл
  если КолСтавокНовое=0 тогда
        УдалитьСтроку(); 
        ВыбратьСтроки();
   конецесли;     
конеццикла;
   laeg
 
8 - 30.11.04 - 11:17
колСтр = тз.КоличествоСтрок()
Пока колСтр > 0 Цикл
   тз.ПолучитьСтрокуПоНомеру(колСтр);
   Если тз.Ля-Ля = 1 Тогда  тз.УдалитьСтроку(колСтр) КонецЕсли;
   колСтр = колСтр - 1;
КонецЦикла;

П.С. Поправтье если не прав.
   big
 
9 - 30.11.04 - 11:18
(6) А чего записывать-то? Элемент ни создан, ни найден - только объект создан.
   Бивень
 
10 - 30.11.04 - 11:18
(7) У него ж это в обработке проведения ...
Зачем ему там лишние тормоза?
 
 
   aka lamo
11 - 30.11.04 - 11:20
(7) Не помогает.
   GrayT
 
12 - 30.11.04 - 11:23
(6)Дай угадаю, говорит - Объект не выбран?
Расскажи что сделать хочешь.
И сделай как делают раки - задом наперед
   big
 
13 - 30.11.04 - 11:23
иначе 
   СпрРасп=СоздатьОбъект("Справочник.Штатное_расписание"); 
    СпрРасп.ИспользоватьВладельца(Подразделение); 
     ВыбратьСтроки(); 
    пока ПолучитьСтроку()=1 цикл 
       если КолСтавокНовое=0 тогда 
           УдалитьСтроку(); 
       конецесли;     
    конеццикла; 
    СпрРасп.Записать(); 
конецесли;

покажи где создан новый элемент или найден существующий. Если найдешь, то сможешь его записать.
   aka lamo
14 - 30.11.04 - 11:26
(12) Есть должность и если меняем кол-во ставок на 0 то она удаляется.
   GrayT
 
15 - 30.11.04 - 11:30
СпрРасп=СоздатьОбъект("Справочник.Штатное_расписание"); 
СпрРасп.ИспользоватьВладельца(Подразделение);
ВсегоСтр = КоличествоСтрок();
Если КолСтавокНовое<>0 тогда 
    ВыбратьСтроки(); 
    пока ПолучитьСтроку()=1 цикл 
        Если СпрРасп.НайтиПоРеквизиту("Должность",Должность,)=1 тогда 
            СпрРасп.КолСтавок=КолСтавокНовое; 
            СпрРасп.КолВакСтавок=КолСтавокНовое-СпрРасп.КолЗанСтавок; 
            СпрРасп.Записать(); 
        КонецЕсли; 
    КонецЦикла; 
иначе 
    Для сч = 1 по ВсегоСтр Цикл
       ПолучитьСтркуПоНомеру(сч);
       если КолСтавокНовое=0 тогда 
           УдалитьСтроку(); 
       конецесли;     
     КонецЦикла;
конецесли; 

Зы: Если я все правильно понял
   GrayT
 
16 - 30.11.04 - 11:33
Тьфу - отвлекся
иначе 
    счСтр= ВсегоСтр;
    Для сч = 1 по ВсегоСтр Цикл
       ПолучитьСтркуПоНомеру(счСтр);
       если КолСтавокНовое=0 тогда 
           УдалитьСтроку(); 
       конецесли;   
       счСтр=счСтр-1;
     КонецЦикла;
конецесли;
   aka lamo
17 - 30.11.04 - 11:36
(16)
счСтр= ВсегоСтр<<?>>;
{Документ.ИзиШтРасп.Модуль Документа(18)}: Переменная не определена (ВсегоСтр)
Для сч = 1 по ВсегоСтр <<?>>Цикл
{Документ.ИзиШтРасп.Модуль Документа(19)}: Переменная не определена (ВсегоСтр)
ПолучитьСтркуПоНомеру<<?>>(счСтр);
{Документ.ИзиШтРасп.Модуль Документа(20)}: Процедура не обнаружена (ПолучитьСтркуПоНомеру)
   laeg
 
18 - 30.11.04 - 11:39
А слабо ветку раздуть на 50 постов ?
Я пример еще в (8) привел ...
   big
 
19 - 30.11.04 - 11:40
to All. Он слепой. Или глухой? Прости, господи...
   GrayT
 
20 - 30.11.04 - 11:42
(17)Издеваешься?
   aka lamo
21 - 30.11.04 - 11:44
(20)Прости :) Но не удаляет.
   aka lamo
22 - 30.11.04 - 11:45
Ну какбы работает но не удаляет
   laeg
 
23 - 30.11.04 - 11:48
:LOL:
!!!!!!!!!!!

ВсегоСтр = КоличествоСтрок();
ПолучитьСтркуПоНомеру = ПолучитьСтрокуПоНомеру() метод ...
   GrayT
 
24 - 30.11.04 - 11:49
Прощу. Ты бы толком рассказал что у тебя за документ и где какие реквизиты (В таблице, в шапке). А то ведь до 50 мало осталось.
Если КолСтавокНовое<>0 тогда 
    СпрРасп=СоздатьОбъект("Справочник.Штатное_расписание"); 
    СпрРасп.ИспользоватьВладельца(Подразделение);
    ВыбратьСтроки(); 
    пока ПолучитьСтроку()=1 цикл 
        Если СпрРасп.НайтиПоРеквизиту("Должность",Должность,)=1 тогда 
            СпрРасп.КолСтавок=КолСтавокНовое; 
            СпрРасп.КолВакСтавок=КолСтавокНовое-СпрРасп.КолЗанСтавок; 
            СпрРасп.Записать(); 
        КонецЕсли; 
    КонецЦикла; 
иначе 
    УдалитьСтроки();
конецесли;
А может вот так правильно? Это если КолСтавокНовое в шапке сидит :))))))
   aka lamo
25 - 30.11.04 - 11:54
нееее не в шапке, а в табличной части.
Может легче булет выслать тебе на мыло чтоб ты сам посмотрел :)
   GrayT
 
26 - 30.11.04 - 11:57
Вот тебе мыло душистое и веревка пушистая :))
Зачем удалять строки документа? Это для меня загадка....

Если КолСтавокНовое<>0 тогда 
    СпрРасп=СоздатьОбъект("Справочник.Штатное_расписание"); 
    СпрРасп.ИспользоватьВладельца(Подразделение);
    ВыбратьСтроки(); 
    пока ПолучитьСтроку()=1 цикл 
        Если СпрРасп.НайтиПоРеквизиту("Должность",Должность,)=1 тогда 
            СпрРасп.КолСтавок=КолСтавокНовое; 
            СпрРасп.КолВакСтавок=КолСтавокНовое-СпрРасп.КолЗанСтавок; 
            СпрРасп.Записать(); 
        КонецЕсли; 
    КонецЦикла; 
иначе 
    УдалитьСтроки();
    ВсегоСтр = КоличествоСтрок();
    счСтр= ВсегоСтр;
    Для сч = 1 по ВсегоСтр Цикл
       ПолучитьСтрокуПоНомеру(счСтр);
       УдалитьСтроку(); 
       счСтр=счСтр-1;
     КонецЦикла;
конецесли;
   GrayT
 
27 - 30.11.04 - 11:58
Мляха муха - Убери УдалитьСтроки()!!!
   big
 
28 - 30.11.04 - 11:59
(27) Поздно... Он сказал - поехали.
   1С Дурочка
29 - 30.11.04 - 12:00
Это мое место в первом ряду! Кто занял?! Вот люди! Стоило на минутку отойти за попкорном, сразу кто-то свою попкорну пристроил. Шить! Занято.
   aka lamo
30 - 30.11.04 - 12:01
(26) Кароче ладно. Пошел я обедать. И забью пожалуй на эту тему. Извини что время отобрал.
ЗЫ про мыло с веревкой это прикольно было :)
Всем спасибо
   GrayT
 
31 - 30.11.04 - 12:03
(26)Не садись - там кола....
   1С Дурочка
32 - 30.11.04 - 12:04
Шьёрт побьери! Надо же! Конец фильма. Вторая серия то будет? Конец какой-то неопределенный получился.
   GrayT
 
33 - 30.11.04 - 12:07
Антракт,т.е. обед. Оставайтесь с нами :)
 
  Рекламное место пустует
   1С Дурочка
34 - 30.11.04 - 12:08
Рекламу давай!
   Viy
 
35 - 30.11.04 - 12:10
Она ТАКАЯ КЛАССНАЯ! :-)
   Ёжик в тумане
 
36 - 30.11.04 - 23:05
Оказывается - такое забавное это дело - удаление строк...
   GrayT
 
37 - 30.11.04 - 23:15
Кто тут? А Ежик! Привет. А все уже разошлись :(
   Ёжик в тумане
 
38 - 30.11.04 - 23:22
(37) С нетерпением жду второй серии.
   1С Дурочка
39 - 01.12.04 - 00:06
Тэкс. Я на месте. СССССССССС Кинщик! Фильму давай!
   GrayT
 
40 - 01.12.04 - 00:10
(39)Адресом не ошиблась? Ты на мисте :)
   Ёжик в тумане
 
41 - 01.12.04 - 00:25
(39) Приходи завтра перед обедом.



Список тем форума
  Рекламное место пустует
2 + 2 = 3.9999999999999999999999999999999...
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует