Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Док.УстановитьВремя() - не могу обуздать          
Alex007 Подменю пользователя
сообщение 10.05.16, 11:28
Сообщение #1

Говорящий
***
Группа: Пользователи
Сообщений: 50
Спасибо сказали: 1 раз
Рейтинг: 0

Имеется потребность обработкой кой-чего поправить в РасхНакл и сдвинуть их по времени. С первым понятно все, а вот на моменте установки времени цикл останавливается и все. Как я только не изголялся с передачей параметров - ничего не получается. Одному доку меняет время и все, надо запускать процедуру по новой! Даже назначение времени "в лоб" типа док.УстановитьВремя(06,00,00) ничего не дает.
PS Документы все либо проведены, либо записаны. Помеченных на удаление нет, поэтому проверка на исключение удаленных не проводится !
Процедура УстРН()  
        ЧР = Формат(06,"Ч2.0");
        МР = Формат(10,"Ч2.0");
        СР = Формат(00,"Ч2.0");
    Фирм=СоздатьОбъект("Справочник.Фирмы");
    Рн=СоздатьОбъект("Документ.Т_РасходнаяНакладная");
      РН.ВыбратьДокументы(Дата1,Дата2);
Пока РН.ПолучитьДокумент()=1  цикл

Если (РН.Проведен()=1) тогда    
      Продолжить;
КонецЕсли;
// РН.УстановитьВремя(06,10,00);  
     РН.УстановитьВремя(ЧР,МР,СР);
     РН.Фирма=Константа.БазФирма;
     РН.ВидНДС=Константа.БазНДС;
     РН.Склад=Константа.ОсновнойСклад;    
     РН.ВидТары=Перечисление.ВидыТары.Покупная;  
      
     РН.Записать();
     РН.Провести();    
     Сообщить ("Проведена"+ " "+РН+" "+РН.Контрагент);      

СР=СР+10;
КонецЦикла;
    
КонецПроцедуры  //УстРН()


nysysimara Подменю пользователя
сообщение 10.05.16, 11:49
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 312
Из: Бердянск
Спасибо сказали: 110 раз
Рейтинг: 0

Alex007 @ Сегодня, 11:28 *,
может второй док просто заблокирован?


Signature
1С Предприятие 7.7: Бух. учет для Украины (активно дописанная) + самописка (учет производства и ЗП)
1С Предприятие 8.3: Бух.предприятия 3.0 + самописка
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Кроме высшего образования, нужно иметь хотя бы среднее соображение

CobraS Подменю пользователя
сообщение 10.05.16, 12:00
Сообщение #3

Говорящий
Иконка группы
Группа: Местный
Сообщений: 99
Спасибо сказали: 86 раз
Рейтинг: 74.6

Alex007 @ Сегодня, 11:28 *,
Во-первых параметры Метода УстановитьВремя - числовые выражения, у Вас форматная строка.
Для поиска ошибок и решения проблем существует отладчик.
Посмотрите чему равен параметр СР после первого цикла. Вы складываете строку с числом.
Даже если бы он был числом, после семи РН он бы равнялся 70 cool.gif

sava1 Подменю пользователя
сообщение 10.05.16, 13:20
Сообщение #4

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2693
Из: Проскуров
Спасибо сказали: 682 раз
Рейтинг: 661

Выборка в цикле сбивается. Юзайте
аа.ПолучитьДокумент(РН.ТекущийДокумент)
и далее работаем с аа

Alex007 Подменю пользователя
сообщение 10.05.16, 13:28
Сообщение #5

Говорящий
***
Группа: Пользователи
Сообщений: 50
Спасибо сказали: 1 раз
Рейтинг: 0

Цитата(CobraS @ 10.05.16, 13:00) *
Во-первых параметры Метода УстановитьВремя - числовые выражения, у Вас форматная строка.
Для поиска ошибок и решения проблем существует отладчик.
Посмотрите чему равен параметр СР после первого цикла. Вы складываете строку с числом.
Даже если бы он был числом, после семи РН он бы равнялся 70 cool.gif

Так я же вроде в число переформатирую. Но дело не в этом- при назначении ЧР=6; МР=0; СР=0; проблема остается.
Подсказали, что это из-за того что в выборке я меняю месторасположение доков и это стопорит цикл, а надо бы так:
Процедура УстРН()  

        ЧР=6;
        МР=10;
        СР=59;
    Фирм=СоздатьОбъект("Справочник.Фирмы");
    Рн=СоздатьОбъект("Документ.Т_РасходнаяНакладная");
    РН.ОбратныйПорядок(1);  
    РН.ВыбратьДокументы(Дата1,Дата2);
      
Пока РН.ПолучитьДокумент()=1  цикл
    СР=СР-1;
Если (РН.Проведен()=1) тогда    
      Продолжить;
КонецЕсли;
// РН.УстановитьВремя(06,10,00);  
     РН.УстановитьВремя(ЧР,МР,СР);  
     РН.Записать();
     РН.Провести();    
     Сообщить ("Проведена"+ " "+РН+" "+РН.Контрагент);      
КонецЦикла;
    
КонецПроцедуры  //УстРН()






Цитата(sava1 @ 10.05.16, 14:20) *
Выборка в цикле сбивается. Юзайте
аа.ПолучитьДокумент(РН.ТекущийДокумент)
и далее работаем с аа

Тоже вариант. Спасибо, попробую так. А то обратная переборка как то не очень мне нравится.

nysysimara Подменю пользователя
сообщение 10.05.16, 14:12
Сообщение #6

Оратор
Иконка группы
Группа: Местный
Сообщений: 312
Из: Бердянск
Спасибо сказали: 110 раз
Рейтинг: 0

Цитата(Alex007 @ 10.05.16, 13:28) *
А то обратная переборка как то не очень мне нравится.

можно выбрать нужные документы, закинуть их в список,
потом по списку в порядке возрастания менять время

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 25.05.24, 23:21
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!