Это не ПУб, это бухгалтерия на которую дописали торговлю... Наверно ничего так не выйдет...
Но такой вопрос, если отбирать по регистру документы по признаку то получается, что по этой выборке начальное сальдо я не получу никак? То есть сальдо документов с этим признаком на нужную дату...?
Нууу, незнаю, возможно имеется ввиду, что человек должен знать что такое комиссионная продажа... Вот ссылка http://www.dtkt.com.ua/show/4cid1292.html тут расписано все про комиссионную продажу, правда, для бухгалтерии...
Хм, без условий работает..... Я так понимаю, условия теперь вручную перебирать?
Просто дело в том, что мне позарез нужно условие |Условие(Докум.ВидУчета=Перечисление.ВидыУчета.Торговля); И мне нужно начальное сальдо....
Или, может, кто нибудь подскажет как в комплексной конфигурации получить сальдо на дату, если: - документы проводятся по бухгалтерии(счета) по торговле(регистры) и совместный (счета+регистры)
Получается сумма совместных документов попадает и в регистры и в счета...
Тут все дело в том, что это комиссионная продажа. В данном случае Вы продаете то, чего у Вас как бы еще нет. А в конце месяца, будет сформирована приходная накладная за первое число и перемещение товара в отдел. Вроде так. Вам нужно почитать правила комиссионной продажи, там есть свои нюансы.
Далее следовал второой вопрос по другому запросу, на который дали ответ. Или мне на каждую проблему с запросом создавать отдельную тему? (учитывая, что проблема может быть на 1 ответ...)
Если ВыбФирма.Выбран()=1 Тогда ТекстЗап=ТекстЗап+" |Условие (Фирма = ВыбФирма); |"//}}ЗАПРОС ; КонецЕсли; Если ВыбТовар.Выбран()=1 Тогда ТекстЗап=ТекстЗап+" |Условие (Товар.ПринадлежитГруппе(ВыбТовар)=1); |"//}}ЗАПРОС ; КонецЕсли;
// Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли;
Выдает все документы вне зависимости от выбранной фирмы и группы товаров...
З.Ы. Есть ли толковая книга по тонкостям запросов?
Задание вроде бы проще некуда, выбрать документы по регистрам за определенный период...
У меня получается код:
Процедура ТекстЗапроса() Перем Запрос, ТекстЗапроса, Таб; //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(ТекстЗапроса) |Период с ВыбНачПериода по ВыбКонПериода; |Докум = Регистр.Касса.Чек; |Сумма = Регистр.Касса.Сумма; |Фирма = Регистр.Касса.Чек.Предприятие; |Функция СуммаНачОст = НачОст(Сумма); |Функция СуммаКонОст = КонОст(Сумма); |Группировка Докум; |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли;
// Подготовка к заполнению выходных форм данными запроса Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("ТекстЗапроса"); // Заполнение полей "Заголовок" Таб.ВывестиСекцию("Заголовок"); Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); Пока Запрос.Группировка(1) = 1 Цикл // Заполнение полей Докум Таб.ВывестиСекцию("Докум"); КонецЦикла; // Заполнение полей "Итого" Таб.ВывестиСекцию("Итого"); // Вывод заполненной формы Таб.ТолькоПросмотр(1); Таб.Показать("ТекстЗапроса", ""); КонецПроцедуры
Документы выбирает... Но за весь период существования базы, а не за указанный период... Конфигурация не стандартная... Но не могли же авторы поменять суть запросов... Или могли? Помогите пожалуйста, подскажите в чем ошибка... Спасибо.
Если Режим1 ="Day" Тогда ИмяГруппировки="День"; ИначеЕсли Режим1 ="Week" Тогда ИмяГруппировки="Неделя"; ИначеЕсли Режим1 ="Month" Тогда ИмяГруппировки="Месяц"; ИначеЕсли Режим1 ="Qw" Тогда ИмяГруппировки="Квартал"; ИначеЕсли Режим1 ="Year" Тогда ИмяГруппировки="Год"; КонецЕсли;
Если Режим1<>"Всего" Тогда ТекстЗап = ТекстЗап + "Группировка "+ИмяГруппировки+" Все;"; КонецЕсли;
ТекстЗап = ТекстЗап + "Группировка Документ;";
Если ВыбТовар.Выбран() = 0 Тогда Заг1 = Заг1 + "По всей номенклатуре. "; ИначеЕсли ВыбТовар.ЭтоГруппа() = 1 Тогда Заг1 = Заг1 + "По номенклатуре группы " + ВыбТовар.Наименование+". "; ТекстЗап = ТекстЗап + "Условие (ТОВАР.ПринадлежитГруппе(ВыбТовар) = 1);"; Иначе Заг1 = Заг1 + "По номенклатуре " + ВыбТовар.Наименование+". "; ТекстЗап = ТекстЗап + "Условие (ТОВАР = ВыбТовар);"; КонецЕсли;
// Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗап) = 0 Тогда Возврат; КонецЕсли;
И №2
ЗапросД = СоздатьОбъект("Запрос"); ТекстЗап = "Период с ДатаНачала"; Если ДатаКонца>=ПолучитьДатуТА() Тогда ДатаКонца = ПолучитьДатуТА(); ДатаКон=ДатаКонца; ТекстЗап= ТекстЗап+";"; Иначе ТекстЗап= ТекстЗап+" по ДатаКонца;"; КонецЕсли; ТекстЗап = ТекстЗап + "//{{ЗАПРОС(ПродВсегоСклад) |Товар=Регистр.ОстаткиТоваров.Товар; |Док=Регистр.ОстаткиТоваров.ТекущийДокумент; |Фирма = Регистр.ОстаткиТоваров.Предприятие; |Кол=Регистр.ОстаткиТоваров.Количество; |БазСто=Регистр.ОстаткиТоваров.СуммаСНДСЗак; |Группировка Товар; |Группировка Док; |Функция ПрихКол= Приход(Кол); |Функция РасхКол= Расход(Кол); |Функция ПрихСто= Приход(БазСто); |Функция РасхСто= Расход(БазСто); |Условие(Фирма = выбФирма); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если ЗапросД.Выполнить(ТекстЗап)=0 Тогда Возврат; КонецЕсли;
Но как я не пробовала условие по фирме не работает... Все равно возвращает по всем фирмам.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!