Имя: Пароль:
 
1C
1C 7.7
v7: Печатная форма 7.7
0 progaoff
 
15.04.18
15:12
Процедура ПечатьАкта()
        Таб = СоздатьОбъект("Таблица");
      Таб.ИсходнаяТаблица("АктПочта");
      Таб.ПрисоединитьСекцию("Заголовок");
      
    
       СпрОбъектыДляПеч.ВыбратьСтроки();
    
   Пока СпрОбъектыДляПеч.ПолучитьСтроку() = 1 Цикл
    Если СпрОбъектыДляПеч.Выбран = "+"  Тогда
        
       СтрокаТабличнойЧасти = СпрОбъектыДляПеч.объект;
    ЗаводскойНомерККТ1    = СтрокаТабличнойЧасти.СерийныйНомер.ЗаводскойНомер;        
    Таб.ПрисоединитьСекцию("ЗН");
КонецЕсли;    
КонецЦикла;
Таб.ПрисоединитьСекцию("Таблица");
    Пока СпрОбъектыДляПеч.ПолучитьСтроку() = 1 Цикл
            Если СпрОбъектыДляПеч.Выбран = "+"  Тогда
    ЗаводскойНомерККТ    = СтрокаТабличнойЧасти.ЗаводскойЭКЛЗ;    
    Таб.ПрисоединитьСекцию("Данные");        
        
КонецЕсли;    
КонецЦикла;    

      
  
Таб.ПрисоединитьСекцию("Подвал");
Таб.Показать("АктПочта");
Таб.Опции(0,0,0,0,);
        
        
КонецПроцедуры
Добрый день. Вывожу в печатную форму, Область "ЗН" выходит, Область Данные нет, подскажите, что не так делаю?
1 Amra
 
15.04.18
15:19
А где СпрОбъектыДляПеч.ВыбратьСтроки(); перед вторым циклом?
2 progaoff
 
15.04.18
15:25
(1) Точно)
3 progaoff
 
15.04.18
15:28
(1) Спасибо)
4 progaoff
 
15.04.18
18:12
Процедура  ПометитьДляЗаменыФН()                                                            
    Подр = СоздатьОбъект("Справочник.ПодразделенияОрганизаций");            
    СпрОбъектыДляПеч.ВыбратьСтроки();
    НомерМесяца = МесяцаГода.ТекущаяСтрока();
    ПодразделениеДляПечати = Подразделение.ТекущаяСтрока();
    Пока СпрОбъектыДляПеч.ПолучитьСтроку() = 1 Цикл
    Если (ДатаМесяц(СпрОбъектыДляПеч.Объект.ДатаЗаменыЭКЛЗ.Получить(ТекущаяДата())) = НомерМесяца) И (СпрОбъектыДляПеч.Объект.Подразделение = Подразделение) Тогда

            СпрОбъектыДляПеч.Выбран = "+";
    Иначе    
            СпрОбъектыДляПеч.Выбран = "-";  
    КонецЕсли;


КонецЦикла
Последний вопрос, создал список значений, в него поместил записи, теперь эти записи не могу сравнить со справочником, не могу подходящего метода найти, можете помочь?
5 progaoff
 
15.04.18
18:13
По первому условию все проходит, по второму ничего не происходит, смысл - отметить по выбранному месяцу и подразделению.
6 MWWRuza
 
15.04.18
19:45
По второму, это по этому: (СпрОбъектыДляПеч.Объект.Подразделение = Подразделение) - ?
А что такое Подразделение - поле на форме с типом значения Справочник.Подразделения ? В Объекте, Подразделение, тоже такого же типа? А что такое Объект, это еще один справочник?
Зачем такие сложности? Или Подразделение, это реквизит справочника ПодразделенияОрганизаций - ? Если так, то "Объект" здесь явно лишний, это не восьмерка с управляемыми формами, тут все проще.
7 MWWRuza
 
15.04.18
20:05
Если предположить, что у Вас в конфе справочник Ваших клиентов с кассами имеет идентификатор "СпрОбъектыДляПеч",
то перебор его элементов должен выглядеть примерно так:

Спр = СоздатьОбъект("Справочник.СпрОбъектыДляПеч");
Спр.ВыбратьЭлементы()
Пока Спр.ПолучитьЭлемент() = 1 Цикл
Если Спр.ЭтоГруппа() = 1 Тогда
Продолжить;
Конецесли;
Если (Спр.Подразделение = Подразделение) И (тут, сравнивайте месяц, я не знаю, как он у Вас в справочнике хранится и с чем Вы его сравниваете) Тогда
Спр.Выбран = "+"; // Если "Выбран" - это текстовое поле справочника
Иначе
Спр.Выбран = "-";
КонецЕсли;
КонецЦикла;

Хотя, лучше, вместо Ваших "плюсиков" использовать числовое поле и писать в него 0 или 1, аналог булева в восьмерке...
8 progaoff
 
16.04.18
10:16
(6)выпадающий список, его заполняю списком значений, Подразделение.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.