Помогите доделать внешнею обработку"Печать ценников по док или складам"

1. Chel 4 24.07.09 23:46 Сейчас в теме
Работает все кроме Процедура ПечПоСкл(), можно ли вообще так формировать ее??





Перем ПечЕдиница, ПечНаименование,ПечРозн,ПечКод;
Перем ЦенаТовара;
Перем ТипРозничной;
перем ТаблЗнач;
перем документ;
перем тов;
перем ТипЦены;
перем КолТов;
перем ТабЗнач, ххх;
Перем Таб;
Перем ЧислоСтрок;
Перем Столбик;
Перем Ряд;


Процедура ДобавитьЦенник()



Столбик = ?(Столбик = 0, 1, ?(Столбик = 1, 2, ?(Столбик = 2, 3, ?(Столбик= 3,4,0))));
Ряд=?(Столбик=0,Ряд+1,Ряд);
Если Ряд=8 Тогда
Таб.НоваяСтраница();
Ряд=1;
КонецЕсли;
Если Ряд>ЧислоСтрок Тогда

Если Столбик=0 Тогда
Таб.ВывестиСекцию("Товар|Ценник");
иначе
Таб.ПрисоединитьСекцию("Товар|Ценник");
КонецЕсли;

глОживить(1);
КонецЕсли;

КонецПроцедуры

процедура ПечПоДок()

Таб=СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("МойЦенник");
ЧислоСтрок=0;
Столбик=3;
Ряд=0;

ТипРозничной = Константа.РозничнаяКатегорияЦен;


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

ПечНаименование=док.ПолучитьАтрибут("Товар");

ЦенаТовара = глВернутьЦену(док.Товар,ТипРозничной);
ПечРозн=ЦенаТовара.Цена.Получить(РабочаяДата());
ПечКод=Док.Товар.Код;

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


КонецПроцедуры


Процедура ПечПоСкл()

Таб=СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("МойЦенник");
ЧислоСтрок=0;
Столбик=3;
Ряд=0;


ТипРозничной = Константа.РозничнаяКатегорияЦен;


Спр=СоздатьОбъект("Справочник.Номенклатура");
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент()>0 Цикл
тов=Спр.ТекущийЭлемент();

Если тов.ЭтоГруппа() =1 Тогда
Продолжить;
КонецЕсли;



Кол=Регистр.ОстаткиТоваров.СводныйОстатки(глПустаяФирма,тов,ВыбСкл,"ОстатокТовара");



Если кол=0 Тогда
Продолжить;
КонецЕсли;

Сообщить(Кол);

ПечНаименование=спр.Наименование;

ЦенаТовара = глВернутьЦену(Спр.Наименование,ТипРозничной);
ПечРозн=ЦенаТовара.Цена.Получить(РабочаяДата());

ПечКод=спр.Код;


для ххх=1 по Кол Цикл
ДобавитьЦенник();
КонецЦикла;


КонецЦикла;


//Вызов выходного отчета в окно просмотра и редактирования.
Таб.Опции(0,0,0,0,ПарСтрСпр);
Таб.Показать("МойЦенник");


КонецПроцедуры


// принажатии кнопки печать
Процедура старт()
Если ИзДок=1 Тогда
ПечПоДок();
Иначе
ПечПоСкл();
КонецЕсли;



КонецПроцедуры


Процедура приоткрытии ()



Форма.ИспользоватьСлой("Основной", 2);
Конецпроцедуры

// идет выбр видимых слоев для ввода данных
процедура ПриВыбореПерек()
если ИзДок = 1 тогда
Форма.ИспользоватьСлой("Основной, док",2);
иначе
Форма.ИспользоватьСлой("Основной, Скл", 2);
конецЕсли
конецПроцедуры
+
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
31. Altair777 644 30.07.09 14:30 Сейчас в теме
Chel пишет:
так все и стояло изначально, все равно ошибка


Я спросил не о том, как оно стояло. Я спросил о том, как оно сейчас.
Потому что изначально стояло так:
Chel пишет:
ЦенаТовара = глВернутьЦену(Спр.Наименование,ТипРозничной);

см (1)

Полный текст в студию :-)
+
32. Chel 4 30.07.09 15:07 Сейчас в теме
 	Перем ПечЕдиница, ПечНаименование,ПечРозн,ПечКод;
	Перем ЦенаТовара;
	Перем ТипРозничной;
	перем ТаблЗнач;
	перем документ;
	перем тов; 
	перем ТипЦены;
	перем КолТов; 
	перем ТабЗнач, ххх;
	Перем Таб;
    Перем ЧислоСтрок;
 	Перем Столбик;
 	Перем Ряд;
    
	
  Процедура ДобавитьЦенник() 
  
  	 	

Столбик = ?(Столбик = 0, 1, ?(Столбик = 1, 2, ?(Столбик = 2, 3, ?(Столбик= 3,4,0)))); 
Ряд=?(Столбик=0,Ряд+1,Ряд);
			Если Ряд=8 Тогда
				Таб.НоваяСтраница();
				Ряд=1;
			КонецЕсли;
			  Если Ряд>ЧислоСтрок Тогда 
		     
			 	      Если Столбик=0 Тогда
					Таб.ВывестиСекцию("Товар|Ценник");
				      иначе
				    Таб.ПрисоединитьСекцию("Товар|Ценник");
				      КонецЕсли;
		
				глОживить(1);
		 	КонецЕсли;

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

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

 	ПечНаименование=спр.Наименование;
 	
 	
  ЦенаТовара = глВернутьЦену(спр,ТипРозничной);
 	ПечРозн=ЦенаТовара.Цена.Получить(РабочаяДата());
     
 	ПечКод=спр.Код;
 	
 	
 	    для ххх=1 по Кол Цикл
 		ДобавитьЦенник();
        КонецЦикла;
    		
 		
 КонецЦикла;
 	
 	
 	//Вызов выходного отчета в окно просмотра и редактирования.
	Таб.Опции(0,0,0,0,ПарСтрСпр);
	Таб.Показать("МойЦенник");
 	
 	
 КонецПроцедуры	
            

// принажатии кнопки печать  
  Процедура старт()
	Если ИзДок=1 Тогда
	     ПечПоДок();
	Иначе
		 ПечПоСкл();
	КонецЕсли;
	 
	 	 	    
	 	
КонецПроцедуры	
		  

 Процедура приоткрытии () 
 	
 	
 	
Форма.ИспользоватьСлой("Основной", 2);
Конецпроцедуры 

 // идет выбр видимых слоев для ввода данных
процедура ПриВыбореПерек()
если ИзДок = 1 тогда
Форма.ИспользоватьСлой("Основной, док",2);
иначе
Форма.ИспользоватьСлой("Основной, Скл", 2);
конецЕсли
конецПроцедуры  
   
Показать
+
2. jmw 60 25.07.09 06:58 Сейчас в теме
А если
Кол=Регистр.ОстаткиТоваров.СводныйОстатки(глПустаяФирма,тов,ВыбСкл,"ОстатокТовара");

изменить на
Кол=Регистр.ОстаткиТоваров.СводныйОстатки(,тов,ВыбСкл,"ОстатокТовара");
+
3. Tatitutu 3855 25.07.09 13:56 Сейчас в теме
да нет...
лучше
Кол=Регистр.ОстаткиТоваров.СводныЕОстатки(глПустаяФирма,тов,ВыбСкл,"ОстатокТовара");
+
4. Chel 4 26.07.09 11:22 Сейчас в теме
для Tatitu, пишет вот такую гадость


Кол=Регистр.ОстаткиТоваров.СводныЕОстатки(глПустаяФирма,тов,ВыбСкл,"ОстатокТовара");;
{E:\ПРОГРАММИРОВАНИЕ 1С\ПЕЧАТЬ ЦЕННИКОВ МОЯ.ERT(106)}: Слишком много параметров передано при вызове функции/процедуры объекта
+
6. Altair777 644 26.07.09 11:37 Сейчас в теме
(4) Структуру регистра опишите (Измерения, Ресурсы)

(5) Это описка. Подразумевалось - СводныйОстаток

И, вообще, можно и ЖКК почитать, и в СП заглянуть :-)
+
7. Chel 4 26.07.09 11:52 Сейчас в теме
Альтаир Павленко пишет:

(4) Структуру регистра опишите (Измерения, Ресурсы)



(5) Это описка. Подразумевалось - СводныйОстаток



И, вообще, можно и ЖКК почитать, и в СП заглянуть :-)
[/IS-QUOTE]
Пасибо, та была просто опечатка...



Подскажите Еще:

ЦенаТовара = глВернутьЦену(Спр,ТипРозничной);
ПечРозн=ЦенаТовара.Цена.Получить(РабочаяДата());

ПечРозн=ЦенаТовара.Цена.Получить(РабочаяДата());
{E:\ПРОГРАММИРОВАНИЕ 1С\ПЕЧАТЬ ЦЕННИКОВ МОЯ.ERT(119)}: Значение не представляет агрегатный объект (Цена)


Что здесь не так??
+
5. Chel 4 26.07.09 11:24 Сейчас в теме
Для Jurii, пишет такую гадось:

Кол=Регистр.ОстаткиТоваров.СводныйОстатки(,тов,ВыбСкл,"ОстатокТовара");
{E:\ПРОГРАММИРОВАНИЕ 1С\ПЕЧАТЬ ЦЕННИКОВ МОЯ.ERT(106)}: Поле агрегатного объекта не обнаружено (СводныйОстатки)
+
8. Tatitutu 3855 26.07.09 12:15 Сейчас в теме
(0) ты с первый вопросом разобрался ?
СводныйОстаток
и
СводныеОстатки
две разные вещи
у тебя была опечатка , я тебе ее указал ( с ресурсами и измерения - извините телепаты на отдыхе, сегодня воскресенье)

чему равен ЦенаТовара ?
скорее всего ЦенаТовара - пустое значение возвращает или реквизит Цена не является периодическим ?
+
9. Chel 4 26.07.09 13:17 Сейчас в теме
С первым вопросом разобрался, всем Большое пасибо.

а второй

ТипРозничной = Константа.РозничнаяКатегорияЦен;
ЦенаТовара = глВернутьЦену(Спр,ТипРозничной);
ПечРозн=ЦенаТовара.Цена.Получить(РабочаяДата());


Вылетает ошибка
ПечРозн=ЦенаТовара.Цена.Получить(РабочаяДата());
{E:\ПРОГРАММИРОВАНИЕ 1С\ПЕЧАТЬ ЦЕННИКОВ МОЯ.ERT(119)}: Значение не представляет агрегатный объект (Цена)
+
10. Altair777 644 26.07.09 13:21 Сейчас в теме
(9)
ЦенаТовара - это справочник?
А есть в нем реквизит Цена?
Кстати, а если есть, он периодический?
+
13. magus 27.07.09 00:56 Сейчас в теме
(9)
Пиши так:
ТипРозничной = Константа.РозничнаяКатегорияЦен;
ПечРозн=0;
глВернутьЦену(Спр,ТипРозничной,РабочаяДата(),ПечРозн);


или так:
ТипРозничной = Константа.РозничнаяКатегорияЦен;
ЦенаТовара = 0;
глВернутьЦену(Спр,ТипРозничной,,,,,,ЦенаТовара);
ПечРозн=ЦенаТовара.Цена.Получить(РабочаяДата());
+
11. Chel 4 26.07.09 13:28 Сейчас в теме
Внесу ясность. Я новичек в этом, это моя первая обработка.

эту процедуру где-то с юзал, при печати из документов она работает, при печати из складов, нет.((Текст программы представлен с верху))

Поэтому задавайте вопросы как чайнику.
+
12. Chel 4 26.07.09 23:05 Сейчас в теме
ну подскажите как добить эту обработку...
+
14. Chel 4 27.07.09 23:11 Сейчас в теме
и в 1 и 2 примерах пишет ошибку : Слишком много фактических параметров
+
15. Tatitutu 3855 28.07.09 09:19 Сейчас в теме
(14) найди процедуру глВернутьЦену() и напиши ее код полностью здесь, посмотрим.
+
16. Chel 4 28.07.09 12:16 Сейчас в теме
17. Tatitutu 3855 28.07.09 12:27 Сейчас в теме
(16) пример
процедура глТест(а,в) // имеет два параметра
а ты ее из модуля вызываешь как глТест(100,Выбзнач,Склад)
вот она и ругается Слишком много фактических параметров

я тебе поэтому и посоветовал найди где прописана
процедура глВернутьЦену() //судя по префикс гл она находится в глобальнике (но я могу и ошибаться)
+
18. Chel 4 28.07.09 13:41 Сейчас в теме
Там все перековырял, не выходит


ПОДСКАЖИТЕ КАК МОЖНО ПО ДРУГОМУ, ПОЛУЧИТЬ РОЗНИЧНУЮ ЦЕНУ ТОВАРА?!?!?!?!
+
19. Altair777 644 28.07.09 13:51 Сейчас в теме
(18) Не зная Вашей конфигурации, посоветовать тяжело.
+
35. Altair777 644 30.07.09 15:27 Сейчас в теме
да, вылетает на "Авансовом платеже"
я чуть-чуть переделал
ПечНаименование=спр.Наименование; 
ЦенаТовара = глВернутьЦену(спр,ТипРозничной); 
Сообщить(ПечНаименование+"............................ ");
ПечРозн=ЦенаТовара.Цена.Получить(РабочаяДата());
Сообщить(ПечНаименование+", "+ПечРозн);


Алюминий............................
Алюминий, 900
Медь............................
Медь, 450
Ботики (без НДС)............................
Ботики (без НДС), 18
Ложка............................
Ложка, 4.5
Чашка............................
Чашка, 4.5
Авансовый платеж............................
ПечРозн=ЦенаТовара.Цена.Получить(РабочаяДата());
{C:\DOCUMENTS AND SETTINGS\ADMIN\МОИ ДОКУМЕНТЫ\INFOSTART\ЦЕННИК.ERT(18)}: Значение не представляет агрегатный объект (Цена)
+
20. Chel 4 28.07.09 14:04 Сейчас в теме
21. Altair777 644 28.07.09 14:13 Сейчас в теме
(20) у меня 7.70.014, но в этих местах ничего не менялось :-)

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


Поэтому:
глВернутьЦену(Спр,ТипРозничной);
+
34. Tatitutu 3855 30.07.09 15:22 Сейчас в теме
ну тогда только
если как в (21)
Функция глВернутьЦену(Товар, КатегорияЦены) Экспорт
Перем ЦеныТовара;
Перем Результат;

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

Если ЦеныТовара.КатегорияЦены = КатегорияЦены Тогда
Результат = ЦеныТовара.ТекущийЭлемент();
Прервать;
КонецЕсли;
КонецЦикла;

Возврат Результат;
КонецФункции
Показать


если у товара нет элементов подчиненном справочнике, что вернет функция ? пустоезначение , т.к перем Результат ни чему не равна.

и поэтому и вылетает ошибка в

ЦенаТовара = глВернутьЦену(спр,ТипРозничной);
ПечРозн=ЦенаТовара.Цена.Получить(РабочаяДата());


попробуй так

если

ЦенаТовара = глВернутьЦену(спр,ТипРозничной);
Если ПустоеЗначение(ЦенаТовара)=0 Тогда
ПечРозн=ЦенаТовара.Цена.Получить(РабочаяДата());
Иначе
Сообщить (Строка(Тов) +" - вот здесь собака порылась");
КонецЕсли;
+
37. Altair777 644 30.07.09 16:13 Сейчас в теме
в (34) есть подсказка

А, вообще, надо так
Меняйте
ПечРозн=ЦенаТовара.Цена.Получить(РабочаяДата());

на
Если ПустоеЗначение(ЦенаТовара)=1 Тогда
	Сообщить("Пропущено: "+ПечНаименование);
	Продолжить;
Иначе
	ПечРозн=ЦенаТовара.Цена.Получить(РабочаяДата());
КонецЕсли;
+
39. Altair777 644 30.07.09 16:15 Сейчас в теме
+(37)
вот что дала типовая демка ТиС

Пропущено: Авансовый платеж
Пропущено: Товары в ассортименте
Пропущено: Частичная отгрузка
Пропущено: Перевозка
Пропущено: Продажа товара
Пропущено: Услуга
+
22. Chel 4 28.07.09 14:32 Сейчас в теме
вставил так ПечРозн=глВернутьЦену(Спр,ТипРозничной);

ценники печатает со знаком <>, вместо цены
+
23. Altair777 644 29.07.09 14:59 Сейчас в теме
(22)
ЦенаТовара = глВернутьЦену(Спр,ТипРозничной); 
ПечРозн=ЦенаТовара.Цена.Получить(РабочаяДата()); 
+
25. Tatitutu 3855 29.07.09 22:12 Сейчас в теме
Открой в конфигураторе
Справочник Цены
посмотри есть у него реквизит Цена
если есть зайди в его свойства это элемент периодический (стоит галочка ?)

хотя судя по (22)

посмотри еще чему равна Константа.РозничнаяКатегорияЦен (ее тип)
+
24. Chel 4 29.07.09 20:55 Сейчас в теме
Пишет вот такую пакость,,,,,,,ХЕЛП МИ!!!


ПечРозн=ЦенаТовара.Цена.Получить(РабочаяДата());
{E:\ПРОГРАММИРОВАНИЕ 1С\ПЕЧАТЬ ЦЕННИКОВ МОЯ.ERT(118)}: Значение не представляет агрегатный объект (Цена)
+
27. Altair777 644 30.07.09 12:13 Сейчас в теме
(24) в моей типовой это работает.

этот кусок изменили?!!!!
ЦенаТовара = глВернутьЦену(Спр.Наименование,ТипРозничной);
на
ЦенаТовара = глВернутьЦену(Спр,ТипРозничной);
+
26. Chel 4 29.07.09 22:34 Сейчас в теме
1 галочка стоит он переодитеский

2 = Розничная
+
28. Chel 4 30.07.09 14:04 Сейчас в теме
так все и стояло изначально, все равно ошибка,

у меня эти операции стоят во всех обработках и работают нормально


мне кажется где-то ошибка в
Спр=СоздатьОбъект("Справочник.Номенклатура");
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент()>0 Цикл
тов=Спр.ТекущийЭлемент();


он как-то неправильно но верное берет значения товара и от сюда конфликт, ЧТО ДУМАЕТЕ???
+
29. Tatitutu 3855 30.07.09 14:07 Сейчас в теме
вот она твоя ошибка (и заметь ТЫ ее САМ нашел, нашел в чем причина - Молодец)

у Группы нет реквизита Цена

в цикле добавь:

Если Спр.ЭтоГруппа()=1 //это группа пропустим
Продолжить;
КонецЕсли;
+
30. Chel 4 30.07.09 14:21 Сейчас в теме
стояло изначально(см. в самом начале)

Если тов.ЭтоГруппа() =1 Тогда
Продолжить;
КонецЕсли;
+
33. Chel 4 30.07.09 15:08 Сейчас в теме
НЕ РАБОТАЕТ ПРОЦЕДУРА Процедура ПечПоСкл()
+
36. Chel 4 30.07.09 16:08 Сейчас в теме
так что делать, я немного потерялся...
+
38. Tatitutu 3855 30.07.09 16:13 Сейчас в теме
попробуй так

если

ЦенаТовара = глВернутьЦену(спр,ТипРозничной);
Если ПустоеЗначение(ЦенаТовара)=0 Тогда
ПечРозн=ЦенаТовара.Цена.Получить(РабочаяДата());
Иначе
Сообщить (Строка(Тов) +" - вот здесь собака порылась");
КонецЕсли;

и посмотри что за сообщение появится.
+
40. Chel 4 30.07.09 16:23 Сейчас в теме
о великие умы ЗаРаБотаЛо

вставил это
Если ПустоеЗначение(ЦенаТовара)=1 Тогда
   Сообщить("Пропущено: "+ПечНаименование);
   Продолжить;
Иначе
   ПечРозн=ЦенаТовара.Цена.Получить(РабочаяДата());
КонецЕсли;
+
42. Altair777 644 30.07.09 16:27 Сейчас в теме
(40) Молодец!

нема за що :-)
+
41. Chel 4 30.07.09 16:25 Сейчас в теме
только опять что-то нехорошее вылетает

на складе товар 1шт, а ценника печатает 2шт, Где я затупил??
+
43. Chel 4 30.07.09 16:34 Сейчас в теме
эта операция покажет количество товара на выбраном складе и определенного товара???

Кол=Регистр.ОстаткиТоваров.СводныйОстаток(,тов,ВыбСкл,"ОстатокТовара");
+
44. Altair777 644 30.07.09 16:39 Сейчас в теме
(43) да, по всем фирмам
что-то не так в процедуре ДобавитьЦенник(), кажется
сорри, нет времени разбираться сейчас
эх.... Ёпрста сюда бы... :-)
+
45. Chel 4 30.07.09 16:42 Сейчас в теме
а может тут бока

Если кол=1 Тогда
 		ДобавитьЦенник();
 	Иначе
 		для ххх=1 по Кол Цикл
 		ДобавитьЦенник();
        КонецЦикла;
    	КонецЕсли;	
+
46. Tatitutu 3855 30.07.09 16:46 Сейчас в теме
(45) возьми себе домашним заданием
//найди сам где . Подсказка

когда получил значение Кол=...
напиши
Сообщить (Кол);
потом сравни с количеством ценников.
+
47. Chel 4 30.07.09 16:52 Сейчас в теме
уже голова подкипает, после цены этой
+
48. Chel 4 30.07.09 17:05 Сейчас в теме
проверил это тупит я или
Кол=Регистр.ОстаткиТоваров.СводныйОстаток(,тов,ВыбСкл,"ОстатокТовара");


задваевает остатки
+
49. Chel 4 30.07.09 17:06 Сейчас в теме
Подскажите почему, задваевает???
+
52. Tatitutu 3855 30.07.09 17:24 Сейчас в теме
(49) вот ты вопросы задаешь )))
"дайте воды попить, а то так есть хочется, что переночевать негде"

на этот вопрос ты ДОЛЖЕН сам себе ответить.
это уже совершенно другая история.

берешь новую обработку пишешь
называешь что то типа "Движение товара по регистрам"

берешь регистр
устанавливаешь фильтр на выбранный товар
выбираешь движения
документы - и смотришь какой документ у тебя этот товар записал и КАК ЗАПИСАЛ в регистр.
+
50. Chel 4 30.07.09 17:22 Сейчас в теме
заменил
Кол=Регистр.ОстаткиТоваров.СводныйОстаток(,тов,ВыбСкл,"ОстатокТовара");

на
Кол=Регистр.ОстаткиТоваров.Остаток(,тов,ВыбСкл,"ОстатокТовара");
+
51. Chel 4 30.07.09 17:23 Сейчас в теме
уже все работает


ВСЕМ КТО ПРИНИМАЛ УЧАСТИЕ ОГРОМНОЕ СПАСИБО.
+
53. Chel 4 30.07.09 17:27 Сейчас в теме
P.S. Кстати если надо могу выложить это творение?!?!
+
54. Tatitutu 3855 30.07.09 17:27 Сейчас в теме
по твоим словам

Регистр.ОстаткиТоваров.СводныйОстаток(,тов,ВыбСкл,"ОстатокТовара")
=
2 * Регистр.ОстаткиТоваров.Остаток(,тов,ВыбСкл,"ОстатокТовара")

и это все работает ?
+
55. Chel 4 30.07.09 17:32 Сейчас в теме
заменил
Код
Кол=Регистр.ОстаткиТоваров.СводныйОстаток(,тов,ВыбСкл,"ОстатокТовара");

на
Код
Кол=Регистр.ОстаткиТоваров.Остаток(,тов,ВыбСкл,"ОстатокТовара");


все работает проверял по остаткам все гуд
+
56. Tatitutu 3855 30.07.09 17:39 Сейчас в теме
что в (55) работает я поняла, работать можно по разному
меня инетересует (54)
не всегда главное найти ошибку, иногда лучше понять проблему изза чего она возникает.
+
57. Altair777 644 30.07.09 17:52 Сейчас в теме
(56) там все верно
первое измерение Фирма
и движения (и остатки тоже) идут задвоенные, двумя строками
1) без Фирмы
2) с Фирмой
+
59. poppy 30.07.09 18:21 Сейчас в теме
(56) ТиС для Украины сделана на основе типовой ТиС ред 8.х

Там на регистрах ведется два учета - Упр и Фин. Поэтому и сводные остатки задвоенные.
Уравнение из (54) будет верно, только в том случае, если все документы учавствуют в обоих учетах (Общ).

Общ = Упр + Фин;
Общ = 2*Упр, когда Упр = Фин.
+
60. Tatitutu 3855 30.07.09 18:28 Сейчас в теме
(59) Спасибочки.Теперь понятненько.
+
58. Chel 4 30.07.09 17:57 Сейчас в теме
блин такие грамотные люди хочется поговорить на другую тему.

Скажите милые 1с-чики есть ли книга с примерами описаний или как при покупке лицензионной 1с дают книги по бухгалтерию, есть ли книги по ТиС.
+
61. Chel 4 06.08.09 22:30 Сейчас в теме
SOS SOS SOS

Я опять нашел маленький изъян в программке.

Помогите , при печати по документам первая позиция не выходит на печать, если товара более одного то не выходит один ценник. Натолкните на путь истинный?????????????????????????????????
+
62. Altair777 644 07.08.09 10:53 Сейчас в теме
(61) Самое превое неправильное это Процедура ДобавитьЦенник()
Если Ряд>ЧислоСтрок Тогда
+
63. Chel 4 07.08.09 20:53 Сейчас в теме
все работает нормально ,кроме не печатает первый ценник. В чем неправильный этот код?
Если Ряд>ЧислоСтрок Тогда
+
64. Altair777 644 10.08.09 10:49 Сейчас в теме
(63) Потому что при печати первого ценника Ряд=0 и ЧислоСтрок=0
поэтому он и не печатается
+
65. Chel 4 10.08.09 16:33 Сейчас в теме
Вот этот код вообще убрал
Если Ряд>ЧислоСтрок Тогда


А этот изменил
Столбик=5;
 	Ряд=0;


И все заработало.
+
66. Altair777 644 10.08.09 16:39 Сейчас в теме
67. Altair777 644 10.08.09 16:44 Сейчас в теме
to Chel
Кстати, позволю себе дать небольшой совет.
Имхо, конструкции типа
Столбик = ?(Столбик = 0, 1, ?(Столбик = 1, 2, ?(Столбик = 2, 3, ?(Столбик= 3,4,0))));
(см 32) тяжело воспринимаются. Особенно когда разбираешься в чужом коде. Или даже если в своем, но через время.
А не проще ли так?
Если Столбик=4 Тогда
	Столбик=0;
Иначе
	Столбик=Столбик+1;
КонецЕсли;
+
68. Chel 4 10.08.09 18:28 Сейчас в теме
если честно я даже не понимаю что этот код делает
Столбик = ?(Столбик = 0, 1, ?(Столбик = 1, 2, ?(Столбик = 2, 3, ?(Столбик= 3,4,0))));


я просто догадался по смыслу как увеличить количество столбов
+
69. Chel 4 10.08.09 18:30 Сейчас в теме
такая строка была в родном конфигураторе на базе ее я и создавал обработку
+
70. Chel 4 10.08.09 18:39 Сейчас в теме
А вообще зачем там Ряд и Столбик где они применяются там вроде печать идет добавить или прикрепить таблицу.
+
71. Altair777 644 11.08.09 10:28 Сейчас в теме
Chel пишет:
если честно я даже не понимаю что этот код делает

Увеличивает номер столбца, пока он не станет равным 4

Chel пишет:
А вообще зачем там Ряд и Столбик где они применяются

Посмотрите мою обработку http://infostart.ru/projects/4958/, может догадаетесь :-)
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот