Имя: Пароль:
1C
1C 7.7
v7: Срок отсрочки, очень нужна ваша помошь
0 walkman315
 
24.10.12
15:43
всем большой привет, есть некий отчет, при его выводе в графе срок отсрочки(дней) мне показывает на всех контрагентах знак "?", что я зделала не так, подскажите пожалуйста
http://pixs.ru/showimage/1231231png_8392606_6143701.png
http://pixs.ru/showimage/12312png_9177040_6143705.png



//*******************************************
Процедура ПриОткрытии()
   ВидОтчета = 1;
   надату=ТекущаяДата();
   
КонецПроцедуры

//*******************************************
Процедура Сформировать()
   Если ПустоеЗначение(НаДату) = 1 Тогда
       Сообщить("Введите дату!", "!");
       Возврат;
   КонецЕсли;
   Ит = СоздатьОбъект("БухгалтерскиеИтоги");
   Ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты, ?(ВыбКонтрагент.Выбран() = 1, ВыбКонтрагент, ""), 1, 0);
   Ит.ИспользоватьПланСчетов(ПланыСчетов.Основной);
   Ит.ИспользоватьРазделительУчета(Константа.БазФирма);
   Ит.ВключатьСубсчета(0, 0);
   Ит.Опции(0, 0);
   Попытка
       Ит.ВыполнитьЗапрос("01.01.05", НаДату, "361", "", , 3, 2);
   Исключение
       Сообщить("Запрос по бух. итогам не выполнен! Укажите по меньше дату!", "!");
       Возврат;
   КонецПопытки;
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("Таблица");
   ДопЗаголовок = "";
   Если ВыбКонтрагент.Выбран() = 1 Тогда
       ДопЗаголовок = "По контрагенту "+ВыбКонтрагент.ПолнНаименование;
   ИначеЕсли ВидОтчета = 1 Тогда
       ДопЗаголовок = "По всем контрагентам";
   ИначеЕсли ВидОтчета = 2 Тогда
       ДопЗаголовок = "По корпорации";
   ИначеЕсли ВидОтчета = 3 Тогда
       ДопЗаголовок = "Без учета корпорации";
   КонецЕсли;
   Таб.ВывестиСекцию("Шапка");
   ИтогОбщийДолг = 0;
   ИтогПросрочка = 0;
   Ит.ВыбратьСубконто(1,,,,,,);
   Пока Ит.ПолучитьСубконто(1,,) = 1 Цикл
       Если ВидОтчета = 2 Тогда
           Если Ит.Субконто(1).Родитель.Код <> "1000" Тогда
               Продолжить;
           КонецЕсли;
       ИначеЕсли ВидОтчета = 3 Тогда
           Если Ит.Субконто(1).Родитель.Код = "1000" Тогда
               Продолжить;
           КонецЕсли;
       КонецЕсли;
       Если ит.СКД()<=0 тогда
           продолжить;
       Конецесли;
       Заплатил = Ит.КО("С");
       Если ПустоеЗначение(Ит.Субконто(1).БазДоговор) = 0 Тогда
           Если ПустоеЗначение(Ит.Субконто(1).БазДоговор.ГлубинаКредита) = 0 Тогда
               СрокОтсрочки = Ит.Субконто(1).БазДоговор.ГлубинаКредита;
           Иначе
               СрокОтсрочки = 0;
           КонецЕсли;
       Иначе
           СрокОтсрочки = 0;
       КонецЕсли;
       Просрочка = 0;
       ОбщийДолг = 0;
       Ит.ВыбратьПериоды(,,,);
       Пока Ит.ПолучитьПериод(,) = 1 Цикл
           Документ = Ит.Операция;
           Если Ит.ДО("С") > 0 Тогда
               Если Заплатил > 0 Тогда
                   ТекЗаплатил = Мин(Заплатил, Ит.ДО("С"));
                   Если ТекЗаплатил < Ит.ДО("С") Тогда
                       Если Документ.ДатаОперации + СрокОтсрочки < НаДату Тогда
                           Просрочка = Просрочка + (Ит.ДО("С") - ТекЗаплатил);
                       КонецЕсли;
                   КонецЕсли;
                   ОбщийДолг = ОбщийДолг + (Ит.ДО("С") - ТекЗаплатил);
                   Заплатил = Заплатил - ТекЗаплатил;
               Иначе
                   Если Документ.ДатаОперации + СрокОтсрочки < НаДату Тогда
                       Просрочка = Просрочка + Ит.ДО("С");
                   КонецЕсли;
                   ОбщийДолг = ОбщийДолг + Ит.ДО("С");
               КонецЕсли;
           КонецЕсли;
       КонецЦикла;
       Если ((ОбщийДолг = 0) И (Просрочка = 0)) Тогда
           Продолжить;
       КонецЕсли;
       ИтогОбщийДолг = ИтогОбщийДолг + ОбщийДолг;
       ИтогПросрочка = ИтогПросрочка + Просрочка;
       Таб.ВывестиСекцию("Строка");
   КонецЦикла;
   Таб.ВывестиСекцию("Итоги");
   Таб.ТолькоПросмотр(1);
   Таб.ПовторятьПриПечатиСтроки(1, 5);
   Таб.Опции(0, 0, 5);
   Таб.Показать();    
КонецПроцедуры
//========================================
Процедура Сформировать2()
   ДопЗаголовок = "";
   Если ВыбКонтрагент.Выбран() = 1 Тогда
       ДопЗаголовок = "По контрагенту "+ВыбКонтрагент.ПолнНаименование;
   ИначеЕсли ВидОтчета = 1 Тогда
       ДопЗаголовок = "По всем контрагентам";
   ИначеЕсли ВидОтчета = 2 Тогда
       ДопЗаголовок = "По корпорации";
   ИначеЕсли ВидОтчета = 3 Тогда
       ДопЗаголовок = "Без учета корпорации";
   КонецЕсли;
   би=СоздатьОбъект("БухгалтерскиеИтоги");
   би.ИспользоватьРазделительУчета(константа.БазФирма);
   вс1=видыСубконто.контрагенты;
   Если ВыбКонтрагент.Выбран()=1 тогда
       если ВыбКонтрагент.ЭтоГруппа()=1 тогда
           би.ИспользоватьСубконто(вс1,ВыбКонтрагент,1);    
       иначе
           би.ИспользоватьСубконто(вс1,ВыбКонтрагент,2);
       конецесли;
   иначе
       би.ИспользоватьСубконто(вс1,,1);
   Конецесли;
   лсчета = "631,632,633";
   би.ИспользоватьСубконто(видыСубконто.Договора,,1);
   би.ВыполнитьЗапрос(НаДату,наДату,лСчета);
   би.ВыбратьСубконто(1);
   тб=СоздатьОбъект("ТаблицаЗначений");
   тб.НоваяКолонка("Контр");
   тб.НоваяКолонка("Договор");
   тб.НоваяКолонка("Срок","число");
   тб.НоваяКолонка("Сумма","число");
   тб.НоваяКолонка("Сумма1","число");
   тб.НоваяКолонка("Сумма2","число");
   тб.НоваяКолонка("Сумма3","число");
   
   Пока би.ПолучитьСубконто(1)=1 цикл
       би.ВыбратьСубконто(2);
       Пока би.ПолучитьСубконто(2)=1 цикл
           лснк=би.СНК();
           Если фМинДолг<>0 тогда
               Если лСнк<фМинДолг тогда
                   продолжить;
               Конецесли;
           Конецесли;
           Если лСнк>0 тогда
               Если пустоеЗначение(би.Субконто())=1 тогда
                   продолжить;
               Конецесли;
           Если ВидОтчета = 2 Тогда
               Если би.Субконто(1).Родитель.Код <> "1000" Тогда
                   Продолжить;
               КонецЕсли;
           ИначеЕсли ВидОтчета = 3 Тогда
               Если би.Субконто(1).Родитель.Код = "1000" Тогда
                   Продолжить;
               КонецЕсли;
           КонецЕсли;
               тб.НоваяСтрока();
               тб.Контр=би.Субконто(1);
               тб.Договор=би.Субконто(2);
               тб.Сумма=би.СКк();
           Конецесли;
       КонецЦикла;
   КонецЦикла;
   тб.ВыбратьСтроки();
   пока тб.ПолучитьСтроку()=1 цикл
       Если тб.Договор.Выбран()=0 тогда
           квоД=тб.Контр.ГлубинаКредитаПоставщика.Получить(наДату);
       иначе
           Если тб.договор.Выбран()=0 тогда
               квоД=тб.Договор.ГлубинаКредита;
           иначе
               квоД=0;
               сообщить("Пустой договор по контрагенту "+тб.контр.Наименование);
           Конецесли;
       Конецесли;
       Если квоД=0 тогда
           Если фНео=0 тогда
               Сообщить("У контрагента "+ тб.контр+" неограниченый кредит.",".");
               продолжить;    
           иначе
               квоД=21;
           Конецесли;
       Конецесли;
       тб.срок=квоД;
       би=СоздатьОбъект("БухгалтерскиеИтоги");
       би.ИспользоватьРазделительУчета(константа.БазФирма);
       би.ИспользоватьСубконто(вс1,тб.контр,2);
       би.ИспользоватьСубконто(ВидыСубконто.Договора,тб.Договор,2);
       би.ВыполнитьЗапрос(наДату-квоД,наДату,лсчета);
       би.ВыбратьСубконто();
       Если би.ПолучитьСубконто()=1 тогда
           би.ВыбратьСубконто(2);
           Если би.ПолучитьСубконто(2)=1 тогда
               лКО=би.КО();
               лДО=би.ДО();
               лСН=би.СНК();
               Если тб.Сумма>лКо тогда
                   тб.Сумма2=тб.Сумма-лКо;
                   би.ИспользоватьРазделительУчета(константа.БазФирма);
                   би.ИспользоватьСубконто(вс1,тб.контр,2);
                   би.ИспользоватьСубконто(ВидыСубконто.Договора,тб.Договор,2);
                   би.ВыполнитьЗапрос(наДату-квоД-21,наДату-квоД,лсчета);
                   би.ВыбратьСубконто();
                   Если би.ПолучитьСубконто()=1 тогда
                       би.ВыбратьСубконто(2);
                       Если би.ПолучитьСубконто(2)=1 тогда
                           лКО2=би.КО();
                           Если тб.Сумма2>лКО2 тогда
                               тб.Сумма3=тб.Сумма2-лКО2;
                           Конецесли;
                       Конецесли;                            
                   конецесли;
               Конецесли;
           Конецесли;
       Конецесли;
   конеццикла;
   таб=СоздатьОбъект("Таблица");
   таб.ИсходнаяТаблица("Таблица");
   таб.ВывестиСекцию("Шапка");
   таб.Опции(0,0,таб.ВысотаТаблицы(),0);
   тб.Сортировать("контр");
   тб.ВыбратьСтроки();
   Пока тб.ПолучитьСтроку()=1 цикл
       тб.Сумма1=тб.сумма-тб.сумма2;
       тб.Сумма2=тб.сумма2-тб.сумма3;
       таб.ВывестиСекцию("Строка");
   КонецЦикла;
   таб.ВывестиСекцию("Итоги");
   таб.ТолькоПросмотр(1);
   таб.Параметрыстраницы(1,100,0,0,0,0,0,0,0,1);
   таб.Показать("Реестр просроченой задолженности",,1);
КонецПроцедуры
1 chief accountant
 
24.10.12
15:44
нужен глобальник, так не видно
2 walkman315
 
24.10.12
15:46
а где его взять?
3 walkman315
 
24.10.12
15:49
подскажите плиз, тока учусь, очень нужна ваша помощь
4 Mikeware
 
24.10.12
15:50
(0) Это родители что-то сделали не так...
5 walkman315
 
24.10.12
15:53
а разве может быть такое что все родители сделали не так
6 chief accountant
 
24.10.12
15:55
(2) в конфигураторе
7 alex-pro
 
24.10.12
15:56
(0) смени пол в карточке и поставь фотку
8 Дядя Вова
 
24.10.12
15:57
ВебМани есть? За скромный перевод дам глобальник. У меня как раз не нужный валяется тут
9 chief accountant
 
24.10.12
15:57
walk man
Вика
Мужской

что-то тут не так?
10 Mikeware
 
24.10.12
15:58
(5) Ну, может не по своей вине они так сделали...
Может, тебе в районе 26 лет? :-)
11 ОбычныйЧеловек
 
24.10.12
15:59
(10) вот они добрые 1С-ники :)
12 walkman315
 
24.10.12
15:59
мне друг регистрировался
указал свои данные
имя мое вписал
13 chief accountant
 
24.10.12
16:00
(12) трансвестит?
14 Дядя Вова
 
24.10.12
16:01
(12) Тогда ник нужен был такой: Вика(регистрировал Петя)
15 Crusher
 
24.10.12
16:01
(10) Какие Ваши доказательства влияния радиации на ДНК?
16 Mikeware
 
24.10.12
16:03
(12) Приходит мужик домой и говорит жене:
- Слушай, жена, сейчас такие водители вежливые пошли! В общем, иду я, перехожу улицу, а мне из тачки мужик орет:
- "Для вас, козлов, переходы подземные делают!".
Ну вот я и удивился, что он ко мне "на вы" да еще и по фамилии назвал...
©
17 Mikeware
 
24.10.12
16:03
(15) статистика...
18 walkman315
 
24.10.12
16:04
если я правильно нашла то вот глобальник

// ------------------------------------------
//            Общие переменные
// ------------------------------------------
Перем таймеры[20];
Перем ЛогФайлНР,ЛогатНР;
Перем глСписокОшибокОкругления Экспорт;
Перем глПользователь Экспорт;
Перем глЧислоСтрок Экспорт;
Перем глВсеВыбрано Экспорт;
Перем глБИ Экспорт;
Перем глЗначениеОтбора Экспорт;  

Перем глОбщиеУстановки Экспорт;
Перем глРасшифровка Экспорт, глФлагРасшифровки Экспорт;
Перем глТаблица Экспорт, глОбновить Экспорт;

Перем ДлинаКодаТМЦ;
// синонимы
Перем Гривня Экспорт;
Перем Да Экспорт, Нет Экспорт;
Перем ОсновныеСредства Экспорт, НМА Экспорт;
Перем Класс8 Экспорт, Класс9 Экспорт, Класс89 Экспорт;
Перем Оптовый Экспорт, Розничный Экспорт, Склады Экспорт, МОЛы Экспорт;
Перем ОсновнаяЗП Экспорт;  
Перем ИспользоватьСчетаРасходов Экспорт;  
// синонимы стандартных ставок НДС
Перем БезНДС Экспорт, ЛьготнаяСтавкаНДС Экспорт;
Перем ОсновнаяСтавкаНДС Экспорт, неНДС Экспорт;

// правовая поддержка
Перем глКомпонентаПравовойПоддержки Экспорт, глВидимостьПравовойПоддержки Экспорт;
Перем глПартионныйУчетПоСкладам Экспорт;

// для расчета курсовых разниц и переоценки валютных счетов
Перем глТаблицаСчетов Экспорт;
Перем глСчетаОстатковВВалюте Экспорт;
Перем глСчетаЗадолженностейВВалюте Экспорт, глНеМонетарныеСчета Экспорт;
Перем глСчетаУчетаТоваров Экспорт;
Перем глСчетаУчетаЗапасов Экспорт;
Перем глСчетаУчетаПродукции Экспорт;

// для связи с регистрами взаиморасчетов
Перем глСчетаПоставщиковПокупателей Экспорт;

//для налога на доходы
Перем глДатаПереходаНаНДФЛ Экспорт;

Перем глСчетаЗабалансовогоУчетаЗапасов;

// ===============================
// таблица операции
Перем глТбОперация Экспорт;
Перем глТекущийДокумент;

//=====================================
// глобальные установки форматирования значений
Перем глФорматКоличестваВОтчетах Экспорт;  
Перем глФорматКоличестваВформах Экспорт;
Перем глДлинаСуммы Экспорт;        // длина поля Суммы или цены
Перем глТочностьСуммы Экспорт;  // точность
Перем глФорматСуммы Экспорт;    // формат отображения суммовых характеристик.          

Перем глТочностьСуммВДок Экспорт;
Перем глТочностьЦенВДок Экспорт;

// ===============================
// Действия по кнопке в документах
Перем ДвиженияДокумента Экспорт;
Перем СтруктураПодчиненности Экспорт;
Перем ОбновлениеЦен Экспорт;
Перем ВводНаОсновании Экспорт;
Перем ОткрытьВЖурнале Экспорт;
Перем Подчиненные Экспорт;
Перем ТоварныйСостав Экспорт;

// ===============================
// работа с торговым оборудованием
// сканер ШК
Перем РаботаСоСканеромШтрихКода Экспорт;
Перем СканерШтрихКода Экспорт;
Перем ШтрихКодИмеетПрефикс Экспорт;
// кассовые аппараты          
Перем глСписокФискальныхРегистраторов Экспорт;
Перем глСписокЭККА_OFFLine Экспорт;
Перем глСписокЭККА_Автономно Экспорт;
Перем глПереченьДрайверов Экспорт;

// ===============================
// идентификаторы опций печати
Перем ПарСтрСпр Экспорт, ПарСтрДок Экспорт, ПарСтрОтчДлинн Экспорт, ПарСтрОтчШирок Экспорт;

// ===============================
// идентификаторы кодов операций регистра Партии
Перем Закупка Экспорт;
Перем ПриходованиеАкциз Экспорт;
Перем ПриходованиеПошлина Экспорт;
Перем ПриходованиеПеревозка Экспорт;
Перем ПриходованиеУслугиТаможни Экспорт;
Перем ВыпускПродукции Экспорт;
Перем ВводОстатков Экспорт;
Перем ВводОстатковДавальческихЗапасов Экспорт;
Перем ВводОстатковТарыВозвратной Экспорт;
Перем ВводОстатковТарыЗалоговой Экспорт;
Перем Продажа Экспорт;
Перем РозничнаяПродажа Экспорт;
Перем ВозвратПоставщику Экспорт;
Перем ВозвратДавальческогоСырья Экспорт;
Перем ВозвратРозничный Экспорт;    
Перем ПродажаОтсутствующих Экспорт;
Перем ВозвратОтПокупателя Экспорт;
Перем ПеремещениеВРозницу Экспорт;
Перем ПеремещениеИзРозницы Экспорт;
Перем ПеремещениеМеждуСкладами Экспорт;
Перем ПереоценкаНаСкладеДооценка Экспорт;
Перем ПереоценкаНаСкладеУценка Экспорт;
Перем ПереоценкаВРознице Экспорт;
Перем СписаниеИзлишков Экспорт;
Перем ОприходованиеИзлишков Экспорт;            
Перем ПередачаТарыВозвратнойПокупателю Экспорт;
Перем ВозвратТарыВозвратнойОтПокупателя Экспорт;
Перем ПолучениеТарыВозвратнойОтПоставщика Экспорт;
Перем ВозвратТарыВозвратнойПоставщику Экспорт;
Перем ПередачаТарыЗалоговойПокупателю Экспорт;
Перем ВозвратТарыЗалоговойОтПокупателя Экспорт;
Перем ПолучениеТарыЗалоговойОтПоставщика Экспорт;
Перем ВозвратТарыЗалоговойПоставщику Экспорт;
Перем СписаниеВПроизводство Экспорт;
Перем ВозвратИзПроизводства Экспорт;
Перем ПолучениеДавальческогоСырья Экспорт;
Перем ВозвратДавДеятельноальческогоСырья Экспорт;
Перем ОтгрузкаДавальческойПродукции Экспорт;
Перем ВводВЭксплуатациюМБП Экспорт;
Перем ПриходованиеОСКакЗапасы Экспорт;
Перем ВводВЭксплуатациюОСКакЗапасы Экспорт;
Перем ЛиквидацияОСКакЗапасы Экспорт;
Перем ПеремещениеОСКакЗапасы Экспорт;
Перем ВводОстатковОСКакЗапасы Экспорт;


// ===============================
// идентификаторы кодов операций только регистра Обороты
Перем ПокупкаУслуги Экспорт;
Перем СторноПокупкаУслуги Экспорт;
Перем ПродажаУслуги Экспорт;
Перем СторноПродажаУслуги Экспорт;
Перем ДоходОтКурсовойРазницы Экспорт;

// ===============================
// идентификаторы кодов операций регистров ВзаиморасчетыПокупателей и ВзаиморасчетыПоставщиков
Перем ВводОстатковОплата Экспорт;
Перем ВводОстатковОтгрузка Экспорт;
Перем АвансоваяОплата Экспорт;
Перем ПостОплата Экспорт;
Перем ВозвратАвансовойОплаты Экспорт;
Перем ВозвратПостОплаты Экспорт;
Перем АвансоваяОтгрузка Экспорт;
Перем ПостОтгрузка Экспорт;
Перем ВозвратАвансовойОтгрузки Экспорт;
Перем ВозвратПостОтгрузки Экспорт;
Перем ПервоеСобытиеБартерПриход Экспорт;
Перем ПервоеСобытиеБартерРасход Экспорт;
Перем ВтороеСобытиеБартерПриход Экспорт;
Перем ВтороеСобытиеБартерРасход Экспорт;
Перем ВозвратПервоеСобытиеБартерПриход Экспорт;
Перем ВозвратПервоеСобытиеБартерРасход Экспорт;
Перем ВозвратВтороеСобытиеБартерПриход Экспорт;
Перем ВозвратВтороеСобытиеБартерРасход Экспорт;
Перем НачислениеАкциза Экспорт;
Перем НачислениеНДСнаИмпорт Экспорт;
Перем НачислениеПошлины Экспорт;
Перем НачислениеТаможенныхУслуг Экспорт;
Перем КурсоваяРазницаДоход Экспорт;
Перем КурсоваяРазницаУбыток Экспорт;    

// Идентификаторы кодов операций регистра ПроизводственныеЗатраты
Перем ОтражениеЗатрат Экспорт;
Перем ПерераспрЗатрат Экспорт;
Перем ФормирСебестоимости Экспорт;
             
// Типы норм в регистре НормативныеЗатраты
Перем НормыНаВыпуск Экспорт;
Перем НормыНаНезаверш Экспорт;
Перем НормыНаНезавершПрош Экспорт;

// Флаги налогового учета
Перем НУ_ВозникновениеНОиВДВР Экспорт;
Перем НУ_СторноНОиВДВР Экспорт;
Перем НУ_ВозникновениеНО Экспорт;
Перем НУ_СторноНО Экспорт;
Перем НУ_ВозникновениеВДВР Экспорт;
Перем НУ_СторноВДВР Экспорт;

// переменные для множественных фильров в отчетах
Перем глУсловие1  Экспорт;
Перем глУсловие2  Экспорт;
Перем глУсловие3  Экспорт;
Перем глУсловие4  Экспорт;
Перем глУсловие5  Экспорт;
Перем глУсловие6  Экспорт;
Перем глУсловие7  Экспорт;
Перем глУсловие8  Экспорт;
Перем глУсловие9  Экспорт;
Перем глУсловие10 Экспорт;

// Флаг ускоренного формирования отчетов
Перем глОптимизацияОтчетов Экспорт;

//индексация  
Перем глДатаНачалаРасчетаИндексации Экспорт;
Перем глТбИндексИнфляции Экспорт; //чтобы не вытаскивать при каждом расчете







Перем КатегорияЦен;


//ЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖ
//Добавленные процедуры, функции и переменные
// ===============================
Процедура __НачалоДобавленныхПроцедурИФункций()
КонецПроцедуры //__НачалоДобавленныхПроцедурИФункций

Функция глПересчет(Сумма,Пар2,Пар3,Пар4,Пар5=0,Пар6=0) Экспорт Далее
Функция глЕстьРеквизитШапки(ИмяРеквизита, ВидДокумента) Экспорт Далее
Функция глЕстьРеквизитМнЧ(ИмяРеквизита,ВидДокумента) Экспорт Далее
Процедура глКомментарий(ТекстСообщения, Детальность=3, Конт="", Знач Маркер="") Экспорт Далее
Функция глВернутьЦену(Товар, КатегорияЦены, ДатаЦены=0, Валюта=0) Экспорт далее
// ===============================
Процедура глПроверкаБлокировкиБазы()
   


КонецПроцедуры //глПроверкаБлокировкиБазы



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

// ===============================
//Процедура глРассчитатьЗаказы(Конт, Регистры, Отбор ,ФлагУчетаОстатков, ФлагУчетаРезервов, ТолькоФильтр = 0 ) Экспорт
Процедура глРассчитатьЗаказы(Конт, Регистры, Отбор) Экспорт

   Если ТипЗначенияСтр(Отбор)="СписокЗначений" Тогда
       Фирма = Отбор.Получить("Фирма");
       спТовар = Отбор.Получить("Товар");
       спМестаХранения = Отбор.Получить("МестоХранения");
   Иначе
       Фирма = 0;
       спТовар = 0;
       спМестаХранения = 0;
   КонецЕсли;
   
   Если ТипЗначенияСтр(спТовар) <> "СписокЗначений" Тогда
       Если глЕстьРеквизитМнЧ("ТМЦ",Конт.Вид()) = Да Тогда
           РеквТовар = "ТМЦ";
       ИначеЕсли глЕстьРеквизитМнЧ("Услуга",Конт.Вид()) = Да Тогда
           РеквТовар = "Услуга"; // для оказания услуг
       Иначе
           глКомментарий("В процедуру глРассчитатьЗаказы передан некорректный параметр Конт.",0);
           Возврат;
       КонецЕсли;
       спТовар = СоздатьОбъект("СписокЗначений");
       Конт.ВыгрузитьТабличнуюЧасть(спТовар,РеквТовар);
   КонецЕсли;
   Если ПустоеЗначение(Фирма)=1 Тогда
       Фирма = Конт.Фирма;
   КонецЕсли;
   
   //Если ФлагУчетаОстатков=1 Тогда
   //    Рег=Регистры.Заказы;
   //    
   //    Рег.УстановитьЗначениеФильтра("Фирма",Фирма,1);
   //    Рег.УстановитьЗначениеФильтра("ТМЦ",спТовар,2);
   //    Рег.УстановитьЗначениеФильтра("МестоХранения",спМестаХранения,2);
   //    
   //    Если Конт.ИтогиАктуальны()=0 Тогда
   //        Рег.ВременныйРасчет(1);
   //    КонецЕсли;
   //КонецЕсли;
   
   РегЗаказы=Регистры.Заказы;
   
   РегЗаказы.УстановитьЗначениеФильтра("Фирма",Фирма,1);
   РегЗаказы.УстановитьЗначениеФильтра("Продукция",спТовар,2);
   Если Конт.ИтогиАктуальны()=0 Тогда
       РегЗаказы.ВременныйРасчет(1);
   КонецЕсли;
       
   Если Конт.ИтогиАктуальны()=0 Тогда
       Регистры.РассчитатьРегистрыНа(Конт.ТекущийДокумент());
   КонецЕсли;
       
КонецПроцедуры //глРассчитатьЗаказы

// ===============================
Функция глПолучитьМестоХраненияАвтомобиля(Автомобиль, МестоХранения) Экспорт
 
   мх =СоздатьОбъект("Справочник.МестаХранения");
   Если мх.НайтиПоРеквизиту("Автомобиль",Автомобиль,1) = 0 Тогда
     Предупреждение("В справочнике мест хранения отсутствует
                                   |место хранения для данного автомобиля!");
       Возврат 0;
   КонецЕсли;
   
   МестоХранения = мх.ТекущийЭлемент();
   Возврат 1;
   
КонецФункции //глПолучитьМестоХраненияАвтомобиля

// ===============================
Процедура глУстановитьКвоТары(Конт) Экспорт
   Если Конт.ТМЦ.КвоВТаре = 0 тогда
        конт.КвоТары=0;
   иначе
       КвоТары =Конт.Кво / Конт.ТМЦ.КвоВТаре;
       лДельта=Конт.Кво-(Цел(КвоТары)*Конт.ТМЦ.КвоВТаре);
       Если лДельта/Конт.ТМЦ.КвоВТаре*100>=40 тогда
           КвоТары=Цел(КвоТары)+1;
       иначе
           КвоТары=Цел(КвоТары);
       Конецесли;
       конт.КвоТары=квоТары;
   Конецесли;
КонецПроцедуры //глУстановитьКвоТары

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

   Если (ЕстьКатегория = 0) И (режим = 1) Тогда
     спркат.Новый();
       спркат.Владелец = контр;
       спркат.Категория = категория;
       спркат.ПервыйДок = Конт.ТекущийДокумент();
       спркат.Записать();
   ИначеЕсли (ЕстьКатегория = 1) И (режим = 1) И (спркат.ПометкаУдаления() = 1) Тогда
       спркат.СнятьПометкуУдаления();
       спркат.ПервыйДок = Конт.ТекущийДокумент();
       спркат.Записать();
   ИначеЕсли (ЕстьКатегория = 1) И (режим = 0) Тогда
       спркат.Удалить(0);
   КонецЕсли;
   
КонецПроцедуры //глПроверитьКатегориюПоставщика

// ===============================
Функция глКоличествоДнейПросрочки(ГлубинаКредита, НачДата, КонДата, ГлубинаВКалендарныхДнях = 0) Экспорт
 
   ПрошлоДней = 0;
   
   ТекДата = НачДата;
   Пока ТекДата < КонДата Цикл
       ДеньНедели = НомерДняНедели(ТекДата);
       Если (ГлубинаВКалендарныхДнях = 1) ИЛИ (ДеньНедели < 6) Тогда
         ПрошлоДней = ПрошлоДней + 1;
       КонецЕсли;
       
       ТекДата = ТекДата + 1;
   КонецЦикла;

   Если (ПрошлоДней - ГлубинаКредита) <= 0 Тогда
     Возврат 0;
   Иначе
       Возврат (ПрошлоДней - ГлубинаКредита);
   КонецЕсли;
   
КонецФункции //глКоличествоДнейПросрочки

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

// ===============================
Функция глПроверитьКатегориюЦенПокупателя(Конт, Товар, КатегорияЦен) Экспорт
   
   Если (глЕстьРеквизитШапки("Контрагент",Конт.Вид()) = Да)
   И (Товар.Вид() = "ТМЦ") Тогда
       

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

   Возврат 1;    
   
КонецФункции //глПроверитьКатегориюЦенПокупателя

// ===============================
Процедура глПроверитьТаруДляБюджетников(Контрагент, Товар, Цена)экспорт
   
   Если (Контрагент.БюджетнаяОрганизация = 1) И (Товар.ВидТМЦ = Перечисление.ВидыТМЦ.Тара) Тогда
     Цена = 0;
   КонецЕсли;
   
КонецПроцедуры //глПроверитьТаруДляБюджетников

// ===============================
Функция глПроверитьНаличиеЦеныТовара(Конт, Товар, Цена)
 
   Если (Цена = 0) И (Товар.ВидТМЦ <> Перечисление.ВидыТМЦ.Тара) Тогда
       Предупреждение("Для  ТМЦ '" + СокрЛП(Товар.Наименование) + "' не указана
                                       |продажная цена по категории цен контрагента! Продажа невозможна!
                                       |Для установки продажной цены обратитесь в плановый отдел.");
       Конт.ТМЦ = 0;
       Возврат 0;
   КонецЕсли;
   
   Возврат 1;
   
КонецФункции //глПроверитьНаличиеЦеныТовара

Процедура _КонецДобавленныхПроцедурИФункций()
КонецПроцедуры //_КонецДобавленныхПроцедурИФункций
//Конец добавленных процедур, функций и переменных
//ЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖЖ

// ===============================
// Назначение:
//        Определяет, давальческий заказ или нет
// Аргументы:
//        Зак - заказ, может быть пустым
// Возвращает:
//        1 - давальческий, 0 - недавальческий
Функция глЭтоДавальческийЗаказ(Зак) Экспорт
   Если ПустоеЗначение(Зак) = 1 Тогда
       Возврат 0;
   Иначе
       Если Зак.Вид()="Заказ" Тогда
           Возврат Зак.ПереработкаДавальческогоСырья;
       Иначе
           Возврат 0;
       КонецЕсли;
   КонецЕсли;
КонецФункции //глЭтоДавальческийЗаказ

//=====================================
Функция глПолучитьЗаказ(Док) Экспорт
   Если ПустоеЗначение(Док) = 1 Тогда
       Возврат ПолучитьПустоеЗначение("Документ");
   Иначе
       Возврат ?(Док.Вид()="Заказ",Док,ПолучитьПустоеЗначение("Документ"));
   КонецЕсли;
КонецФункции //глЭтоЗаказ

//=====================================
Процедура глСформироватьДвиженияДокумента(Док)  Экспорт
   Если ТипЗначенияСтр(Док)="Документ" Тогда
       Докум=Док;
   ИначеЕсли ТипЗначенияСтр(Док)="ГрупповойКонтекст" Тогда
       Если Док.Выбран()=0 Тогда
           Предупреждение("Документ не записан!");
           Возврат;
       Иначе
           Докум=Док.ТекущийДокумент();
       КонецЕсли;
   Иначе
       Предупреждение("При вызове проц. глСформироватьДвиженияДокумента в параметре не передан Документ");
       Возврат;
   КонецЕсли;

   ОткрытьФорму("Обработка.ДвиженияДокумента"+"#",Докум);

КонецПроцедуры //глСформироватьДвиженияДокумента

// ===============================
// Эта процедура формирует Дерево подчиненных документов
Процедура глСформироватьДеревоДокументов(Док)  Экспорт
   Если ТипЗначенияСтр(Док)="Документ" Тогда
       Докум=Док;
   ИначеЕсли ТипЗначенияСтр(Док)="ГрупповойКонтекст" Тогда
       Если Док.СравнитьТА()=-2 Тогда
           Предупреждение("Документ не записан!");
           Возврат;
       Иначе
           Докум=Док.ТекущийДокумент();
       КонецЕсли;
   Иначе
       // При вызове процедуры ей в параметре не передан Документ
       Возврат;
   КонецЕсли;

   ОткрытьФорму("Обработка.ДеревоДокументов"+"#",Докум);
КонецПроцедуры //глСформироватьДеревоДокументов

// ======================================
Процедура глПечатьЖурналаДокументов(Конт, Наименование) Экспорт
   Перем Отбор, ЗначениеОтбора;
   
   ЕстьОтбор = Конт.ПолучитьОтбор(Отбор, ЗначениеОтбора);
   НачДата = Конт.НачалоИнтервала();
   КонДата = Конт.КонецИнтервала();
   Расшифровка = СоздатьОбъект("СписокЗначений");
   Расшифровка.Установить("Отчет","ОбработкаДокументов");
   Расшифровка.Установить("Дата1", НачДата);
   Расшифровка.Установить("Дата2", КонДата);
   Расшифровка.Установить("ВыбКонтрагент", ПолучитьПустоеЗначение("Справочник.Контрагенты"));
   Расшифровка.Установить("ВыбСтрока", "");
   Расшифровка.Установить("ВыбСтрокаКом", "");
   Расшифровка.Установить("Признак", "Все");
   Расшифровка.Установить("ВидОбработки", "Печать");
   Расшифровка.Установить("ДокументВладелец", Конт.ПодчинениеДокументу());
   Если Отбор = "Фирма" Тогда
       Расшифровка.Установить("ВыбФирма", ЗначениеОтбора);
   Иначе
       Расшифровка.Установить("ВыбФирма", ПолучитьПустоеЗначение("Справочник.Фирмы"));
   КонецЕсли;
   ВсеДокументы = СоздатьОбъект("СписокЗначений");
   ВыбранныеДокументы = СоздатьОбъект("СписокЗначений");
   Для Индекс=1 По Метаданные.Документ() Цикл
       Значение = Метаданные.Документ(Индекс).Идентификатор;
       Представление = Метаданные.Документ(Индекс).Представление();
       Комментарий = Метаданные.Документ(Индекс).Комментарий;
       Если ПустаяСтрока(Комментарий) = 0 Тогда
           Представление = Представление + " (" + Комментарий +")";
       КонецЕсли;
       ВсеДокументы.ДобавитьЗначение(Значение, Представление);
   КонецЦикла;
   //Считаем, что отбор возможен только по документу или контрагенту
   Если ЕстьОтбор = 1 Тогда
       Если Метаданные.Документ(Отбор).Выбран() = 1 Тогда
           Значение = Метаданные.Документ(Отбор).Идентификатор;
           Представление = Метаданные.Документ(Отбор).Представление();
           Комментарий = Метаданные.Документ(Отбор).Комментарий;
           Если ПустаяСтрока(Комментарий) = 0 Тогда
               Представление = Представление + " (" + Комментарий +")";
           КонецЕсли;
           ВсеДокументы.УдалитьЗначение(ВсеДокументы.НайтиЗначение(Значение));
           ВыбранныеДокументы.ДобавитьЗначение(Значение, Представление);
       Иначе
           Расшифровка.Установить("ВыбКонтрагент", ЗначениеОтбора);
           ВсеДокументы.Выгрузить(ВыбранныеДокументы);
           ВсеДокументы.УдалитьВсе();
       КонецЕсли;                                                  
   Иначе
       Для Индекс = 1 По Метаданные.Документ() Цикл
           Док = Метаданные.Документ(Индекс);
           Если ((Строка(Док.Журнал) = Метаданные.Журнал(Наименование).Представление()) или (Наименование = "ПолныйЖурнал")) Тогда
               Значение = Док.Идентификатор;
               Представление = Док.Представление();
               Комментарий = Док.Комментарий;
               Если ПустаяСтрока(Комментарий) = 0 Тогда
                   Представление = Представление + " (" + Комментарий +")";
               КонецЕсли;
               ВсеДокументы.УдалитьЗначение(ВсеДокументы.НайтиЗначение(Значение));
               ВыбранныеДокументы.ДобавитьЗначение(Значение, Представление);
           КонецЕсли;
       КонецЦикла;
   КонецЕсли;
   Расшифровка.Установить("ВыбранныеДокументы", ВыбранныеДокументы);
   Расшифровка.Установить("ВсеДокументы", ВсеДокументы);
   глРасшифровка = Расшифровка;
   глФлагРасшифровки = 1;
   глОбновить = 0;
   ОткрытьФорму("Обработка.ОбработкаДокументов");
   глФлагРасшифровки = 0;
КонецПроцедуры        //ПечатьЖурналаДокументов

// Локально сохраняет значение по ключу
// ===============================
// Конт - или контекст документа, или строка (для совместимости)
// сИдентификатор - идентификатор значения
// Значение - значение для сохранения
Процедура глСохранитьЗначение(Конт="", сИдентификатор="", Значение="") Экспорт
   Если ТипЗначенияСтр(Конт) = "ГрупповойКонтекст" Тогда
       сГруппа = Конт.Вид();
   Иначе
       // строка или что-то другое, преобразуем все к строке
       сГруппа = СокрЛП(Строка(Конт));
   КонецЕсли;
   сКлюч = ?(ПустаяСтрока(сГруппа) = 0, сГруппа+"_", "")+СокрЛП(сИдентификатор);
   СохранитьЗначение(сКлюч, Значение);
КонецПроцедуры //глСохранитьЗначение

// В зависимости от значения глОбщиеУстановки или восстанавливает локально
// сохраненное значение или берет значение константы (реквизита справочника)
// Используется для присвоения значений по умолчанию
// ===============================
// Конт - или контекст документа, или контекст справочника,
//          или элемент спправочника Фирмы, или строка (для совместимости)
// сИдентификатор - идентификатор значения
// ЗначПоУмолчанию - значение по умолчанию, если ничего не "восстановили"
Функция глВосстановитьЗначение(Конт="", сИдентификатор="", ЗначПоУмолчанию=0) Экспорт
Перем сГруппа, Фирма, ДатаЗнач;                

   // для совместимости с "Торговля+Склад"
   Если сИдентификатор = "ОсновнаяФирма" Тогда
       сИдентификатор = "БазФирма";
   КонецЕсли;    

   Если ТипЗначенияСтр(Конт) = "ГрупповойКонтекст" Тогда
       сГруппа = Конт.Вид();
       Попытка
           // Конт - документ
           Фирма = Конт.Фир
19 ОбычныйЧеловек
 
24.10.12
16:05
(18) Судя по всему кому-то светит пожизненный бан )))
20 chief accountant
 
24.10.12
16:06
(18) поцсталом
21 walkman315
 
24.10.12
16:08
я все потнимаю, вы свер умные программисты и все такое, но если человек знает мне кажется он сможет помочь, и не будет писать всякую чепуху и засорять тему.
я думая среди форумчан есть такие люди которые могут помочь
22 ОбычныйЧеловек
 
24.10.12
16:09
(20) Тебе нужен был глобальник - получи :)
23 chief accountant
 
24.10.12
16:09
(22) ну тык я изучаю, думаю помогу найти косяк
24 chief accountant
 
24.10.12
16:10
(21) фотку поставь - подумаем
25 Mikeware
 
24.10.12
16:11
Процедура __НачалоДобавленныхПроцедурИФункций()
КонецПроцедуры //__НачалоДобавленныхПроцедурИФункций

Процедура _КонецДобавленныхПроцедурИФункций()
КонецПроцедуры //_КонецДобавленныхПроцедурИФункций

убило...

алгоритм в  глКоличествоДнейПросрочки() тоже порадовал...
26 Mikeware
 
24.10.12
16:12
(21) могут - многие...
но вот один нюанс - ты же это для работе делаешь?
27 ОбычныйЧеловек
 
24.10.12
16:14
(23) я правда не заметил в приведенных процедурах в (0) вызов глобальника )
28 chief accountant
 
24.10.12
16:18
(27) это неважно
29 walkman315
 
24.10.12
16:20
вы что извращенцы какието))
поставила я фотку
помогите теперь пожалуйста, хватит смеятя
да, мне надо для работы
30 ОбычныйЧеловек
 
24.10.12
16:25
(29) злая ты какая-то...
31 Mikeware
 
24.10.12
16:25
(29) Ну так за работу - платят.
Судя по постановке вопроса - нужна не "помощь", а "сделать за меня".
32 Mikeware
 
24.10.12
16:26
(29) может, кто-то и на фотку клюнет....
33 Drac0
 
24.10.12
16:28
(29) Эх, сначала в школе: "Реши ДЗ за меня, чтобы я 5-ку получила". Потов в ВУЗе: "Сделай лабу, плиз, чтобы я зачет получила!". А теперь вот: "Сделайте работу за меня, плиз, чтобы я зарплату получила!"

Печально это :(
34 walkman315
 
24.10.12
16:29
я добрая))
сделала я ее, но у меня выдает знак "?" в столбце....вот я у вас и спрашиваю как.
За работу мне еще не плотят, я пока на испытательном сроке.
35 Sh1ko
 
24.10.12
16:29
(33) Сами виноваты, надо их еще в школе приучать-)
36 walkman315
 
24.10.12
16:31
вас просишь, а вы пишете чепуху какуюто.
будьте людьми, денег всеровно никогда не хватит....
я не прошу сделайте за меня......просто подскажите где что нужно исправить
37 chief accountant
 
24.10.12
16:32
(34) что в свойствах ячейки "Срок отсрочки"?
38 Drac0
 
24.10.12
16:32
(34) А где у вас присваивается какое-либо значение в том столбце? Откуда знак "?" берется?
39 chief accountant
 
24.10.12
16:33
(36) да не кипятись, фотка сработала своё черное дело
40 Ёпрст
 
24.10.12
16:34
(0) откройте шаблон таблицы, в секции строка найдите ячейку с отсрочкой и посмотрите что стоит свойствах - там будет что то типа Шаблон(траляля).. делайте выводы, при каком условии выводится знак "?" в этом шаблоне
41 walkman315
 
24.10.12
16:35
в таблице я указала это значение
?(тб.Срок=0,"?",Тб.Срок)
42 chief accountant
 
24.10.12
16:36
(41) ну тык сама ведь написала
,"?",
вот и вопросы
43 ОбычныйЧеловек
 
24.10.12
16:36
(41) ты сегодня просто блестаешь )))
44 walkman315
 
24.10.12
16:37
а что мне нужно написать вместо "?"
45 ОбычныйЧеловек
 
24.10.12
16:38
(44)а что ты хочешь, что бы вместо "?" выходило то и поставь
46 Дядя Вова
 
24.10.12
16:38
Развод имхо
47 ОбычныйЧеловек
 
24.10.12
16:38
(46) 100%
48 Efa2012
 
24.10.12
16:39
(46) в чём?
49 ОбычныйЧеловек
 
24.10.12
16:39
(48) да во всем, от и до.
50 chief accountant
 
24.10.12
16:40
(44) напиши
,"",
51 Drac0
 
24.10.12
16:41
(37)(40) А без ваших подсказок получилось бы веселее ...
52 chief accountant
 
24.10.12
16:42
(51) фотка понравилась, что делать-то?
53 walkman315
 
24.10.12
16:42
я все это понимаю, но мне нужно что бы оно выводило для всех документов свои сроки отсрочки, а когда я ставлю там какое то число то у меня в отчете пишет ?(тб.Срок=0,"8",Тб.Срок)
поставила я про "", без знака вопроса....у меня выбила пустая колонка
54 hunter76
 
24.10.12
16:43
я так понял, надо где-то тут:
тб.НоваяСтрока();
тб.Контр=би.Субконто(1);
тб.Договор=би.Субконто(2);
тб.Срок=би.Субконто(2).<Имя реквизита Срок отсрочки>;
тб.Сумма=би.СКк();
55 chief accountant
 
24.10.12
16:45
(53) по ходу в (34) "сделала я ее" - враки
56 Drac0
 
24.10.12
16:45
(53) Как вы понимаете эту строку: ?(тб.Срок=0,"8",Тб.Срок)
Словами, пожалуйста.
57 Drac0
 
24.10.12
16:46
(55)Да это было очевидно, я хотел чтобы она сама сказала, откуда берется знак "?", а вы тут наподсказывали :(
58 Mikeware
 
24.10.12
16:46
(41) "?", вероятно, означает, "спросите у глабвуха"? :-)
59 ОбычныйЧеловек
 
24.10.12
16:47
walkman315 давай на пару работать - я тебе буду вопросики кидать а ты их на форум (все будет быстро решаться с такой то фоткой) - и мне напрягаться не придется и тебе приятно :)
60 hunter76
 
24.10.12
16:47
Если тб.Контр.Выбран()=1 тогда  //тут исправил
           квоД=тб.Контр.ГлубинаКредитаПоставщика.Получить(наДату);
       иначе
           Если тб.договор.Выбран()=1 тогда  //и тут исправил
               квоД=тб.Договор.ГлубинаКредита;
           иначе
               квоД=0;
               сообщить("Пустой договор по контрагенту "+тб.контр.Наименование);
           Конецесли;
       Конецесли;
       Если квоД=0 тогда
           Если фНео=0 тогда
               Сообщить("У контрагента "+ тб.контр+" неограниченый кредит.",".");
               продолжить;    
           иначе
               квоД=21;
           Конецесли;
       Конецесли;
       тб.срок=квоД;
61 Mikeware
 
24.10.12
16:48
(36) имхо, исправить надо что-то в ДНК....
62 chief accountant
 
24.10.12
16:49
(60) Если тб.Контр.Выбран()=1 тогда - лажа
63 hunter76
 
24.10.12
16:52
Если ПустоеЗначение(тб.Контр)=0 Тогда

я бы так написал
64 walkman315
 
24.10.12
16:56
Если тб.Контр.Выбран()=1
пробывала, также выбивате ?
65 ОбычныйЧеловек
 
24.10.12
17:00
Начало было весело а сейчас чего-то как-то совсем скучно стало   (не тот уже развод) - ветку можно закрывать.
66 chief accountant
 
24.10.12
17:02
(63) тб.Контр=би.Субконто(1);
тб.Контр может быть пустым при условии
         
би.ИспользоватьСубконто(вс1,ВыбКонтрагент,1);    
иначе
би.ИспользоватьСубконто(вс1,ВыбКонтрагент,2);

???
67 chief accountant
 
24.10.12
17:02
(65) один фиг заняться нечем, работать влом
Независимо от того, куда вы едете — это в гору и против ветра!