Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 мар 2024, 23:16

Нужна помощь программиста!

Автор dgalanov, 04 июл 2012, 13:46

0 Пользователей и 1 гость просматривают эту тему.

dgalanov

Документ попадает только при точном совпадении ДДММГГГГ:ЧЧММСС (Если ВыборкаДокументов.Дата()=ЭтотОбъект.Дата() Тогда), надо чтобы заполнение происходило без учета времени ЧЧММСС т.е. документами у которых совпадает только дата ДДММГГ!


Процедура КоманднаяПанельОснованиеДействиеЗаполнить(Кнопка)
   Перем ДатаСледующегоВыпуска;

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

   КонецЦикла;
   КоманднаяПанельПроизводствоДействиеЗаполнить(Кнопка);
КонецПроцедуры

LexaK

можно использовать
Если НачалоДня(ВыборкаДокументов.Дата) = НачалоДня(ЭтотОбъект.Дата) Тогда
если помогло нажмите: Спасибо!

Андрей Федотов

Используйте функцию Дата() или преобразование через Формат
С уважением,
Андрей Федотов
Future IT Solutions

СветланаCC

Цитата: LexaK от 04 июл 2012, 14:25
можно использовать
Если НачалоДня(ВыборкаДокументов.Дата) = НачалоДня(ЭтотОбъект.Дата) Тогда
Как вариант)
Тазовод)

dgalanov

Цитата: LexaK от 04 июл 2012, 14:25
можно использовать
Если НачалоДня(ВыборкаДокументов.Дата) = НачалоДня(ЭтотОбъект.Дата) Тогда

Спасибо ))) работает

SergeiB

Для перевода даты в формат ДДММГГ, можно воспользоваться функцией формат().
Пример ДатаТек = Формат(ТекущаяДата(),"ДФ=ддММгг"), соответственно сравнение производить:
Формат(ЭтотОбъект.Дата,"ДФ=ддММгг")<>Формат(ВыборкаДокументовВЫпускПродукции.Дата ,"ДФ=ддММгг")

cska-fanat-kz

Цитата: SergeiB от 04 июл 2012, 14:41
Для перевода даты в формат ДДММГГ, можно воспользоваться функцией формат().
Пример ДатаТек = Формат(ТекущаяДата(),"ДФ=ддММгг"), соответственно сравнение производить:
Формат(ЭтотОбъект.Дата,"ДФ=ддММгг")<>Формат(ВыборкаДокументовВЫпускПродукции.Дата ,"ДФ=ддММгг")

Лучше сравнивать именно даты.
В данном случае сравниваются строки.
Хотя надо признать что требуемый результат - будет получен.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск