8.х Запрос на добавление данных в Справочник

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем login-l, 18 ноя 2010.

  1. TopicStarter Overlay
    login-l
    Offline

    login-l

    Регистрация:
    24 мар 2009
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    у меня УТ 10.3.
    создал Справочник - "СтатистикаПродаж"

    в конце дня требуется собирать статистику и добавлять её в Cправочник
    как запросом добавить данные в него

    т.е. некоторые значения нужно в параметрах предать в запрос на добавление
    делаю так

    Код:
    ЗапросВставка.УстановитьПараметр("Дата", НачалоДня(Дата));
    ЗапросВставка.УстановитьПараметр("КолВо", Обход.КолВо); 
    ЗапросВставка.УстановитьПараметр("Ответственный", Обход.Ответственный); 		
    ЗапросВставка.УстановитьПараметр("Сумма", Обход.СуммаДокумента); 				
    ЗапросВставка.Текст ="
    |INSERT INTO Справочник.СтатистикаПродаж
    |(Дата,
    |КолВо,
    |Ответственный,
    |Сумма)				
    |VALUES(&ОбходДата,&ОбходКолВо,&ОбходОтветственный,&ОбходСумма)
    |";  				
    
    РезультатЗапроса = ЗапросВставка.Выполнить();
    
    получаю ошибку
    Код:
    Ошибка при вызове метода контекста (Выполнть):  {(2,1)} Ожидается "Выбрать" <<?>>Insert INTO Справочник.СтатистикаПродаж
    
  2. poiuy
    Offline

    poiuy Опытный в 1С

    Регистрация:
    12 окт 2010
    Сообщения:
    170
    Симпатии:
    0
    Баллы:
    26
    Афигеть, дайте две ....... запрос в 1с это вам не сиквельный
  3. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Как уже сказали у запросов в 1С - свой язык + запросом в 1С вы ничего не вставите.

    Кроме того, сомневаюсь что вам нужен справочник (если вы собираетесь каждый день туда что-то вставлять). Вероятнее лучше подойдет периодический регистр сведений, или возможно регистр накопления (поскольку вижу слово "сумма").

    Рассказывайте вашу задачу.
  4. TopicStarter Overlay
    login-l
    Offline

    login-l

    Регистрация:
    24 мар 2009
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    хорошо, задача:
    нужно накапливать статистику продаж на момент закрытия смены
    дата - ответственный(т.е. продавец) - сумма

    т.е. делается отчёт розничных продаж, и все чекиККМ безвозвратно сворачиваются в этот отчёт
    иформация о том, кто, на какую сумму продал
    теряется

    хотел вставить кусочек кода в обработку закрытия смены
    и до закрытия, запросом, нужную статистику сохранять в созднном для этого справочнике
  5. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    shurikvz прав, не нужен вам справочник, нужен регистр накопления.
  6. TopicStarter Overlay
    login-l
    Offline

    login-l

    Регистрация:
    24 мар 2009
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    покажите пожалуйсто на примере
    как это сделать
  7. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Регистр накопления в данном случае не пойдет. Регистратором для него какой документ будет?

    Опыта по рознице у меня мало. Может кто подскажет, есть ли возможность реализовать ваше желание типовыми средствами. Если нет, то более оптимальным мне кажется не заводить какие-то новые метаданные, а покопаться, внести изменения в обработку закрытия смены, с тем чтобы формировался не один документ, а несколько (так, чтобы чеки группировались по ответственным, ну и в соответствующее поле документа "Отчет о розничных продажах" - подставлялся нужный ответственный).
  8. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Вариантов куча:
    1. Предложенный выше с группировкой отчетов.
    2. Сохранение чеков после закрытия и просто отмена их проведения.
    3. Создайте регистр сведений с измерениями как вы указали и пишите в него при закрытии смены.
    4. Перейдите на УТ 11, там чеки сохраняются.
    5. Используйте 1С:Розница, там это уже все есть и так.
  9. TopicStarter Overlay
    login-l
    Offline

    login-l

    Регистрация:
    24 мар 2009
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    думаю вариант создания регистра сведений с измерениями подходит

    как это сделать, дайте пример пожалуйсто
    (никогда не делал подобного)
  10. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Регистр с измерениями? Я б конечно остановился на своем варианте (поскольку обработку и так менять, а для чего при этом еще дополнительные регистры заводить писать под них отчеты, когда при реализации варианта с разбивкой на несколько документов - все можно достать из стандартных). Ну да ладно: хозяин-барин.
    Заводите регистр сведений, назовем его скажем "СтатистикаПродаж". Периодичность - в пределах дня.
    Добавляем измерение "Ответственный", тип СправочникСсылка.Пользователи, добавляем ресурсы "Количество" и "Сумма" (кстати "количество" - не знаю что у вас такое). Тип число 15.2.

    Пример записи в регистр:
    Код:
    НаборЗаписей = РегистрыСведений.СтатистикаПродаж.СоздатьНаборЗаписей();
    
    НаборЗаписей.Отбор.Ответственный.Установить(МойОтветственный);
    НаборЗаписей.Отбор.Период.Установить(МояДата);
    
    НовЗапись = НаборЗаписей.Добавить();
    
    НовЗапись.Ответственный 	= МойОтветственный;
    НовЗапись.Период 	= МояДата;
    НовЗапись.Количество	= МоеКоличество;
    НовЗапись.Сумма		= МояСумма;
    
    НаборЗаписей.Записать(Истина);
    
    Вкратце - как-то так.
  11. TopicStarter Overlay
    login-l
    Offline

    login-l

    Регистрация:
    24 мар 2009
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    сделал, спасибо, то что нужно
    НО
    записи не добавляются, а затирают старые
    пробовал убрать переодичность по дням - не помогло
    что не так?
  12. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.949
    Симпатии:
    149
    Баллы:
    104
    Попробуйте вот здесь:
    Код:
    НаборЗаписей.Записать(Истина);
    
    поменять "Истину" на "Ложь".

Поделиться этой страницей