[РЕШЕНО] Изменить дату документа

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Эмиль0690, 27 авг 2014.

  1. TopicStarter Overlay
    Эмиль0690
    Offline

    Эмиль0690 Опытный в 1С

    Регистрация:
    3 фев 2014
    Сообщения:
    290
    Симпатии:
    2
    Баллы:
    29
    Добрый день Всем!
    Как можно изменить выбирая несколько документов дату и времени?
  2. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Конкретизируйте вопрос, пожалуйста.
  3. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.978
    Симпатии:
    397
    Баллы:
    104
    Санек, ну ты опять чтоли?!
    Как можно изменить выбирая несколько документов дату и времени?
    Что тут не понятного то?! :D :D :D
  4. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Туплю-Pigeon--Cow-, извиняюсь:D
  5. TopicStarter Overlay
    Эмиль0690
    Offline

    Эмиль0690 Опытный в 1С

    Регистрация:
    3 фев 2014
    Сообщения:
    290
    Симпатии:
    2
    Баллы:
    29
    Есть журнал документов, нужно выделить несколько документов и изменить дату и времени!
    Создал реквизит в форме документа ДатаДляУст и команду УстановитьДатуДляВыделеных

    код
    Код:
    &НаКлиенте
    Процедура УстановитьДатуДляВыделеных(Команда)
        // Спросим дату и время у пользователя
        //ДатаНапоминания = РабочаяДата;
        Если не ЗначениеЗаполнено(ДатаДляУст)Тогда
            Подсказка = "Введите дату и время";
            ЧастьДаты = ЧастиДаты.ДатаВремя;
            Если ВвестиДату(ДатаДляУст, Подсказка, ЧастьДаты) Тогда
                Элементы.ДатаДляУст.Видимость = Истина;
            КонецЕсли;
        КонецЕсли;
       
        // определение выделенных документ
        //Элементы.Список.ВыделенныеСтроки
       
        //установка для выделенных док дату и времени
        УстановитьДатыВремяДляДок(Элементы.Список.ВыделенныеСтроки,ДатаДляУст);
        Элементы.Список.Обновить();
       
    КонецПроцедуры
    
    
    &НаСервереБезКонтекста
    Процедура УстановитьДатуДляДок(Знач МассивДок, НужнаяДата) 
       
        ДельтаОтНачалаДня = НужнаяДатаВремя - Дата (1,1,1);
        Для каждого СсылкаНаДок Из МассивДок Цикл
            ОбъектДок = СсылкаНаДок.ПолучитьОбъект();
            Объект.Дата = НачалоДня(ОбъектДок.Дата)+ДельтаОтНачалаДня;
            ОбъектДок.Записать();
           
        КонецЦикла;
       
       
    КонецПроцедуры
    

    ошибки
    Код:
    {ЖурналДокументов.ПоступлениеГруза.Форма.ФормаСписка.Форма(27,22)}: Переменная не определена (НужнаяДатаВремя)
        ДельтаОтНачалаДня = <<?>>НужнаяДатаВремя - Дата (1,1,1); (Проверка: Сервер)
    {ЖурналДокументов.ПоступлениеГруза.Форма.ФормаСписка.Форма(30,3)}: Переменная не определена (Объект)
            <<?>>Объект.Дата = НачалоДня(ОбъектДок.Дата)+ДельтаОтНачалаДня; (Проверка: Сервер)
    {ЖурналДокументов.ПоступлениеГруза.Форма.ФормаСписка.Форма(18,2)}: Процедура или функция с указанным именем не определена (УстановитьДатыВремяДляДок)
        <<?>>УстановитьДатыВремяДляДок(Элементы.Список.ВыделенныеСтроки,ДатаДляУст); (Проверка: Тонкий клиент)
    
  6. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    А причем тут тогда форма журнала документов ????
    --- Объединение сообщений, 27 авг 2014 ---
    Не следует вам трогать конфу, создайте обработку.
  7. TopicStarter Overlay
    Эмиль0690
    Offline

    Эмиль0690 Опытный в 1С

    Регистрация:
    3 фев 2014
    Сообщения:
    290
    Симпатии:
    2
    Баллы:
    29
    объясните пожалуйста подробнее!...
  8. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Вопрос решен ?
  9. TopicStarter Overlay
    Эмиль0690
    Offline

    Эмиль0690 Опытный в 1С

    Регистрация:
    3 фев 2014
    Сообщения:
    290
    Симпатии:
    2
    Баллы:
    29
    Да!
    Большое Спасибо Вам!
    код
    Код:
    &НаКлиенте
    Процедура УстановитьДатуДляВыделеных(Команда)
        // Спросим дату и время у пользователя
        //ДатаНапоминания = РабочаяДата;
        Если не ЗначениеЗаполнено(ДатаДляУст)Тогда
            Подсказка = "Введите дату и время";
            ЧастьДаты = ЧастиДаты.ДатаВремя;
            Если ВвестиДату(ДатаДляУст, Подсказка, ЧастьДаты) Тогда
                Элементы.ДатаДляУст.Видимость = Истина;
            КонецЕсли;
        КонецЕсли;
       
        // определение выделенных документ
        //Элементы.Список.ВыделенныеСтроки
       
        //установка для выделенных док дату и времени
        УстановитьДатуДляДок(Элементы.Список.ВыделенныеСтроки,ДатаДляУст);
        Элементы.Список.Обновить();
       
    КонецПроцедуры
    
    
    &НаСервере
    Процедура УстановитьДатуДляДок(Знач МассивДок, НужнаяДата) 
       
        ДельтаОтНачалаДня = НужнаяДата - Дата (1,1,1);
        Для каждого СсылкаНаДок Из МассивДок Цикл
            //ОбъектДок = СсылкаНаДок.ПолучитьОбъект();
            //ОбъектДок.Дата = НачалоДня(ОбъектДок.Дата)+ДельтаОтНачалаДня;
            //ОбъектДок.Записать();
            ОбъектДок = СсылкаНаДок.ПолучитьОбъект();
            ОбъектДок.Дата = НужнаяДата;
            Попытка
                ОбъектДок.Записать(РежимЗаписиДокумента.Запись);
            Исключение
                Сообщить(ОписаниеОшибки());
            КонецПопытки;                         
        КонецЦикла;
       
       
    КонецПроцедуры
    

Поделиться этой страницей