Гость
Форумы / [игнор отключен] [закрыт для гостей] / Начал изучать 1С :)) / 24 сообщений из 24, страница 1 из 1
12.04.2007, 03:25
    #34454618
Alexsalog
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Начал изучать 1С :))
Ну вот, на старости лет, после Delphi, C++, C# и прочего понял что без 1С - зубы на полку.
Полез в енту систему, начал сразу с 8-ки. На 7.7. когда то что то делал, но ничего практически не помню.

С конфигуратором и языком программирования вроде все понятно, но как я вижу в 1С нет, например, системы событий.

То есть, о чем я говорю. Я попытался понять - как же сделать так, чтобы при выборе товара (в УПП товар выбирается из Номенклатора, а не из Прайс-листа, да и ладно...), цена таки проставлялась сама. Немного покрутил эти документы (поработал с ними) - поле Цена остается для ручного ввода, сама не заполняется.

Во первых непонятно - это что - во всех конфигурациях такая штука, что цену нужно самому писать???

Во-вторых - каково все-таки типовое решение для автоматического заполнения Цены при выборе номенклатуры???
...
Рейтинг: 0 / 0
12.04.2007, 03:47
    #34454622
Alexsalog
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Начал изучать 1С :))
Упс... разобралси... Есть тип ДокументОбъект, у него есть События...
Но теперь каша в голове: Есть объект конфигурации ДОКУМЕНТ, почему к нему идет сонм целы Типов, таких как:
ДокументыМенеджер
ДокументМенеджер
ДокументСписок
ДокументВыборка
ДокументОбъект
?

Особенно с Менеджерами не понятно. Чем отличаются от списка и в какие моменты возникают?
...
Рейтинг: 0 / 0
12.04.2007, 05:31
    #34454643
Alexsalog
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Начал изучать 1С :))
И еще вопрос: lопустим есть счета и есть оплаты (П/П). Я добавляю в эти документы поле: Сервисный договор.

Теперь я нахожусь в списке Сервисных договоров (новый такой..ммм.. ну справочник наверное, хотя это и не совсем справочник).

Я хочу, по нажатию кнопки "Расчеты" открыть форму в которой будет развернуто совмещены Начисления (суть - счета) и Оплата (суть П/П), притом естественнг ТОЛЬКО в разрезе данного договора.

КАК сделать???
Был бы Дельфи и вопрос бы не задавал. :)
...
Рейтинг: 0 / 0
12.04.2007, 09:20
    #34454837
Vacaтяф
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Начал изучать 1С :))
авторНачал изучать 1С :))
Прими мои соболезнования....
...
Рейтинг: 0 / 0
12.04.2007, 09:23
    #34454844
Лох 1С
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Начал изучать 1С :))
Советую прочитать хоть какую книжку по конфигурированию 8-ки!
90% вопросов исчезнут!
Концепция системы на порядок проще, особенно после С Шарп,
осваивается за месяц.
...
Рейтинг: 0 / 0
12.04.2007, 09:37
    #34454875
Dnnnn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Начал изучать 1С :))
сочувствую )
я вот тоже после Дельфей и запросов в Оракле села за 8-ку.
месяц уже сижу и ругаюсь про себя )
...
Рейтинг: 0 / 0
12.04.2007, 09:54
    #34454926
Лох 1С
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Начал изучать 1С :))
Dnnnnя вот тоже после Дельфей и запросов в Оракле села за 8-ку.
месяц уже сижу и ругаюсь про себя )
И зачем стоило из оракла уходить в 1С, там, что мало платят?
Я вот ушел на 8-ку из НАВ 3.6 из-за более высокой ЗП
...
Рейтинг: 0 / 0
12.04.2007, 10:08
    #34454972
Диченка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Начал изучать 1С :))
Лох 1С Dnnnnя вот тоже после Дельфей и запросов в Оракле села за 8-ку.
месяц уже сижу и ругаюсь про себя )
И зачем стоило из оракла уходить в 1С, там, что мало платят?
Я вот ушел на 8-ку из НАВ 3.6 из-за более высокой ЗП

Высокую зарплату платят не за "средство", а за конечный "результат" по итогам работы. А если вы не проявили себя во внедрениях Нава, то и на внедрениях 1це вы будете таким же середнячком.
...
Рейтинг: 0 / 0
12.04.2007, 10:20
    #34455018
Лох 1С
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Начал изучать 1С :))
авторВысокую зарплату платят не за "средство", а за конечный "результат" по итогам работы. А если вы не проявили себя во внедрениях Нава, то и на внедрениях 1це вы будете таким же середнячком.
С чего вы взяли, что я не проявил себя?
Это какому программисту навижена платят 3000-4000 за результат?
...
Рейтинг: 0 / 0
12.04.2007, 10:21
    #34455022
Dnnnnnnn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Начал изучать 1С :))
в общем-то да, суперспецам нормально везде.
а так... в регионах фиг найдешь оракле. а 1С где-нибудь и отыщется
...
Рейтинг: 0 / 0
12.04.2007, 10:30
    #34455064
iscrafm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Начал изучать 1С :))
Лох 1СЭто какому программисту навижена платят 3000-4000 за результат?
3000 или 4000?
...
Рейтинг: 0 / 0
12.04.2007, 10:33
    #34455076
по делу
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Начал изучать 1С :))
у 1с есть хорошая книга
еще в и-нете можно найти файл ЕСИС80.chm - хороший сборник статей
еще есть спец форумы - рекомендую itland.ru - там больше по делу отвечают

ЗЫ: такие вопросы как в заголовке задаются как раз на спец форумах
...
Рейтинг: 0 / 0
12.04.2007, 15:17
    #34456408
gybson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Начал изучать 1С :))
но как я вижу в 1С нет, например, системы событий.


"Ложечки то мы потом нашли, но вот осадок остался" (с) анек

Там, кстати, и система оповещения есть и динамически назначаемые обработчики событий.
540 рублей стоит версия для обучения программированию.
...
Рейтинг: 0 / 0
12.04.2007, 16:44
    #34456752
Сахават Юсифов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Начал изучать 1С :))
gybson
но как я вижу в 1С нет, например, системы событий.


"Ложечки то мы потом нашли, но вот осадок остался" (с) анек

Там, кстати, и система оповещения есть и динамически назначаемые обработчики событий.
540 рублей стоит версия для обучения программированию.
Где хоть эту версию скачать?
...
Рейтинг: 0 / 0
13.04.2007, 10:46
    #34458415
по делу
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Начал изучать 1С :))
Сахават Юсифов
Где хоть эту версию скачать?
здесь
...
Рейтинг: 0 / 0
13.04.2007, 11:53
    #34458702
Deosfen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Начал изучать 1С :))
"Я хочу, по нажатию кнопки "Расчеты" открыть форму в которой будет развернуто совмещены Начисления (суть - счета) и Оплата (суть П/П), притом естественнг ТОЛЬКО в разрезе данного договора.

КАК сделать???" - все это можно выкопать из РегистрБухгалтерии.
но не следует этого делать, т.к. все это реализовано в стандартных отчетах.
...
Рейтинг: 0 / 0
13.04.2007, 11:54
    #34458705
Deosfen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Начал изучать 1С :))
"ДокументыМенеджер
ДокументМенеджер
ДокументСписок
ДокументВыборка
ДокументОбъект"

доходчиво описал Митичкин.
...
Рейтинг: 0 / 0
13.04.2007, 18:47
    #34460367
stilet69
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Начал изучать 1С :))
ДокументыМенеджер
ДокументМенеджер
ДокументСписок
ДокументВыборка
ДокументОбъект

Хоть эти объекты и работают с одной сущностью - документом, но набор свойств у них разный. В зависимости от того, какой тебе конечный результат нужен, ты и используешь данные объекты. А вообще 8ку без книги нормальной не пытайся изучать. Начни с Радченко. После ее прочтения уже можно сформулировать вопросы. А так без знания фундамента это ничего не прояснит для тебя. наоборот запутаешься.
...
Рейтинг: 0 / 0
16.04.2007, 01:34
    #34462174
rassigor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Начал изучать 1С :))
AlexsalogНу вот, на старости лет, после Delphi, C++, C# и прочего понял что без 1С - зубы на полку.
Полез в енту систему, начал сразу с 8-ки. На 7.7. когда то что то делал, но ничего практически не помню.

С конфигуратором и языком программирования вроде все понятно, но как я вижу в 1С нет, например, системы событий.

То есть, о чем я говорю. Я попытался понять - как же сделать так, чтобы при выборе товара (в УПП товар выбирается из Номенклатора, а не из Прайс-листа, да и ладно...), цена таки проставлялась сама. Немного покрутил эти документы (поработал с ними) - поле Цена остается для ручного ввода, сама не заполняется.

Во первых непонятно - это что - во всех конфигурациях такая штука, что цену нужно самому писать???

Во-вторых - каково все-таки типовое решение для автоматического заполнения Цены при выборе номенклатуры???
В 1с Есть События, например Есть документ, в табличной части есть поле товар, в формуле на закладке дополнительно поля товар пишем:приВыбореТовара()

В самой форме пишем процедуру

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Процедура ПриВыбореТовара()         
	
	Если Товар.ПометкаУдаления() =  1  Тогда
		Сообщить("Товар помечен на удаление"); 
		Товар = "";
	    СтатусВозврата( 0 );
		Возврат;
	КонецЕсли;
	
	Если ТоргТочка.Выбран()= 0  Тогда
		Предупреждение("Укажите торговую точку!");
	Иначе
		Если ТоргТочка.РазрешенныйГрадус < Товар.Градус Тогда
			Предупреждение("Выбранный товар имеет больший градус, чем указанный в разрешении торговой точки!");
			Товар =  0 ;
			Возврат;
		КонецЕсли;
	КонецЕсли;
	глПересчетТаблЧасти(Контекст, "Товар"); 
	
Конецпроцедуры
То есть при выборе товара мы можем влиять,
глПересчетТаблЧасти(Контекст, "Товар")- это глобальная процедура в нее мы передаем контекст(всю форму)


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
// глПересчетТаблЧасти(Конт,ИмяРеквизита)
//
// Параметры:                
// 	Конт                   - контекст документа,
//	ИмяРеквизита           - идентификатор текущей колонки табличной части,

// Возвращаемое значение:
//  Нет
//
// Описание:
//	Производится пересчет зависимых реквизитов при редактировании реквизита 
//  табличной части в документах, имеющих сумму и налоги в табличной части,
//
Процедура глПересчетТаблЧасти(Конт, ИмяРеквизита) Экспорт  

	
	ДатаДок	= Конт.ДатаДок;
	Товар = Конт.Товар;
	Товар.ИспользоватьДату(ДатаДок, 1 );
	
	//ЕстьТипЦен	= глЕстьРеквизитШапки("ТипЦен",Конт.Вид());
	ЕстьЦенаОпт 	= глЕстьРеквизитМнЧ("ЦенаОпт", Конт.Вид());
	ЕстьНДСВЦене    = глЕстьРеквизитШапки("НДСВЦене",Конт.Вид());
	ЕстьУчитыватьНП = глЕстьРеквизитШапки("УчитыватьНП",Конт.Вид());
	ЕстьСуммаАкциз  = глЕстьРеквизитШапки("СуммаАкциз",Конт.Вид());
	
	Если ЕстьНДСВЦене = 1  Тогда
	    НДСВЦене = Конт.НДСВЦене;
	Иначе            
		//Для документов, где нет флага НДСВЦене, НДС в цене по умолчанию
		НДСВЦене =  1 ;
	КонецЕсли;

	Если Конт.Коэффициент =  0  Тогда
		Конт.Коэффициент = 	Товар.БазовыйКоэффициент;  
	КонецЕсли;      
	Конт.Единица = Товар.БазоваяЕдиница;
	ПроцентНДС   = ПроцентНДС(Товар.СтавкаНДС,Конт.ДатаДок);   
	
//** Товар **
	Если ИмяРеквизита = "Товар" Тогда       
		Если (Конт.Количество =  0 ) И (Товар.ВидТовара <> Перечисление.ВидыТоваров.Тара) Тогда
		    Конт.Количество  =  1 ;
		КонецЕсли;       
                  
		
		Если Конт.Вид() = "ЗаявкаФилиала" Тогда
	        Конт.Цена  = Товар.ЦенаОпт; 
			Конт.Сумма = Конт.Цена * Конт.Количество;
		КонецЕсли;	
		//ФВВ Конец  ================================
		
		Если (Конт.Вид() = "ПриходнаяНакл") ИЛИ (Конт.Вид() = "ПриходнаяНаклБА") ИЛИ (Конт.Вид() = "ПриходнаяНаклВес") Тогда
			//Получаем цену с НДС (Товар.ЦенаПрих всегда без НДС)
			Если (Товар.ВидТовара <> Перечисление.ВидыТоваров.Тара) И (Товар.ВидТовара <> Перечисление.ВидыТоваров.Кеги) Тогда
				Цена = ЦенаСНДС(Товар,Товар.ЦенаПрих,  0 , Конт.ДатаДок);    	
			Иначе
				Цена = Товар.ЦенаОпт;
			КонецЕсли;
			
	        Конт.Цена =  Цена;
			Если ЕстьЦенаОпт =  1  Тогда
				Конт.ЦенаОпт  = Товар.ЦенаОпт;    
				Конт.СуммаОпт = Конт.ЦенаОпт * Конт.Количество * Конт.Коэффициент; 
			КонецЕсли;                            
			// Последнее слово по поводу акциза у флага УчитвыатьАкциз
			Конт.СуммаАкциз = ?(Конт.УчитыватьАкциз =  0 , 0 ,Товар.СуммаАкциза * Конт.Количество*Конт.Коэффициент);
			
			//Сумма с НДС                    
			Конт.Сумма = Конт.Количество * ЦенаСНДС(Товар,Конт.Цена,НДСВЦене, Конт.ДатаДок) * Конт.Коэффициент;
			//Выкручиваем НДС
			Конт.НДС   = Конт.Сумма * ПроцентНДС(Товар.СтавкаНДС,Конт.ДатаДок) / ( 100  + ПроцентНДС(Товар.СтавкаНДС,Конт.ДатаДок));  
		
		ИначеЕсли Конт.Вид()="ВводОстатков" Тогда
			Цена	  =  ЦенаСНДС(Товар,Товар.ЦенаПрих,  0 , Конт.ДатаДок);    	
	        Конт.Цена =  Цена; 
			
			// Последнее слово по поводу акциза у флага УчитвыатьАкциз
			Конт.СуммаАкциз = ?(Конт.УчитыватьАкциз =  0 , 0 ,Товар.СуммаАкциза * Конт.Количество*Конт.Коэффициент);
			
			//Сумма с НДС                    
			Конт.Сумма = Конт.Количество * ЦенаСНДС(Товар,Конт.Цена,НДСВЦене, Конт.ДатаДок) * Конт.Коэффициент;
			//Выкручиваем НДС
			Конт.НДС   = Конт.Сумма * ПроцентНДС(Товар.СтавкаНДС,Конт.ДатаДок) / ( 100  + ПроцентНДС(Товар.СтавкаНДС,Конт.ДатаДок));  
		
		ИначеЕсли (Конт.Вид()="РасходнаяНакл") ИЛИ (Конт.Вид() = "РасходнаяНаклВес") Тогда 
			
			Цена = глПолучитьспецЦену(Конт.Клиент,Товар);
			Если Цена =  0  Тогда
				// спец. цена не установлена
				
				//Цена с НДС с акцизом без НП
				Если Конт.ДокументОснование.Выбран()= 0  Тогда
					Цена = ?(Конт.ТипЦены.БазоваяЦена =  2 ,Товар.ЦенаОпт,Товар.ЦенаПрих*( 100 +ПроцентНДС)/ 100 );
					
				Иначе    
					Если Конт.ДокументОснование.Склад.Акцизный= 0  Тогда
						//Тип цены  2  - базовая цена оптовая,  1  - приходная  с НДС ,  3  -по себестоимости (не исп-ся в р/н)
						Цена = ?(Конт.ТипЦены.БазоваяЦена =  2 ,Товар.ЦенаОпт,Товар.ЦенаПрих*( 100 +ПроцентНДС)/ 100 );
					Иначе	
						Если Конт.ТипЦены.БазоваяЦена =  2  Тогда
							Цена = Товар.ЦенаОпт;
						ИначеЕсли Конт.ТипЦены.БазоваяЦена =  1  Тогда
							Цена = Товар.ЦенаПрих*( 100 +ПроцентНДС)/ 100 ;
						ИначеЕсли Конт.ТипЦены.БазоваяЦена =  3  Тогда
						    Если (Товар.ВидТовара<>Перечисление.ВидыТоваров.Тара) Тогда
								Цена = (Товар.ЦенаПрих + Товар.СуммаАкциза+ 1 . 14 )*( 100 +ПроцентНДС)/ 100 + 0 . 02 ;
							Иначе	         
								Цена = Товар.ЦенаОпт;
							КонецЕсли;		
						КонецЕсли;
					КонецЕсли;    
				КонецЕсли;
				
				Если (Товар.ВидТовара <> Перечисление.ВидыТоваров.Тара) Тогда
					Цена  = Цена *( 1 -Конт.Скидка/ 100 );
				КонецЕсли;
				
				// К полученной цене применим скидку клиента (Если включен соотв. флаг)   
				Конт.Цена			= Цена*?(Конт.УчитыватьСкидкуКлиента =  1 ,
				( 100  - глСкидкаТоварКлиент(Товар, Конт.Клиент))/ 100 ,  1 );
				
				//Призак округления до  10  коппек. Только для непоср. родителя					
				Если Конт.ДокументОснование.Выбран()= 0  Тогда
					Если Товар.Родитель.Округлять= 1  Тогда
					    Конт.Цена	= Окр(Конт.Цена, 1 );    
					КонецЕсли;	 	
				Иначе	
					Если (Товар.Родитель.Округлять= 1 ) и (Конт.ДокументОснование.Склад.Акцизный= 0 ) Тогда
						Конт.Цена	= Окр(Конт.Цена, 1 );
					КонецЕсли;	 
				КонецЕсли;		
			Иначе
				Конт.Цена = Цена;
			КонецЕсли;
			Конт.Сумма 			= Конт.Цена*Конт.Количество*Конт.Коэффициент;
			// Последнее слово по поводу акциза у флага БезАкциза
			Конт.СуммаАкциз = ?(Конт.БезАкциза =  1 , 0 ,Товар.СуммаАкциза * Конт.Количество*Конт.Коэффициент);
			Конт.НДС  			= Конт.Сумма/( 100  + ПроцентНДС)*ПроцентНДС;
			Конт.Всего 			= Конт.Сумма;
			Конт.СуммаСкидки	= (Товар.ЦенаОпт - Конт.Цена)*Конт.Количество*Конт.Коэффициент;
		
		ИначеЕсли Конт.Вид() = "РасходнаяНаклБА" Тогда 
			
			Цена = глПолучитьспецЦену(Конт.Клиент,Товар);
			Если Цена =  0  Тогда
				// спец. цена не установлена
				
				//Цена с НДС с акцизом без НП
				Цена = ?(Конт.ТипЦены.БазоваяЦена =  2 ,Товар.ЦенаОпт,Товар.ЦенаПрих*( 100 +ПроцентНДС)/ 100 );
					
				Если (Товар.ВидТовара<>Перечисление.ВидыТоваров.Тара) Тогда
					Цена  = Цена *( 1 -Конт.Скидка/ 100 );
				КонецЕсли;
				
				// К полученной цене применим скидку клиента (Если включен соотв. флаг)   
				Конт.Цена			= Цена*?(Конт.УчитыватьСкидкуКлиента =  1 ,
				( 100  - глСкидкаТоварКлиент(Товар, Конт.Клиент))/ 100 ,  1 );
				
				//Призак округления до  10  коппек. Только для непоср. родителя					
				Если Товар.Родитель.Округлять= 1  Тогда
				    Конт.Цена	= Окр(Конт.Цена, 1 );    
				КонецЕсли;	 	
			Иначе
				Конт.Цена = Цена;
			КонецЕсли;
			Конт.Сумма 			= Конт.Цена*Конт.Количество*Конт.Коэффициент;
			// Последнее слово по поводу акциза у флага БезАкциза
			Конт.СуммаАкциз  = ?(Конт.БезАкциза =  1 , 0 ,Товар.СуммаАкциза * Конт.Количество*Конт.Коэффициент);
			Конт.НДС  		 = Конт.Сумма/( 100  + ПроцентНДС)*ПроцентНДС;
			Конт.Всего 		 = Конт.Сумма;
			Конт.СуммаСкидки = (Товар.ЦенаОпт - Конт.Цена)*Конт.Количество*Конт.Коэффициент;

		ИначеЕсли (Конт.Вид() = "СкладскоеПеремещение") ИЛИ (Конт.Вид() = "СкладскоеПеремещениеВес") Тогда
			//Цена с НДС с акцизом без НП           
			//Тип цены  2  - базовая цена оптовая,  1  - приходная  с НДС ,  3  -по себестоимости (не исп-ся в р/н)
			Цена = глПолучитьспецЦену(Конт.ПродКлиент,Товар); 
			Если Цена =  0  Тогда
				// спец. цена не установлена  
				Если Конт.Склад.Акцизный= 0  Тогда
					Цена = ?(Конт.ТипЦены.БазоваяЦена =  2 ,Товар.ЦенаОпт,Товар.ЦенаПрих*( 100 +ПроцентНДС)/ 100 );
				Иначе
					Если Конт.ТипЦены.БазоваяЦена =  2  Тогда
						Цена = Товар.ЦенаОпт;
					ИначеЕсли Конт.ТипЦены.БазоваяЦена =  1  Тогда
						Цена = Товар.ЦенаПрих * ( 100 +ПроцентНДС)/ 100 ;
					ИначеЕсли Конт.ТипЦены.БазоваяЦена =  3  Тогда
					    Если (Товар.ВидТовара <> Перечисление.ВидыТоваров.Тара) Тогда
							Цена = (Товар.ЦенаПрих + Товар.СуммаАкциза+ 1 . 14 )*( 100 +ПроцентНДС)/ 100 + 0 . 02 ;
						Иначе	         
							Цена = Товар.ЦенаОпт;
						КонецЕсли;		
					КонецЕсли;	
                КонецЕсли;
				
				Если (Товар.ВидТовара <> Перечисление.ВидыТоваров.Тара) Тогда
					Цена = Цена * ( 1 -Конт.Скидка/ 100 );
				КонецЕсли;       
				
				// К полученной цене применим скидку клиента (Если включен соотв. флаг)   
				Если ПустоеЗначение(Конт.ПродКлиент)= 1  Тогда
					Если ПустоеЗначение(Конт.СкладПолучатель.Клиент)= 0  Тогда
						Конт.ЦенаПрод = Цена*( 100  - глСкидкаТоварКлиент(Товар, Конт.СкладПолучатель.Клиент))/ 100 ;    
					Иначе
						Конт.ЦенаПрод = Цена;
					КонецЕсли;
				Иначе
					Конт.ЦенаПрод = Цена*( 100  - глСкидкаТоварКлиент(Товар, Конт.ПродКлиент))/ 100 ;	
				КонецЕсли;

				//Призак округления до  10  коппек. Только для непоср. родителя					
				Если (Товар.Родитель.Округлять= 1 ) и (Конт.Склад.Акцизный= 0 ) Тогда
					Конт.ЦенаПрод	= Окр(Конт.ЦенаПрод, 1 );    
				КонецЕсли;	
			Иначе
				Конт.ЦенаПрод = Цена;
				//Призак округления до  10  коппек. Только для непоср. родителя					
				Если Товар.Родитель.Округлять= 1  Тогда
					Конт.ЦенаПрод	= Окр(Конт.ЦенаПрод, 1 );    
				КонецЕсли;	
			КонецЕсли;
			
			Если Конт.Склад.Акцизный= 0  Тогда
				Конт.ЦенаПрод	= Окр(Конт.ЦенаПрод,Конт.СкладПолучатель.ПорядокОкругления);
			КонецЕсли;
			Конт.СуммаПрод		= Конт.ЦенаПрод*Конт.Количество*Конт.Коэффициент; 
			
			Если Конт.БезАкциза	=  1  Тогда
				Конт.СуммаАкциз	=  0 ;
			Иначе
				Конт.СуммаАкциз  = Товар.СуммаАкциза*Конт.Количество*Конт.Коэффициент;
			КонецЕсли;  
			
		ИначеЕсли Конт.Вид() = "РасходнаяРозн" Тогда
			//Цена с НДС с акцизом без НП           
			//Тип цены  2  - базовая цена оптовая,  1  - приходная  с НДС ,  3  -по себестоимости (не исп-ся в р/н)
			Цена	= ?(Конт.ТипЦены.БазоваяЦена =  2 , Товар.ЦенаОпт,Товар.ЦенаПрих*( 100 +ПроцентНДС)/ 100 );  
			
			Если (Товар.ВидТовара<>Перечисление.ВидыТоваров.Тара) Тогда
				Цена  = Цена *( 1 -Конт.Скидка/ 100 );
			КонецЕсли;       
			
			//Призак округления до  10  коппек. Только для непоср. родителя					
			Если Товар.Родитель.Округлять= 1  Тогда
				Конт.Цена	= Окр(Конт.Цена, 1 );    
			КонецЕсли;					
			Конт.Сумма 			= Конт.Цена*Конт.Количество*Конт.Коэффициент; 
			
		ИначеЕсли Конт.Вид() = "РасформированиеЗаявок" Тогда
			Конт.Сумма = Конт.Цена*Конт.Количество*Конт.Коэффициент;    
			//Выкручиваем НДС
			Конт.НДС   = Конт.Сумма * ПроцентНДС(Товар.СтавкаНДС,Конт.ДатаДок) / ( 100  + ПроцентНДС(Товар.СтавкаНДС,Конт.ДатаДок));  
		КонецЕсли;
		
	//** Количество и Цена **	
	ИначеЕсли  (ИмяРеквизита = "Количество") или (ИмяРеквизита = "Цена") Тогда  
	
		//ФВВ НАЧАЛО ================================
		Если Конт.Вид() = "ЗаявкаФилиала" Тогда
			Конт.Сумма = Конт.Цена * Конт.Количество;
		КонецЕсли;	
		//ФВВ Конец  ================================

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

КонецПроцедуры
То есть при передаче реквизит товар, в процедуре смотриться какой это документ и далее автоматически расчитываеться сумма, ндс и т.д.
в 1С так же есть другие события пример:ПриОткрытии()-при открытии формы, ПриЗаписи()-при записи формы, кароче читаем документацию, если нужна будет стучитесь у меня ее очень много, ибо я 1с программист,(пытающийся изучить C#)
...
Рейтинг: 0 / 0
16.04.2007, 02:04
    #34462183
Deosfen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Начал изучать 1С :))
to rassigor , Alexsalog написал "Полез в енту систему, начал сразу с 8-ки", код который ты привел из 7.7.
...
Рейтинг: 0 / 0
16.04.2007, 10:45
    #34462645
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Начал изучать 1С :))
Последнее из 7.7 а не из 8.0
...
Рейтинг: 0 / 0
16.04.2007, 11:42
    #34462929
rassigor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Начал изучать 1С :))
Меняються тока операторы, +в восьмерки поболее свойств всяких и событий, принцип везде один

После 1С-C#.NET Зверюга:):)
...
Рейтинг: 0 / 0
16.04.2007, 16:07
    #34463948
gybson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Начал изучать 1С :))
После 1С-C#.NET Зверюга:):)


Они принципиально разные и несравнимые вообще.
...
Рейтинг: 0 / 0
17.04.2007, 19:42
    #34467680
vde69
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Начал изучать 1С :))
AlexsalogНу вот, на старости лет, после Delphi, C++, C# и прочего понял что без 1С - зубы на полку.
Полез в енту систему, начал сразу с 8-ки. На 7.7. когда то что то делал, но ничего практически не помню.

С конфигуратором и языком программирования вроде все понятно, но как я вижу в 1С нет, например, системы событий.

То есть, о чем я говорю. Я попытался понять - как же сделать так, чтобы при выборе товара (в УПП товар выбирается из Номенклатора, а не из Прайс-листа, да и ладно...), цена таки проставлялась сама. Немного покрутил эти документы (поработал с ними) - поле Цена остается для ручного ввода, сама не заполняется.

Во первых непонятно - это что - во всех конфигурациях такая штука, что цену нужно самому писать???

Во-вторых - каково все-таки типовое решение для автоматического заполнения Цены при выборе номенклатуры???

здесь тебе вряд-ли помогут, тут большенство 1с просто на дух не переваривают , поищи другой форум, например http://www.forum.mista.ru/

а здесь хороший и уважаемый форум только не для 1с....
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Начал изучать 1С :)) / 24 сообщений из 24, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]