| 
			| 
					
						| Павел 
								Гость
 | 
								|  | «  : 14-05-2008 12:58 »  |  | 
 
 Доброго времени суток! Знаю Delphi, решил научится 1с, а то теперь специалисты нужны по 1с а мне работать хочется,  книги пока нет, скоро куплю, пока возникла задача:
 составит отчет по типу:  склад | наименование товара | сколько сегодня продано | сумма продажи | сколько осталось на складе | цена за одну единицу
 
 и если можно, то время покупки, кто купил (контрагент) и на какую сумму.
 ПОЖАЛУЙСТА напишите как будет выглядеть модуль отчета т.е. какие запросы составлять, как в цикле их обрабатывать, в общем как можно подробнее. от этого зависит мой первый опыт написания сложного и дальнейшее понимание. Спасибо соратники программисты, надеюсь на помощь!
 |  
						| 
								|  |  
								| « Последнее редактирование: 19-05-2008 05:57 от Sel » |  Записан | 
 |  |  | 
	| 
			| 
					
						| Kivals | 
								|  | « Ответ #1 : 14-05-2008 20:37 »  |  | 
 
 Интересно - вот если бы я тебя попросил составить такой же запрос для MS SQL (или Firebird - не важно) не указывая для какой именно БД это сделать - ты бы смог ответить?   |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Павел 
								Гость
 | 
								|  | « Ответ #2 : 15-05-2008 15:11 »  |  | 
 
 Ссори)   Бугалтерия 7.7 Торговля и склад 9.2 dbf |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Kivals | 
								|  | « Ответ #3 : 15-05-2008 17:42 »  |  | 
 
 В этой конфе у тебя есть регистр ОстаткиТМЦ. Создаешь новый внешний отчет/обработку, в модуле формы выбираешь в меню Конструкторы/Запрос... На первой странице указываешь выбирать период в форме и дальше балуешься с указанным регистром (конструктор тебе сгенерит запрос, процедуру и таблицу вывода). Когда получишь какие-то конкретные результаты - возникнут конкретные вопросы. Пиши снова сюда   |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Павел 
								Гость
 | 
								|  | « Ответ #4 : 16-05-2008 12:20 »  |  | 
 
 Спасибо) Разобрался! сделал по периодам, по складам.Следующий вопрос:
 А если отчет надо сохранить в файл или передать в базу данных на серве, как это сделать?
 Если не трудно то кодом или в файл или в базу на серв база mysql.
 Спасибо!
 
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Kivals | 
								|  | « Ответ #5 : 17-05-2008 09:45 »  |  | 
 
 "Сохранить в файл" - понятие растяжимое... Объект типа "Таблица" (который у тебя создается конструктором зароса и выводится на экран) имеет метод Записать(), в котором можно указать тип файла: 0 или ''MXL'' - формат 1C; 1 или ''XLS'' - формат Ms Excel; 2 или ''HTM'' или ''HTML'' - формат HTML; 3 или ''TXT'' - формат TXT. Все прочие форматы (в частности XML) нужно реализовывать самостоятельно (возможно - с помощью сторонних компонент). Доступ к БД в 1С чаще всего осуществляется через ADOBD: Примечание:	СтрокаСоединения=Шаблон("driver={MySQL ODBC 3.51 Driver};server=[СерверБД];port=[ПортСервера];"+"database=[БазаДанных];uid=[ИмяПользователяБД];pwd=[ПарольБД]");
 // Параметры server,port,uid,pwd можно опустить - будут использованы значения по умолчанию
 DBConn=CreateObject("ADODB.Connection");
 DBConn.Open(СтрокаСоединения);
 
 DBCmd=CreateObject("ADODB.Command");
 DBCmd.ActiveConnection=DBConn;
 
 // Выполняем комманду обновления
 DBCmd.CommandText="UPDATE table SET field1=value2 WHERE field2=value2";
 DBCmd.Execute();
 
 // Выполняем запрос с реультатами
 DBCmd.CommandText="SELECT * FROM table";
 RS=CreateObject("ADODB.Recordset");
 RS.Open(DBCmd);
 Пока (RS.EOF()=0) Цикл
 Стр="";
 Для И1=0 По (RS.Fields.Count-1) Цикл
 Стр=Стр+СимволТабуляции+RS.Fields(И1).Value;
 КонецЦикла;
 Сообщить(Стр);
 RS.MoveNext();
 КонецЦикла;
 к сожалению не все типы, присутствующие ADODB поддерживаются в 1С. Потому иногда придется делать приведение типов в самом запросе, что-то типа: SELECT field1::integer  FROM ... (синтаксис PostgreSQL - как в MySQL - не помню) |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Павел 
								Гость
 | 
								|  | « Ответ #6 : 19-05-2008 05:54 »  |  | 
 
 Спасибо! Понял! И, если можно), еще один вопросик: допустим создана обработка к примеру файлик test.ert на  диске C:Как запустить 1с, выполнить эту обработку ну и закрыть 1с, надо чтобы автоматически, т.е. кликнули по ярлыку и забыли.
 Спасибо, ссори если туплю.
 
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Harry 
								Модератор
								
								   Offline | 
								|  | « Ответ #7 : 19-05-2008 06:01 »  |  | 
 
 "C:\Program Files\1Cv77\BIN\1cv7.exe" ENTERPRISE /D\\Server\1CBases\Base /NName /PPass
 Например такой bat-файлик. А запуск самой обработки вставить в процедуру ПриНачалеРаботыСистемы(), с условием для конкретного пользователя.
 |  
						| 
								|  |  
								|  |  Записан | 
 
 Слабый пол силен в силу слабости сильного пола к слабому |  |  | 
	| 
			| 
					
						| Павел 
								Гость
 | 
								|  | « Ответ #8 : 19-05-2008 06:07 »  |  | 
 
 Круто, тогда опять вопрос: как узнать какой щас пользователь?Спасибо за ответы!
 
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Павел 
								Гость
 | 
								|  | « Ответ #9 : 19-05-2008 12:50 »  |  | 
 
 В базу данных то понял как перекидывать, но на серваке,где сайт, закрыт внешний доступ к базе mysql, придется через xml или excel,думаю буду через excel, а на сайте переводить его, если надо, в html страницу.
 извините, нор следующий вопрос: как  работать с excel файлами?
 как в них писать/читать из них?
 Спасибо!
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Harry 
								Модератор
								
								   Offline | 
								|  | « Ответ #10 : 19-05-2008 19:12 »  |  | 
 
 Круто, тогда опять вопрос: как узнать какой щас пользователь?Спасибо за ответы!
 
 
 Если СокрЛП(ИмяПользователя()) = "КакоеТоИмя" Тогда      ОткрытьФорму("Отчет",,"c:\obrabotka.ert");      //запуск самой обработки пишем в процедуре ПриОткрытии() обработки КонецЕсли; |  
						| 
								|  |  
								|  |  Записан | 
 
 Слабый пол силен в силу слабости сильного пола к слабому |  |  | 
	| 
			| 
					
						| Harry 
								Модератор
								
								   Offline | 
								|  | « Ответ #11 : 19-05-2008 19:20 »  |  | 
 
 извините, нор следующий вопрос: как  работать с excel файлами?как в них писать/читать из них?
 Спасибо!
 
 Например так: Окно=СоздатьОбъект("Excel.Application"); Окно.visible=1; Книги=Окно.WorkBooks; Книга=Книги.Add(); Страница=Книга.WorkSheets(1); ЯЧЕЙКА=Страница.Cells(1,3); Ячейка.Value="Клиент: "+Клиент; ЯЧЕЙКА=Страница.Cells(2,3); Ячейка.Value="Проект: "+Проект; ЯЧЕЙКА=Страница.Cells(3,3); |  
						| 
								|  |  
								|  |  Записан | 
 
 Слабый пол силен в силу слабости сильного пола к слабому |  |  | 
	| 
			| 
					
						| Павел 
								Гость
 | 
								|  | « Ответ #12 : 20-05-2008 14:41 »  |  | 
 
 Спасибо! Очень рад, что помогли разобраться! |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Павел 
								Гость
 | 
								|  | « Ответ #13 : 03-06-2008 16:52 »  |  | 
 
 У меня снова вопрос, точнее проблема:началась такая фигня: приходит товар его заносят, но продовать в этот же день, когда занесли нельзя.
 С чем это может быыть связано, что могло произойти? и как этого избегать?  и как вернуть все на место главно?
 Спасибо, ну извините, если может глупый и простецкий вопрос, ответте пожалуйста.
 это что то с точкой актуальности?
 
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Sla | 
								|  | « Ответ #14 : 03-06-2008 19:08 »  |  | 
 
 Павел, в данном случае нужно смотреть сам код процедуры "продажи" товараЕсли ты делаешь вывод о точке актуальности, то перенеси ее в удобное для тебя время, хотя я сильно сомневаюсь в ее виновности
 |  
						| 
								|  |  
								|  |  Записан | 
 
 Мы все учились понемногу... Чему-нибудь и как-нибудь. |  |  | 
	| 
			| 
					
						| Harry 
								Модератор
								
								   Offline | 
								|  | « Ответ #15 : 06-06-2008 08:04 »  |  | 
 
 Начнем с того: как выглядит это "нельзя"? Не проводятся расходные документы? Что пишет при этом? Какие продажные документы используются: РН, чек, расход на консигнацию, либо какой-то еще? Используемая конфигурация? В общем, надо больше исходных данных   |  
						| 
								|  |  
								| « Последнее редактирование: 06-06-2008 08:06 от Harry » |  Записан | 
 
 Слабый пол силен в силу слабости сильного пола к слабому |  |  | 
	| 
			| 
					
						| Павел 
								Гость
 | 
								|  | « Ответ #16 : 06-06-2008 08:05 »  |  | 
 
 Пишет что на складе 0 товара |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Harry 
								Модератор
								
								   Offline | 
								|  | « Ответ #17 : 06-06-2008 08:07 »  |  | 
 
 Понятно. Сравни даты и время приходной и расходной накладной. Не приходуются ли приходные накладные в конец дня? |  
						| 
								|  |  
								|  |  Записан | 
 
 Слабый пол силен в силу слабости сильного пола к слабому |  |  | 
	| 
			| 
					
						| Павел 
								Гость
 | 
								|  | « Ответ #18 : 06-06-2008 08:12 »  |  | 
 
 Спасибо, я так и предполагал,как проверю отпишусь. Спасибо!
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Павел 
								Гость
 | 
								|  | « Ответ #19 : 23-06-2008 20:47 »  |  | 
 
 ДА все здорово, фигня оказалась в том что приходные заносятся в конец дня. Пока все было хорошо, но снова появилась проблема:
 Есть склад и несколько торговых точек, на торговые точки приноситс с товаром флэшка, на ней, через распределенныеИБ
 информация о приходе товар, его стоимость и т.п. Добавилась в базу новая торговая точка, и случилось так что на торговую точку А приходят цены точки Б, и наоборот, причем с другими точками все ок.
 Ответь те пожалуйста что такое могло произойти, как этого впредь избежать и главное как привести впорядок будущие приходы товара? Пока ситуацию держу под контролем путем экспорта/импорта через обычные файлы. Но надо наладить что было раньше.
 Сразу оговорюсь, я незнаю как и после чего это началось, т.к. у фирмы был спец, но его уволили (спецу было 50 лет), взяли нового но и он не может,
 блин ПОМОГИТЕ очень надо тока сам начал в этом разбираться но такие проблемы пока не решал, ПОМОГИТЕ пожалуйста. Не дайте с голоду умереть, если сделаю буду там типо на пол ставки прогером. Очень хорошее место и тама можно заодно научится всему ремеслу на конкретных проблемах. Тока на вас надежда, фиг больше где помогут.
 Спасибо за терпение и понимание)
 
 
 
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Harry 
								Модератор
								
								   Offline | 
								|  | « Ответ #20 : 29-06-2008 14:14 »  |  | 
 
 Они и должны приходить, база-то типа общая. Можно, конечно, убрать миграцию для справочника (в конфигурации, контекстное меню). Но это не выход, сам товар, я так понимаю, должен обмениваться.Хотедось бы знать, какие установки УРБД для баз? (Администрирование/Распределенная ИБ/Управление).
 |  
						| 
								|  |  
								|  |  Записан | 
 
 Слабый пол силен в силу слабости сильного пола к слабому |  |  | 
	| 
			| 
					
						| Kivals | 
								|  | « Ответ #21 : 29-06-2008 14:30 »  |  | 
 
 Павел, проясни ситуацию:у тебя было несколько периферийных баз: X, Y, Z, ..., A и цены приходили как надо
 добавилась B - и на A стали приходить цены для B, а на B - цены для A ?
 
 или у тебя была до сих пор только одна периферийная база и добавилась вторая?
 
 Как хранятся цены? (напиши структуру объекта, в котором находятся цены)
 Я бы предположил что это подчиненный справочник для товаров, но недавно встретил товарищей, которые подобную инфу хранят в документах...
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| Павел 
								Гость
 | 
								|  | « Ответ #22 : 05-08-2008 20:03 »  |  | 
 
 Всем ПРОСТИТЕ что долго не писал! Проблему решил так - первоначальные файлы обмена заново загрузил... все тьфу тьфу встало на свои места.
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	|  |