AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.02.2023, 17:47   #1  
mira is offline
mira
Участник
Аватар для mira
 
140 / 25 (1) +++
Регистрация: 18.03.2007
Адрес: Москва
Хранимка, INSERT INTO ..SELECT (с GROUP by!!!), значение Line No
Всем добрый день!

1.Выгрузка для маркетплейса из выделенных в списке перемещений. Заказчик хочет группировку товаров по артикулу+цвету.
Данные беру хранимкой и пишу в таблицу, в которой первичный ключ Document Type,Document No.,Line No_.
Не могу корректно определить Line No_ в строке.

Вот так ругается при выгрузке
Violation of PRIMARY KEY constraint 'ххх$Export Documents$0'. Cannot insert duplicate key in object 'dbo.ххх$Export Documents'.

2.Сделала вот такую фн:
USE [ххх]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <ххх>
-- Create date: <2023-01-26, ,>
-- Description: <нужна в хп [dbo].[rnd_export22y_transfer_group], где строки перемещ групп по артик товара+цвет и запись в т 50124 с ключом ... Строка Но>
-- #SC-хх 2023-01-16 Выгрузка
-- =============================================
ALTER FUNCTION [dbo].[GetLineNo]
(
@LastLineNo int
)
RETURNS int
AS
BEGIN
RETURN (@LastLineNo + 10000)
END


в хп
SET @line = 10000

Дальше надо как-то @line впихнуть в конструкцию

INSERT INTO [ххх].[dbo].[ххх$Export Documents]
([Document Type]
,[Document No_]
......
SELECT @Type --(<Document Type, int,>
,@docGroup --docNo--<Document No_, varchar(30),>
,1--<State, int,>
,sl.[Shipment Date]--<DateTime, datetime,>
,sl.[Document No_]--<Vender, varchar(100),>
..........
Что-то типа , @line = (select [dbo].[GetLineNo] (@line) )
чтобы и @line увеличилось, и в новую запись пошло увеличенное значение.

Не получается использовать фн [dbo].[GetLineNo] ! (((((

3. Я извернулась вот так:

, (SELECT top 1 FLOOR(RAND(ART2.[Qty])*(ART2.[Line No_]))+ FLOOR(RAND(ART2.[Line No_])*(ART2.[Qty]))) [Line No]

ART2.[Line No_] при группировке сумм по всем лайнам)))
а ART2.[Qty] - по всем количествам в строках

Пока работает.

Может, кто-то решал подобную задачу, и может поделиться опытом?

Спасибо!

Последний раз редактировалось mira; 01.02.2023 в 17:54.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
msdn.microsoft.com/nav: Bring Dynamics 365 into the flow of work with Teams—at no additional cost Blog bot NAV: Blogs 0 14.07.2021 18:12
Navigate Into Success: Resident control add-ins – no SingleInstance Blog bot NAV: Blogs 0 08.02.2021 16:11
Navigate Into Success: When you just must COUNT, no matter what Blog bot NAV: Blogs 0 09.03.2017 11:11
Kine’s info: Copy Microsoft Dynamics NAV company by SQL script into another database v2 Blog bot NAV: Blogs 0 15.05.2016 17:11
Где заполняется "Sales Invoice Line"."CD No." ? Control NAV: Программирование 9 16.09.2008 10:44

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 06:41.