Вопрос № 101024: Здраствуйте, уважаемые эксперты
У нас в корпорации несколько компаний, для расчета ЗП каждой используется свой ЗиК 1С77, очень долго бухгалтеры заводили Виды Расчетов и в итоге они все разные. Я пытаюсь привести их к общему виду, но по многим &qu...Вопрос № 101030: Здравствуйте!!
как в восьмерке указать период, за который выбираются данные запроса???
и второе: неужели всегда надо писать так для расчета и последующего вывода в таблицу???
Строчка.Параметры.клн = Выборка.клиент;
в семерке можно был...Вопрос № 101047: Здравствуйте,
У меня такая проблема создать документ и заполнить из таблицы в формате excel (Конфигурация самодельная)
Вопрос
Как в 1с обратиться к определенной ячейке файла Excel(при помощи каких команд)?
Возможен л...Вопрос № 101055: УПП 8.0
Подскажите пожайлуста почему сотрудники принятые по договору с физ. лицом не отображаются в расчетных листках организаций.
Как видеть по ним нач. сальдо , начислено, удержано, к выплате?...Вопрос № 101064: Здравствуйте!
Испльзуется 1С Предприятие Торговля+Склад редакция 9.2
У нас установлено
1. Метод расчета себестоимости ТМЦ - FIFO
Что это означает, если можно, то в подробностях и как новичку!
2. Что такое партия товаров?
При п...Вопрос № 101067: Здравствуйте!!!
Приведенный код дает ошибку если не закоментирована строка |Сумма (Сумма) как всего
если закоментирована, то все в порядке, причем отладчик говорит, что не найдены поля, начиная с верхнего, т.е. номер, дата, и так далее. Проб...Вопрос № 101083: Эдравствуйте!!!
Хочу спросить вашего совета: А стоит ли в восьмерке изучать запросы, в семерке я прекрасно обходился и без них, мог сделать что угодно без использования запросов с компонентой бухучет. Мне кажется, что раз в восьмерке все перевели...Вопрос № 101114: Здравствуйте!
Как программно сравнить полученные реквизиты из файла и имеющиеся в справочнике и при совпадении заполнить документ по имеющимся реквизитам справочника?...Вопрос № 101142: Уважаемые эксперты, подскажите что делать. У меня база рарус автотранспорт, забил справочники, контрагенты, номенклатуру, но путевки не проводятся, что еще нужно?...Вопрос № 101147: Не выполняется автообмен УРБД при запуске из пакетного файла, хоть
и пишет в лог, что автообмен завершён. Руками - все работает. В чем может быть проблема? ... может кто сталкивался?...
Вопрос № 101.024
Здраствуйте, уважаемые эксперты
У нас в корпорации несколько компаний, для расчета ЗП каждой используется свой ЗиК 1С77, очень долго бухгалтеры заводили Виды Расчетов и в итоге они все разные. Я пытаюсь привести их к общему виду, но по многим "предопределенным" видам расчетов уже были расчеты и менять их сейчас крацйне опасно, скажите пожалуйста, как можно повторно переопределить "предопределенные" виды расчетов, так чтобы сохранидлись старые и появидись новые в большинстве схожие со старыми?
Заранее благодарю
Отправлен: 06.09.2007, 08:58
Вопрос задал: Opex (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Маргарита
Здравствуйте, Opex!
Немного непонятен вопрос, что Вы хотите добиться? То есть Вы хотите чтобы в справочнике "Виды расчета" остались старые элементы, и появились новые с одинаковым реквизитом "Вид расчета", но с разными другими реквизитами? Это скорее всего невозможно. Если Вас интересует добавить новые предопределенные виды расчета, при этом сохранив старые, то просто пишем или находим обработку синхронизации справочников, берем одну базу за основу, а остальные синхронизируем с ней.
Ответ отправила: Маргарита (статус: 1-ый класс)
Ответ отправлен: 06.09.2007, 09:41 Оценка за ответ: 3 Комментарий оценки: Да, я хочу чтобы остались старые предопределенные виды расчета и чтобы я мог завести новые предопределенные расчеты, с основой вида расчета - такой же как и у старых, ибо если я буду править старые расчеты, по которым уже проводились начисления я могу потерять часть данных при пересчете
Отвечает: Полозов Олег aka Asher
Здравствуйте, Opex!
При замене видов расчетов вы потеряете данные только текущего расчетного периода и то, не данные, а просто результаты расчетов могут измениться при пересчете, расчеты предыдущих периодов не изменятся,потому что они закрыты для редактирования. их можно править только сторнированием на текущем периоде. И если как вы считаете, новые виды расчета считают правильно, расчетчику останется просто сделать общий расчет заработной платы, по новым правилам.
Если вы введете новые предопределенные виды расчетов, то во-первых, вам придется переколбасить всю конфу под них, т.е. во всех документах где есть привязка к старым видам расчетов, надо будет сделать привязку к новым. Это практически все документы по начислению. Во-вторых, расчетчику в свою очередь надо будет расчитать заработную плату заново, чтобы документы ссылались на новые виды расчета. Опять же при исправлении или сторнировании результат не управляем, что получится не понятно. Вам оно надо?
Итог: Заменяйте предопределенные виды расчетов. Стандартизируйте их. т.е сделайте так, чтобы они были одинаковыми во всех базах.
Ответ отправил: Полозов Олег aka Asher (статус: 9-ый класс)
Ответ отправлен: 06.09.2007, 10:22 Оценка за ответ: 5 Комментарий оценки: спасибо, знгачит я могу смело менять адрибуты расчетов не опасаясь что могут изменить цифры предыдущих периодов
Отвечает: Ромашов Евгений Николаевич
Здравствуйте, Opex!
можно попробывать взять мд файл базы наиболее приближенной к эталону и сделать объединение баз.
это если базы и метод расчета у одинаковых расчетов одинаковы, соответственно везде появятся новые виды расчетов и объединятся старые пометить на удаление все не нужные и запретить создавать новые. Новые заводить в эталоне а потом делать объединение.
как говорится танцы с бубнами и метод научного тыка однако
Ответ отправил: Ромашов Евгений Николаевич (статус: 3-ий класс)
Ответ отправлен: 06.09.2007, 11:03 Оценка за ответ: 4 Комментарий оценки: старые пометить на удаление нельзя- так как середина года и по некоторым уже делались расчеты, а еще в конце года полный отчет сдавать. а по поводу эталона примерно так же и делаю, спаисбо
Вопрос № 101.030
Здравствуйте!!
как в восьмерке указать период, за который выбираются данные запроса???
и второе: неужели всегда надо писать так для расчета и последующего вывода в таблицу???
Строчка.Параметры.клн = Выборка.клиент;
в семерке можно было просто указать выражение и оно автоматически расчитывалось. А здесь только так???
Приложение:
Отправлен: 06.09.2007, 09:49
Вопрос задал: BigHard (статус: Студент)
Всего ответов: 4 Мини-форум вопроса >>> (сообщений: 0)
Ответ отправил: Vlad Skorochod (статус: 7-ой класс)
Ответ отправлен: 06.09.2007, 10:13
Отвечает: Sim_tm
Здравствуйте, BigHard!
В дополнение к пердыдущему ответу
Когда будете устанавливать параметры делайте так
Запрос.УстановитьПараметр(Д1,НачалоДня(ДатаНач));
Запрос.УстановитьПараметр(Д1,КонецДня(ДатаКон));
По поводу второго вопроса не совсем понятно что Вы подразумеваете. сформулируйте его более конкретно ;)
Ответ отправил: Sim_tm (статус: 2-ой класс)
Ответ отправлен: 06.09.2007, 10:43
Отвечает: Sidorov A.
Здравствуйте, BigHard! Язык выбора в 1С8 максимально приближен с SQL, т.е. стандартный синтаксис ВЫБРАТЬ поля ИЗ таблица ГДЕ таблица.поле = условие. Лучше всего пользоваться конструктором запросов. Есть в конфигураторе, а также в "предприятии-обработки-консоль отчетов". Удачи.
Ответ отправил: Sidorov A. (статус: 1-ый класс)
Ответ отправлен: 06.09.2007, 11:14
Отвечает: Яна
Здравствуйте, BigHard!
По поводу второго вопроса. Да, связи между параметром и переменной по имени нет, в каждой области макета нужно заполнять параметры именно таким образом.
Ответ отправила: Яна (статус: Студент)
Ответ отправлен: 06.09.2007, 12:12
Вопрос № 101.047
Здравствуйте,
У меня такая проблема создать документ и заполнить из таблицы в формате excel (Конфигурация самодельная)
Вопрос
Как в 1с обратиться к определенной ячейке файла Excel(при помощи каких команд)?
Возможен ли такой вариант
пример
Спр = СоздатьОбъект("Справочник.Абонент");
Екс = СоздатьОбъект("Excel.Application");
Екс.Workbooks.Add(ИмяФайла);
Код = СокрЛП(Екс.Cells(16,3).Value); //Незнаю какие команды у Ecxel
СпрКод = Спр.АбонНомПУ;
Если Код = СпрКод Тогда
Абон = Спр.Наименование;
ТипПУ = Спр.АбонТипПУ;
НПУ = Спр.АбонНомПУ;
Иначе
Сообщить("Внимание есть новые абоненты!","!!!");
Заранее спасибо
Отправлен: 06.09.2007, 11:43
Вопрос задал: Diamondes (статус: Посетитель)
Всего ответов: 5 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Vovchai
Здравствуйте, Diamondes!
обЭксел = СоздатьОбъект("Excel.Application"); //создаем объект
НашФайл = обЭксел.Workbooks.Open(СокрЛП(ИмяФайла)); //Открываем файл
НашЛист = НашФайл.Sheets(1); //Устанавливаем нужный лист
Знач1 = НашЛист.Cells(1,1); // Считываем значение, здесь: из первой ячейки первой строки
//Если нужно считать несколько значений то организуем цикл
Для i = 1 По Знач1 Цикл
Знач = НашЛист.Cells(i,1).Value;
КонецЦикла;
ОбЭксел.WorkBooks.close();
ОбЭксел.Quit();
Ответ отправил: Vovchai (статус: 4-ый класс)
Ответ отправлен: 06.09.2007, 11:52 Оценка за ответ: 5 Комментарий оценки: Спасибо буду разбираться :-))
Отвечает: Сергей
Здравствуйте, Diamondes!
для обращения к ячейке в Excel используйте команду
ВходExcel.ActiveSheet.Cells(ТекущСтр,ТекущСтолб).Value
Например: Телефон = ВходExcel.ActiveSheet.Cells(ТекущСтр,5).Value;
Если нужен более подробный пример пишите, пришлю.
Ответ отправил: Сергей (статус: 10-ый класс)
Ответ отправлен: 06.09.2007, 11:58 Оценка за ответ: 5 Комментарий оценки: Спасибо
Отвечает: Elric
Здравствуйте, Diamondes!
Для работы с Excel, как и любым другим приложением MS Office, используются стандартные атрибуты и методы VBA. Назначение, свойства и структуру объектов можно посмотреть в справке Excel.
--------- В творчестве рождается истина
Ответ отправил: Elric (статус: Специалист)
Ответ отправлен: 06.09.2007, 12:45 Оценка за ответ: 4 Комментарий оценки: Не совсем то что хотелось но и натом спасибо
Отвечает: Шахрайчук Владимир Анатольевич
Здравствуйте, Diamondes!
Откройте Эксель, и начните запись макроса.
Сделайте какое-либо действие, которое должна будет сделать 1С (например, изменение ширины колонки, изменение значения ячейки, переход курсора между ячейками)
Прекратите запись макроса
Посмотрите на код получившегося макроса. Все эти комманды можно сделать через
Екс.
Ответ отправил: Шахрайчук Владимир Анатольевич (статус: Практикант)
Ответ отправлен: 06.09.2007, 13:40 Оценка за ответ: 4 Комментарий оценки: Спасибо
Доступ из 1С к Excel производится посредством OLE. Например, код
Попытка
Эксель = СоздатьОбъект("Excel.Application");
Исключение
Сообщить(ОписаниеОшибки() + " Программа Exсel не установлена на данном компьютере!");
Возврат;
КонецПопытки;
позволит нам получить доступ через переменную "Эксель" к запущенному приложению Excel. А далее уже можно получить доступ к книге (файлу), листу и ячейке с данными. Далее примеры кода.
Открытие книги (файла):
Книга = Эксель.WorkBooks.Open(ПутьКФайлу);
ПутьКФайлу - полный путь к файлу книги Excel.
Выбор листа книги для работы с ним:
Лист = Книга.WorkSheets(НомерЛиста);
или
Лист = Книга.WorkSheets(ИмяЛиста);
НомерЛиста - номер листа в книге, ИмяЛиста - имя листа в книге.
Получение значения ячейки листа:
Значение = Лист.Cells(НомерСтроки, НомерКолонки).Value;
НомерСтроки, НомерКолонки - номер строки и номер колонки, на пересечении которых находится ячейка.
Важно: не забывайте поле выполнения нужных действий добавлять код Эксель.Quit(); , иначе запущенный процесс останется незавершенным и будет занимать память и процессор компьютера.
Вывод данных в Excel.
Для вывода (выгрузки) данных в Excel необходимо либо открыть существующую книгу, либо создать новую, и выбрать рабочий лист для вывода данных. Открытие существующей книги описано выше, а для создания новой книги нужно использовать следующий код:
Попытка
Эксель = СоздатьОбъект("Excel.Application");
Исключение
Сообщить(ОписаниеОшибки() + " Программа Exсel не установлена на данном компьютере!");
Возврат;
КонецПопытки;
Книга = Эксель.WorkBooks.Add();
Так как при создании книги в Excel автоматически создаются листы (Сервис->Параметры->Общие->Листов в новой книге), то нужно лишь произвести выбор листа, с которым будет вестись работа:
Лист = Книга.WorkSheets(НомерЛиста);
либо добавить в книгу новый лист, если необходимо:
Лист = Книга.Sheets.Add();
Следующим шагом будет установка значения ячейки:
Лист.Cells(НомерСтроки, НомерКолонки).Value = Значение;
НомерСтроки, НомерКолонки - номер строки и номер колонки, на пересечении которых находится ячейка.
И в конце нужно произвести запись созданной книги:
Попытка
Книга.SaveAs(ПутьКФайлу);
Исключение
Сообщить(ОписаниеОшибки()+" Файл не сохранен!");
Возврат;
КонецПопытки;
ПутьКФайлу - полный путь к файлу книги Excel (включая имя).
Важно: не забывайте, что в имени файлов не должно содержаться символов / : * ? " > < |.
Часто используемые методы для чтения/установки значений в Excel.
Эксель = СоздатьОбъект("Excel.Application"); Получение доступа к приложению Excel.
Эксель.Visible = Видимость; 0 - Excel не виден, 1 - виден.
Книга = Эксель.WorkBooks.Add(); Создание новой книги (файла) Excel.
Книга.SaveAs(ИмяФайла); Сохранение книги Excel.
Лист = Книга.WorkSheets.Add(); Добавление нового листа в книгу.
Книга = Эксель.WorkBooks.Open(ИмяФайла); Открытие существующей книги (файла) Excel.
Лист = Книга.WorkSheets(НомерЛиста); Установка листа в качестве рабочего с номером НомерЛиста.
Лист.Name = ИмяЛиста; Задание рабочему листу имени ИмяЛиста
Лист.PageSetup.Zoom = Масштаб; Задание параметра страницы "Масштаб" (от 10 до 400).
Лист.PageSetup.Orientation = Ориентация; Ориентация: 1 - книжная, 2 - альбомная.
Лист.PageSetup.LeftMargin = Эксель.CentimetersToPoints(Сантиметры); Задание левой границы (в сантиметрах).
Лист.PageSetup.TopMargin = Эксель.CentimetersToPoints(Сантиметры); Задание верхней границы (в сантиметрах).
Лист.PageSetup.RightMargin = Эксель.CentimetersToPoints(Сантиметры); Задание правой границы (в сантиметрах).
Лист.PageSetup.BottomMargin = Эксель.CentimetersToPoints(Сантиметры); Задание нижней границы (в сантиметрах).
Лист.Columns(НомерКолонки).ColumnWidth = Ширина; Задание ширины колонке.
Лист.Cells(НомерСтроки, НомерКолонки).Value = Значение; Ввод данных в ячейку.
Лист.Cells(НомерСтроки,НомерКолонки).Font.Name = ИмяШрифта; Установка шрифта в ячейке.
Лист.Cells(НомерСтроки,НомерКолонки).Font.Size = РазмерШрифта; Установка размера шрифта в ячейке.
Лист.Cells(НомерСтроки,НомерКолонки).Font.Bold = Жирный; 1 - жирный шрифт, 0 - нормальный.
Лист.Cells(НомерСтроки,НомерКолонки).Font.Italic = Курсив; 1 - наклонный шрифт, 0 - нормальный.
Лист.Cells(НомерСтроки,НомерКолонки).Font.Underline = Подчеркнутый; 2 - подчеркнутый, 1 - нет.
Лист.Cells(НомерСтроки, НомерКолонки).NumberFormat = Формат; Установка формата данных ячейки.
Лист.Cells(НомерСтроки,НомерКолонки).Borders.Linestyle="ТипЛинии;" Установка рамок ячейки. 1 - тонкая сплошная
Ответ отправил: Dmitry Stashenko (статус: 9-ый класс)
Ответ отправлен: 06.09.2007, 14:42 Оценка за ответ: 5 Комментарий оценки: Спасибо за полный ответ
Вопрос № 101.055
УПП 8.0
Подскажите пожайлуста почему сотрудники принятые по договору с физ. лицом не отображаются в расчетных листках организаций.
Как видеть по ним нач. сальдо , начислено, удержано, к выплате?
Отправлен: 06.09.2007, 12:51
Вопрос задал: Snik_666 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Ромашов Евгений Николаевич
Здравствуйте, Snik_666!
должно отображать если есть начисление, попробуй ведомость вывести если там есть значит надо отладчиком расчетный листок посмотреть
Здравствуйте!
Испльзуется 1С Предприятие Торговля+Склад редакция 9.2
У нас установлено
1. Метод расчета себестоимости ТМЦ - FIFO
Что это означает, если можно, то в подробностях и как новичку!
2. Что такое партия товаров?
При проведении инвентаризации и списании товаров, вышло сообщение: При проведении партий ТМЦ по Списание ТМЦ АА00001108 (05.09.07) от 05.09.07 по ТМЦ СИГАРЕТЫ ПРИМА С ФИЛЬТРОМ ЧТФ не распределилось по партиям 40 шт
Отправлен: 06.09.2007, 13:12
Вопрос задал: _Alexey_ (статус: Посетитель)
Всего ответов: 4 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Elric
Здравствуйте, _Alexey_!
1. FIFO - это метод списания себестоимости товаров по принципу "первый пришел - первый ушел" (Fist In Fist Out).
Товары, пришедшие на склад (или куда-либо еще) по одной накладной, считаются товарами, принадлежащими одной партии. В разных партиях может быть разная себестоимость товаров (сначала покупали по одной цене, потом по другой и т.д.). Метод FIFO подразумевает, что вся информация о приходах хранится в разрезе партий, и когда нам нужно списать N единиц товара, то сначала списывается товар, пришедший в первой партии, потом во второй и т.д. Именно в таком порядке: кто первым пришел, тот первым и уйдет.
Вообще это вопрос скорее к бухгалтеру, чем к программисту :)
2. У Вас скорее всего на складе меньше товаров, чем Вы пытаетесь списать, поэтому выдается такое сообщение.
--------- В творчестве рождается истина
Ответ отправил: Elric (статус: Специалист)
Ответ отправлен: 06.09.2007, 13:30 Оценка за ответ: 5
Отвечает: Краюшкин Игорь Валерьевич
Здравствуйте, _Alexey_!
1) Метод расчета FIFO (First In - First Out) означает "Первый пришел - Первый ушел"
То есть, если у Вас было несколько поступлений одного и того же товара (например: 01.09.07, 02.09.07 и 03.09.07), то при реализации первым будет списываться товар, который пришел раньше всех (это товар поступивший 01.09.07), далее будет списываться товар от 02.09.07, а потом товар от 03.09.07.
2) Как раз на такие поступления (разными документами) записываются партии для учета количества товара и характеристик этого товара.
А то, что у Вас не распределилось по партиям означает, что программа не имеет того количества товара ни по одной партии. То есть его у Вас на момент проведения документа нет на остатке.
Могу посоветовать сделать отчет "Ведомость по партиям" по данным сигаретам и посмотреть все движения товара.
Ответ отправил: Краюшкин Игорь Валерьевич (статус: 10-ый класс)
Ответ отправлен: 06.09.2007, 13:33 Оценка за ответ: 5
ФИФО - это метод расчета себестоимости, который базируется на принципе "первый пришел - первый ушел" от англ. First Ii First Out. Это означает,что первым спишется себестоимость того товара, который пришел раньше. Есть еще LIFO (Last In First Out - последний пришел, первый ушел)
Партия - это собственно и есть себестоимость. Партия создается приходной накладной. Например, есть есть две приходные накладные ПН1 от 01.09.07 и ПН2 от 02.09.07, в которых оприходована ПРИМА 200 шт. по цене 2 у.е. и 300 шт. по цене 2.1 у.е. Соответственно, есть две партии ПН1 с учетной ценой 2 у.е. и ПН2 с учетной ценой 2.1. Когда в Расходной накладной мы продаем ПРИМУ 350 штук по цене 3 у.е., то получится:
при методе ФИФО - спишется 200 шт. по цене 2 у.е и 150 шт. по цене 2.1. (т.е. на себестоимость ляжет 200*2+150*2.1=715, прибыль будет 3*350-715=335 у.е.)
При методе ЛИФО - 300 шт. по цене 2.1. и 50 шт. по цене 2 у.е. (т.е. на себестоимость ляжет 300*2.1+50*2=730, и прибыль будет 3*350-730=320 у.е.)
Надеюсь, в подробностях и как новичку
Ответ отправил: Dmitry Stashenko (статус: 9-ый класс)
Ответ отправлен: 06.09.2007, 14:57 Оценка за ответ: 5
Отвечает: Ромашов Евгений Николаевич
Здравствуйте, _Alexey_!
партия это документ которым введен товар.
FIFO - означает списание по партиям, когда документы сортируются по порядку поступления и списываются также, LIFO соответственно наоборот сначала списываются от конца к началу.
а когда так пишет означает что по регистру остаткитоваров остаток есть а по партиям нет надо остатки в движениях посмотреть и партии тоже по товару за один период и сразу все увидишь
Ответ отправил: Ромашов Евгений Николаевич (статус: 3-ий класс)
Ответ отправлен: 07.09.2007, 06:16 Оценка за ответ: 5
Вопрос № 101.067
Здравствуйте!!!
Приведенный код дает ошибку если не закоментирована строка |Сумма (Сумма) как всего
если закоментирована, то все в порядке, причем отладчик говорит, что не найдены поля, начиная с верхнего, т.е. номер, дата, и так далее. Проблема в этой строке, а что не так, не пойму. Реквизит сумма в документе есть
Приложение:
Отправлен: 06.09.2007, 13:22
Вопрос задал: BigHard (статус: Студент)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Vovchai
Здравствуйте, BigHard!
может стоит сделать так?
запр.Текст="
|ВЫБРАТЬ
|ПриемВГостиницу.Номер КАК Номер,
|ПриемВГостиницу.Дата КАК Дата,
...
...
|СУММА(ПриемВГостиницу.Сумма) КАК СуммаДокумента
|ИЗ
|Документ.ПриемВГостиницу КАК ПриемВГостиницу
Ответ отправил: Vovchai (статус: 4-ый класс)
Ответ отправлен: 06.09.2007, 13:38 Оценка за ответ: 4 Комментарий оценки: Не могу сказать, что ваш ответ неправилен, во всех книгах также, не знаю что делать, дает ошибку и все тут,если ставишь сумму, то не работает номер, дата и прочее, убираешь их, все, сумма прекрасно работает
Отвечает: Яна
Здравствуйте, BigHard!
Для того, чтобы работали агрегатные функции нужно, чтобы в запросе были группировки. Список полей, для каждого уникального набора которых будет посчитана сумма. Рекомендую делать запросы конструктором запросов - это намного быстрее и качественней.
Удалите агрегатную функцию в запросе (она там не нужна) - обязательно заработает.
Код должен выглядеть приблизительно так:
запр.Текст=" Выбрать
|номер как номер,
|Дата как Дата,
|Клиент как Клиент,
|Выбномер как Выбномер,
|Сумма как всего
|ИЗ Документ.ПриемВГостиницу КАК ПриемВГостиницу
|Где ПриемВГостиницу.Дата между &дата1 и &Дата2
|и ПриемВГостиницу.проведен=истина
|Упорядочить по номер";
Если результат выполнения запроса окажется неожиданным для Вас и Вы захотите что-то изменить в нем - сформулируйте задачу конкретнее.
Ответ отправила: Яна (статус: Студент)
Ответ отправлен: 06.09.2007, 14:48
Отвечает: Ромашов Евгений Николаевич
Здравствуйте, BigHard!
Эдравствуйте!!!
Хочу спросить вашего совета: А стоит ли в восьмерке изучать запросы, в семерке я прекрасно обходился и без них, мог сделать что угодно без использования запросов с компонентой бухучет. Мне кажется, что раз в восьмерке все перевели на регистры, то без запросов не обойтись или я не прав? Так нужны или можно обойтись??? Жду ваших ответов.
Отправлен: 06.09.2007, 15:47
Вопрос задал: BigHard (статус: Студент)
Всего ответов: 4 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Sim_tm
Здравствуйте, BigHard!
Безусловно стоит. причем очень внимательно и глубоко.
в принципе восьмерка оптимизирована под использование запросов, и язык запросов практически соответствует стандартному SQL.
С помощью запроса можно вытянуть практически любую информацию из любой таблицы БД. Так что...
Ответ отправил: Sim_tm (статус: 2-ой класс)
Ответ отправлен: 06.09.2007, 15:57 Оценка за ответ: 5 Комментарий оценки: Ну что ж, придется учить запросы...
Отвечает: Яна
Здравствуйте, BigHard!
Запросы - это то, с чего нужно начинать при изучении 8.0. Без них там - никуда. В 8.0 все построено на запросах.
Ответ отправила: Яна (статус: Студент)
Ответ отправлен: 06.09.2007, 16:00 Оценка за ответ: 5 Комментарий оценки: Ну что ж, придется учить запросы...
Отвечает: Владимир (1С)
Здравствуйте, BigHard!
В дополнение к ответам уважаемых экспертов.
Цель языка программирования сказать системе _как_ выполнять задание, а цель языка запросов, объяснить системе, _какой_результат_вы_ждёте_. Т.е. система выдаёт готовый ответ.
Например, нужно выбрать из справочника всех сотрудников, у которых оклад больше 10000 руб.
1-й вариант. Используя язык программирования :
Выборка = Справочники.Сотрудники.Выбрать();
Пока Выборка.Следующий() Цикл
....Если Выборка.Оклад > 10000 Тогда
.......Сообщить(Выборка.Наименование + " имеет отклад " + Выборка.Оклад);
....КонецЕсли;
КонецЦикла;
2-й вариант. Используя механизм запросов:
Запрос = Новый Запрос ("
|ВЫБРАТЬ * ИЗ Справочник.Сотрудники
|ГДЕ Оклад > 10000");
Выборка = ЗапросюВыполнить().Выбрать();
Пока Выборка.Следующий() Цикл
....Сообщить(Выборка.Наименование + " имеет отклад " + Выборка.Оклад);
КонецЦикла;
Во втором варианте внутри цикла не нужно фльтровать записи, поскольку запрос выполнил всю работу зв Вас. В любом случае и в серверном и в файловом варианте запрос выполняется быстрее.
Но при использовании запроса, результат целиком помещается в память, тогда как выборка, сформированная средствами встроенного языка, загружает информацию порциями и позволяет перебирать большие объемы информации, не требуя значительного объема памяти. При этом нагружается сетевой трафик, что влияет на скорость.
Также с помощью запросов можно группировать, стортировать, подсчитывать итоги, отбирать по любому условию, объединять данные из различных запросов.
Как заметила Яна, без запросов в восьмёрке никуда.
Ответ отправил: Владимир (1С) (статус: 2-ой класс)
Ответ отправлен: 06.09.2007, 19:03
Отвечает: Ромашов Евгений Николаевич
Здравствуйте, BigHard!
однозначно стоит а для убеждения открой конфигуратор и посмотри практически везде запросы используются
Как программно сравнить полученные реквизиты из файла и имеющиеся в справочнике и при совпадении заполнить документ по имеющимся реквизитам справочника?
Отправлен: 06.09.2007, 21:51
Вопрос задал: Diamondes (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Владимир (1С)
Здравствуйте, Diamondes!
У меня в глобольном модуле есть две процедуры, которые как раз отвечают на Ваш вопрос (в приложении). Одна выгружает документ в текстовый файл, а другая загружает. В папке с базой попдпапка "сохранённые", куда и идёт выгрузка. Просто иногда бывает по сети, при записи выскакивает сообщение "произошла ошибка захвата таблицы..." и становятся пустыми все реквизиты шапки. На форме всех документов я повесил кнопочки Выгрузить и Загрузить, которые связал с этими процедурами.
Именно сравнение и поиск в базе данных делает процедура глНайтиЭлемент()
Успехов!
Приложение:
Ответ отправил: Владимир (1С) (статус: 2-ой класс)
Ответ отправлен: 06.09.2007, 23:36 Оценка за ответ: 5 Комментарий оценки: Большое спасибо именно точто нужно поэтому 5 Я кстати еще один способ нашел НайтиПоРеквизиту.
Вопрос № 101.142
Уважаемые эксперты, подскажите что делать. У меня база рарус автотранспорт, забил справочники, контрагенты, номенклатуру, но путевки не проводятся, что еще нужно?
Отвечает: nimoid
Здравствуйте, Федоров Вячеслав Викторович!
А что пишет при попытке проведения?
Еще нужно забить справочник автомобили, водители, горючее.. ввести остатки и нормы расхода горючего на автомобилях.
--------- Пишем баги на любые патчи :-]
Ответ отправил: nimoid (статус: 9-ый класс)
Ответ отправлен: 07.09.2007, 09:10
Отвечает: Ромашов Евгений Николаевич
Здравствуйте, Федоров Вячеслав Викторович!
Не выполняется автообмен УРБД при запуске из пакетного файла, хоть и пишет в лог, что автообмен завершён. Руками - все работает. В чем может быть проблема? ... может кто сталкивался?
Отвечает: DERL.KG
Здравствуйте, Солютенко Михаил!
Ответ перенесен в мини-форум, т.к. состоит из уточняющего вопроса. = Error00= (Профессионал)
Ответ отправил: DERL.KG (статус: 5-ый класс)
Ответ отправлен: 07.09.2007, 08:29 Оценка за ответ: 2 Комментарий оценки: Сказано же, в логе написано, что процедура автообмена выполняется, значит этот лог, как минимум, где то прописан! Батник здесь не причем, просто были пропущены операторы в пакетнике (ReadFrom; WriteTo).